Professional Documents
Culture Documents
WebScript ReplayLog
WebScript ReplayLog
Login.c(90): |\n
Login.c(90): * | host | The host and port (if the port is non-
default) of the normalizedUrl
Login.c(90): |\n
Login.c(90): * | search | The search params, minus the question mark
Login.c(90): |\n
Login.c(90): * | hash | The hash string, minus the hash symbol\n
Login.c(90): * | hostname | The hostname\n
Login.c(90): * | port | The port, without ":"\n
Login.c(90): * | pathname | The pathname, beginning with "/"\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function urlResolve(url, base) {\n
Login.c(90): var href = url;\n
Login.c(90): \n
Login.c(90): if (msie) {\n
Login.c(90): // Normalize before parse. Refer Implementation Notes on why
this is\n
Login.c(90): // done in two steps on IE.\n
Login.c(90): urlParsingNode.setAttribute("href", href);\n
Login.c(90): href = urlParsingNode.href;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): urlParsingNode.setAttribute('href', href);\n
Login.c(90): \n
Login.c(90): // urlParsingNode provides the UrlUtils interface -
http://url.spec.whatwg.org/#urlutils
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): href: urlParsingNode.href,\n
Login.c(90): protocol: urlParsingNode.protocol ?
urlParsingNode.protocol.replace(/:$/, '') : '',\n
Login.c(90): host: urlParsingNode.host,\n
Login.c(90): search: urlParsingNode.search ?
urlParsingNode.search.replace(/^\\?/, '') : '',\n
Login.c(90): hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/,
'') : '',\n
Login.c(90): hostname: urlParsingNode.hostname,\n
Login.c(90): port: urlParsingNode.port,\n
Login.c(90): pathname: (urlParsingNode.pathname.charAt(0) === '/')\n
Login.c(90): ? urlParsingNode.pathname\n
Login.c(90): : '/' + urlParsingNode.pathname\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Parse a request URL and determine whether this is a same-origin
request as the applicat
Login.c(90): ion document.\n
Login.c(90): *\n
Login.c(90): * @param {string|object} requestUrl The url of the request as a
string that will be resol
Login.c(90): ved\n
Login.c(90): * or a parsed URL object.\n
Login.c(90): * @returns {boolean} Whether the request is for the same origin
as the application docume
Login.c(90): nt.\n
Login.c(90): */\n
Login.c(90): function urlIsSameOrigin(requestUrl) {\n
Login.c(90): var parsed = (isString(requestUrl)) ? urlResolve(requestUrl) :
requestUrl;\n
Login.c(90): return (parsed.protocol === originUrl.protocol &&\n
Login.c(90): parsed.host === originUrl.host);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $window\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A reference to the browser's `window` object. While `window`\n
Login.c(90): * is globally available in JavaScript, it causes testability
problems, because\n
Login.c(90): * it is a global variable. In angular we always refer to it
through the\n
Login.c(90): * `$window` service, so it may be overridden, removed or mocked
for testing.\n
Login.c(90): *\n
Login.c(90): * Expressions, like the one defined for the `ngClick` directive
in the example\n
Login.c(90): * below, are evaluated with respect to the current scope.
Therefore, there is\n
Login.c(90): * no risk of inadvertently coding in a dependency on a global
value in such an\n
Login.c(90): * expression.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="windowExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('windowExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', '$window',
function ($scope, $windo
Login.c(90): w) {\n
Login.c(90): $scope.greeting = 'Hello, World!';\n
Login.c(90): $scope.doGreeting = function(greeting) {\n
Login.c(90): $window.alert(greeting);\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <input type="text" ng-model="greeting" />\n
Login.c(90): <button ng-click="doGreeting(greeting)">ALERT</button>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should display the greeting in the input box',
function() {\n
Login.c(90): element(by.model('greeting')).sendKeys('Hello, E2E
Tests');\n
Login.c(90): // If we click the button it will block the test runner\n
Login.c(90): // element(':button').click();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function $WindowProvider(){\n
Login.c(90): this.$get = valueFn(window);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* global currencyFilter: true,\n
Login.c(90): dateFilter: true,\n
Login.c(90): filterFilter: true,\n
Login.c(90): jsonFilter: true,\n
Login.c(90): limitToFilter: true,\n
Login.c(90): lowercaseFilter: true,\n
Login.c(90): numberFilter: true,\n
Login.c(90): orderByFilter: true,\n
Login.c(90): uppercaseFilter: true,\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $filterProvider\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Filters are just functions which transform input to an output.
However filters need to
Login.c(90): be\n
Login.c(90): * Dependency Injected. To achieve this a filter definition
consists of a factory function
Login.c(90): which is\n
Login.c(90): * annotated with dependencies and is responsible for creating a
filter function.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // Filter registration\n
Login.c(90): * function MyModule($provide, $filterProvider) {\n
Login.c(90): * // create a service to demonstrate injection (not always
needed)\n
Login.c(90): * $provide.value('greet', function(name){\n
Login.c(90): * return 'Hello ' + name + '!';\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // register a filter factory which uses the\n
Login.c(90): * // greet service to demonstrate DI.\n
Login.c(90): * $filterProvider.register('greet', function(greet){\n
Login.c(90): * // return the filter function which uses the greet
service\n
Login.c(90): * // to generate salutation\n
Login.c(90): * return function(text) {\n
Login.c(90): * // filters need to be forgiving so check input
validity\n
Login.c(90): * return text && greet(text) || text;\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The filter function is registered with the `$injector` under
the filter name suffix wit
Login.c(90): h\n
Login.c(90): * `Filter`.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * it('should be the same instance', inject(\n
Login.c(90): * function($filterProv
Login.c(90): t=3088ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ider) {\n
Login.c(90): * $filterProvider.register('reverse', function(){\n
Login.c(90): * return ...;\n
Login.c(90): * });\n
Login.c(90): * },\n
Login.c(90): * function($filter, reverseFilter) {\n
Login.c(90): * expect($filter('reverse')).toBe(reverseFilter);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * For more information about how angular filters work, and how to
create your own filters
Login.c(90): , see\n
Login.c(90): * {@link guide/filter Filters} in the Angular Developer Guide.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $filter\n
Login.c(90): * @kind function\n
Login.c(90): * @description\n
Login.c(90): * Filters are used for formatting data displayed to the user.\n
Login.c(90): *\n
Login.c(90): * The general syntax in templates is as follows:\n
Login.c(90): *\n
Login.c(90): * {{ expression [|
filter_name[:parameter_value] ... ] }}\n
Login.c(90): *\n
Login.c(90): * @param {String} name Name of the filter function to retrieve\n
Login.c(90): * @return {Function} the filter function\n
Login.c(90): * @example\n
Login.c(90): <example name="$filter" module="filterExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="MainCtrl">\n
Login.c(90): <h3>{{ originalText }}</h3>\n
Login.c(90): <h3>{{ filteredText }}</h3>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('filterExample', [])\n
Login.c(90): .controller('MainCtrl', function($scope, $filter) {\n
Login.c(90): $scope.originalText = 'hello';\n
Login.c(90): $scope.filteredText = $filter('uppercase')
($scope.originalText);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): $FilterProvider.$inject = ['$provide'];\n
Login.c(90): function $FilterProvider($provide) {\n
Login.c(90): var suffix = 'Filter';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $filterProvider#register\n
Login.c(90): * @param {string|Object} name Name of the filter function, or
an object map of filters
Login.c(90): where\n
Login.c(90): * the keys are the filter names and the values are the
filter factories.\n
Login.c(90): * @returns {Object} Registered filter instance, or if a map of
filters was provided the
Login.c(90): n a map\n
Login.c(90): * of the registered filter instances.\n
Login.c(90): */\n
Login.c(90): function register(name, factory) {\n
Login.c(90): if(isObject(name)) {\n
Login.c(90): var filters = {};\n
Login.c(90): forEach(name, function(filter, key) {\n
Login.c(90): filters[key] = register(key, filter);\n
Login.c(90): });\n
Login.c(90): return filters;\n
Login.c(90): } else {\n
Login.c(90): return $provide.factory(name + suffix, factory);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): this.register = register;\n
Login.c(90): \n
Login.c(90): this.$get = ['$injector', function($injector) {\n
Login.c(90): return function(name) {\n
Login.c(90): return $injector.get(name + suffix);\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): ////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): /* global\n
Login.c(90): currencyFilter: false,\n
Login.c(90): dateFilter: false,\n
Login.c(90): filterFilter: false,\n
Login.c(90): jsonFilter: false,\n
Login.c(90): limitToFilter: false,\n
Login.c(90): lowercaseFilter: false,\n
Login.c(90): numberFilter: false,\n
Login.c(90): orderByFilter: false,\n
Login.c(90): uppercaseFilter: false,\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): register('currency', currencyFilter);\n
Login.c(90): register('date', dateFilter);\n
Login.c(90): register('filter', filterFilter);\n
Login.c(90): register('json', jsonFilter);\n
Login.c(90): register('limitTo', limitToFilter);\n
Login.c(90): register('lowercase', lowercaseFilter);\n
Login.c(90): register('number', numberFilter);\n
Login.c(90): register('orderBy', orderByFilter);\n
Login.c(90): register('uppercase', uppercaseFilter);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name filter\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Selects a subset of items from `array` and returns it as a new
array.\n
Login.c(90): *\n
Login.c(90): * @param {Array} array The source array.\n
Login.c(90): * @param {string|Object|function()} expression The predicate to
be used for selecting ite
Login.c(90): ms from\n
Login.c(90): * `array`.\n
Login.c(90): *\n
Login.c(90): * Can be one of:\n
Login.c(90): *\n
Login.c(90): * - `string`: The string is evaluated as an expression and the
resulting value is used
Login.c(90): for substring match against\n
Login.c(90): * the contents of the `array`. All strings or objects with
string properties in `arra
Login.c(90): y` that contain this string\n
Login.c(90): * will be returned. The predicate can be negated by prefixing
the string with `!`.\n
Login.c(90): *\n
Login.c(90): * - `Object`: A pattern object can be used to filter specific
properties on objects con
Login.c(90): tained\n
Login.c(90): * by `array`. For example `{name:"M", phone:"1"}` predicate
will return an array of i
Login.c(90): tems\n
Login.c(90): * which have property `name` containing "M" and property
`phone` containing "1". A sp
Login.c(90): ecial\n
Login.c(90): * property name `$` can be used (as in `{$:"text"}`) to
accept a match against any\n
Login.c(90): * property of the object. That's equivalent to the simple
substring match with a `str
Login.c(90): ing`\n
Login.c(90): * as described above. The predicate can be negated by
prefixing the string with `!`.\n
Login.c(90): * For Example `{name: "!M"}` predicate will return an array
of items which have prope
Login.c(90): rty `name`\n
Login.c(90): * not containing "M".\n
Login.c(90): *\n
Login.c(90): * - `function(value)`: A predicate function can be used to
write arbitrary filters. The
Login.c(90): function is\n
Login.c(90): * called for each element of `array`. The final result is an
array of those elements
Login.c(90): that\n
Login.c(90): * the predicate returned true for.\n
Login.c(90): *\n
Login.c(90): * @param {function(actual, expected)|true|undefined} comparator
Comparator which is used
Login.c(90): in\n
Login.c(90): * determining if the expected value (from the filter
expression) and actual value (fr
Login.c(90): om\n
Login.c(90): * the object in the array) should be considered a match.\n
Login.c(90): *\n
Login.c(90): * Can be one of:\n
Login.c(90): *\n
Login.c(90): * - `function(actual, expected)`:\n
Login.c(90): * The function will be given the object value and the
predicate value to compare and\n
Login.c(90): * should return true if the item should be included in
filtered result.\n
Login.c(90): *\n
Login.c(90): * - `true`: A shorthand for `function(actual, expected)
{ return angular.equals(expecte
Login.c(90): d, actual)}`.\n
Login.c(90): * this is essentially strict comparison of expected and
actual.\n
Login.c(90): *\n
Login.c(90): * - `false|undefined`: A short hand for a function which will
look for a substring matc
Login.c(90): h in case\n
Login.c(90): * insensitive way.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-init="friends = [{name:'John', phone:'555-1276'},\n
Login.c(90): {name:'Mary', phone:'800-BIG-
MARY'},\n
Login.c(90): {name:'Mike', phone:'555-4321'},\n
Login.c(90): {name:'Adam', phone:'555-5678'},\n
Login.c(90): {name:'Julie', phone:'555-
8765'},\n
Login.c(90): {name:'Juliette', phone:'555-
5678'}]"></div>\n
Login.c(90): \n
Login.c(90): Search: <input ng-model="searchText">\n
Login.c(90): <table id="searchTextResults">\n
Login.c(90): <tr><th>Name</th><th>Phone</th></tr>\n
Login.c(90): <tr ng-repeat="friend in friends | filter:searchText">\n
Login.c(90): <td>{{friend.name}}</td>\n
Login.c(90): <td>{{friend.phone}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): <hr>\n
Login.c(90): Any: <input ng-model="search.$"> <br>\n
Login.c(90): Name only <input ng-model="search.name"><br>\n
Login.c(90): Phone only <input ng-model="search.phone"><br>\n
Login.c(90): Equality <input type="checkbox" ng-model="strict"><br>\n
Login.c(90): <table id="searchObjResults">\n
Login.c(90): <tr><th>Name</th><th>Phone</th></tr>\n
Login.c(90): <tr ng-repeat="friendObj in friends |
filter:search:strict">\n
Login.c(90): <td>{{friendObj.name}}</td>\n
Login.c(90): <td>{{friendObj.phone}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var expectFriendNames = function(expectedNames, key) {\n
Login.c(90): element.all(by.repeater(key + ' in friends').column(key +
'.name')).then(function
Login.c(90): (arr) {\n
Login.c(90): arr.forEach(function(wd, i) {\n
Login.c(90): expect(wd.getText()).toMatch(expectedNames[i]);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): it('should search across all fields when filtering with a
string', function() {\n
Login.c(90): var searchText = element(by.model('searchText'));\n
Login.c(90): searchText.clear();\n
Login.c(90): searchText.sendKeys('m');\n
Login.c(90): expectFriendNames(['Mary', 'Mike', 'Adam'], 'friend');\n
Login.c(90): \n
Login.c(90): searchText.clear();\n
Login.c(90): searchText.sendKeys('76');\n
Login.c(90): expectFriendNames(['John', 'Julie'], 'friend');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should search in specific fields when filtering with a
predicate object', funct
Login.c(90): ion() {\n
Login.c(90): var searchAny = element(by.model('search.$'));\n
Login.c(90): searchAny.clear();\n
Login.c(90): searchAny.sendKeys('i');\n
Login.c(90): expectFriendNames(['Mary', 'Mike', 'Julie', 'Juliette'],
'friendObj');\n
Login.c(90): });\n
Login.c(90): it('should use a equal comparison when comparator is true',
function() {\n
Login.c(90): var searchName = element(by.model('search.name'));\n
Login.c(90): var strict = element(by.model('strict'));\n
Login.c(90): searchName.clear();\n
Login.c(90): searchName.sendKeys('Julie');\n
Login.c(90): strict.click();\n
Login.c(90): expectFriendNames(['Julie'], 'friendObj');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function filterFilter() {\n
Login.c(90): return function(array, expression, comparator) {\n
Login.c(90): if (!isArray(array)) return array;\n
Login.c(90): \n
Login.c(90): var comparatorType = typeof(comparator),\n
Login.c(90): predicates = [];\n
Login.c(90): \n
Login.c(90): predicates.check = function(value) {\n
Login.c(90): for (var j = 0; j < predicates.length; j++) {\n
Login.c(90): if(!predicates[j](value)) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (comparatorType !== 'function') {\n
Login.c(90): if (comparatorType === 'boolean' && comparator) {\n
Login.c(90): comparator = function(obj, text) {\n
Login.c(90): return angular.equals(obj, text);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): comparator = function(obj, text) {\n
Login.c(90): if (obj && text && typeof obj === 'object' && typeof
text === 'object') {\n
Login.c(90): for (var objKey in obj) {\n
Login.c(90): if (objKey.charAt(0) !== '$' &&
hasOwnProperty.call(obj, objKey) &&\n
Login.c(90): comparator(obj[objKey], text[objKey])) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): text = (''+text).toLowerCase();\n
Login.c(90): return (''+obj).toLowerCase().indexOf(text) > -1;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var search = function(obj, text){\n
Login.c(90): if (typeof text == 'string' && text.charAt(0) === '!') {\n
Login.c(90): return !search(obj, text.substr(1));\n
Login.c(90): }\n
Login.c(90): switch (typeof obj) {\n
Login.c(90): case "boolean":\n
Login.c(90): case "number":\n
Login.c(90): case "string":\n
Login.c(90): return comparator(obj, text);\n
Login.c(90): case "object":\n
Login.c(90): switch (typeof text) {\n
Login.c(90): case "object":\n
Login.c(90): return comparator(obj, text);\n
Login.c(90): default:\n
Login.c(90): for ( var objKey in obj) {\n
Login.c(90): if (objKey.charAt(0) !== '$' &&
search(obj[objKey], text)) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): case "array":\n
Login.c(90): for ( var i = 0; i < obj.length; i++) {\n
Login.c(90): if (search(obj[i], text)) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): default:\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): switch (typeof expression) {\n
Login.c(90): case "boolean":\n
Login.c(90): case "number":\n
Login.c(90): case "string":\n
Login.c(90): // Set up expression object and fall through\n
Login.c(90): expression = {$:expression};\n
Login.c(90): // jshint -W086\n
Login.c(90): case "object":\n
Login.c(90): // jshint +W086\n
Login.c(90): for (var key in expression) {\n
Login.c(90): (function(path) {\n
Login.c(90): if (typeof expression[path] === 'undefined') return;\n
Login.c(90): predicates.push(function(value) {\n
Login.c(90): return search(path == '$' ? value : (value &&
value[path]), expression[path]
Login.c(90): );\n
Login.c(90): });\n
Login.c(90): })(key);\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): case 'function':\n
Login.c(90): predicates.push(expression);\n
Login.c(90): break;\n
Login.c(90): default:\n
Login.c(90): return array;\n
Login.c(90): }\n
Login.c(90): var filtered = [];\n
Login.c(90): for ( var j = 0; j < array.length; j++) {\n
Login.c(90): var value = array[j];\n
Login.c(90): if (predicates.check(value)) {\n
Login.c(90): filtered.push(value);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return filtered;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name currency\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Formats a number as a currency (ie $1,234.56). When no currency
symbol is provided, def
Login.c(90): ault\n
Login.c(90): * symbol for current locale is used.\n
Login.c(90): *\n
Login.c(90): * @param {number} amount Input to filter.\n
Login.c(90): * @param {string=} symbol Currency symbol or identifier to be
displayed.\n
Login.c(90): * @returns {string} Formatted number.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="currencyExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('currencyExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.amount = 1234.56;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <input type="number" ng-model="amount"> <br>\n
Login.c(90): default currency symbol ($): <span id="currency-
default">{{amount | currency}}</s
Login.c(90): pan><br>\n
Login.c(90): custom currency identifier (USD$): <span>{{amount |
currency:"USD$"}}</span>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should init with 1234.56', function() {\n
Login.c(90): expect(element(by.id('currency-
default')).getText()).toBe('$1,234.56');\n
Login.c(90): expect(element(by.binding('amount |
currency:"USD$"')).getText()).toBe('USD$1,234
Login.c(90): .56');\n
Login.c(90): });\n
Login.c(90): it('should update', function() {\n
Login.c(90): if (browser.params.browser == 'safari') {\n
Login.c(90): // Safari does not unders
Login.c(90): t=3105ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): tand the minus key. See\n
Login.c(90): // https://github.com/angular/protractor/issues/481\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): element(by.model('amount')).clear();\n
Login.c(90): element(by.model('amount')).sendKeys('-1234');\n
Login.c(90): expect(element(by.id('currency-
default')).getText()).toBe('($1,234.00)');\n
Login.c(90): expect(element(by.binding('amount |
currency:"USD$"')).getText()).toBe('(USD$1,23
Login.c(90): 4.00)');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): currencyFilter.$inject = ['$locale'];\n
Login.c(90): function currencyFilter($locale) {\n
Login.c(90): var formats = $locale.NUMBER_FORMATS;\n
Login.c(90): return function(amount, currencySymbol){\n
Login.c(90): if (isUndefined(currencySymbol)) currencySymbol =
formats.CURRENCY_SYM;\n
Login.c(90): return formatNumber(amount, formats.PATTERNS[1],
formats.GROUP_SEP, formats.DECIMAL_SE
Login.c(90): P, 2).\n
Login.c(90): replace(/\\u00A4/g, currencySymbol);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name number\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Formats a number as text.\n
Login.c(90): *\n
Login.c(90): * If the input is not a number an empty string is returned.\n
Login.c(90): *\n
Login.c(90): * @param {number|string} number Number to format.\n
Login.c(90): * @param {(number|string)=} fractionSize Number of decimal places
to round the number to.
Login.c(90): \n
Login.c(90): * If this is not provided then the fraction size is computed from
the current locale's nu
Login.c(90): mber\n
Login.c(90): * formatting pattern. In the case of the default locale, it will
be 3.\n
Login.c(90): * @returns {string} Number rounded to decimalPlaces and places
a \xE2\x80\x9C,\xE2\x80\x9D
Login.c(90): after each third digit.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="numberFilterExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('numberFilterExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.val = 1234.56789;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Enter number: <input ng-model='val'><br>\n
Login.c(90): Default formatting: <span id='number-default'>{{val |
number}}</span><br>\n
Login.c(90): No fractions: <span>{{val | number:0}}</span><br>\n
Login.c(90): Negative number: <span>{{-val | number:4}}</span>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should format numbers', function() {\n
Login.c(90): expect(element(by.id('number-
default')).getText()).toBe('1,234.568');\n
Login.c(90): expect(element(by.binding('val |
number:0')).getText()).toBe('1,235');\n
Login.c(90): expect(element(by.binding('-val |
number:4')).getText()).toBe('-1,234.5679');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should update', function() {\n
Login.c(90): element(by.model('val')).clear();\n
Login.c(90): element(by.model('val')).sendKeys('3374.333');\n
Login.c(90): expect(element(by.id('number-
default')).getText()).toBe('3,374.333');\n
Login.c(90): expect(element(by.binding('val |
number:0')).getText()).toBe('3,374');\n
Login.c(90): expect(element(by.binding('-val |
number:4')).getText()).toBe('-3,374.3330');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): numberFilter.$inject = ['$locale'];\n
Login.c(90): function numberFilter($locale) {\n
Login.c(90): var formats = $locale.NUMBER_FORMATS;\n
Login.c(90): return function(number, fractionSize) {\n
Login.c(90): return formatNumber(number, formats.PATTERNS[0],
formats.GROUP_SEP, formats.DECIMAL_SE
Login.c(90): P,\n
Login.c(90): fractionSize);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var DECIMAL_SEP = '.';\n
Login.c(90): function formatNumber(number, pattern, groupSep, decimalSep,
fractionSize) {\n
Login.c(90): if (number == null || !isFinite(number) || isObject(number))
return '';\n
Login.c(90): \n
Login.c(90): var isNegative = number < 0;\n
Login.c(90): number = Math.abs(number);\n
Login.c(90): var numStr = number + '',\n
Login.c(90): formatedText = '',\n
Login.c(90): parts = [];\n
Login.c(90): \n
Login.c(90): var hasExponent = false;\n
Login.c(90): if (numStr.indexOf('e') !== -1) {\n
Login.c(90): var match = numStr.match(/([\\d\\.]+)e(-?)(\\d+)/);\n
Login.c(90): if (match && match[2] == '-' && match[3] > fractionSize + 1)
{\n
Login.c(90): numStr = '0';\n
Login.c(90): number = 0;\n
Login.c(90): } else {\n
Login.c(90): formatedText = numStr;\n
Login.c(90): hasExponent = true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!hasExponent) {\n
Login.c(90): var fractionLen = (numStr.split(DECIMAL_SEP)[1] ||
'').length;\n
Login.c(90): \n
Login.c(90): // determine fractionSize if it is not specified\n
Login.c(90): if (isUndefined(fractionSize)) {\n
Login.c(90): fractionSize = Math.min(Math.max(pattern.minFrac,
fractionLen), pattern.maxFrac);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // safely round numbers in JS without hitting imprecisions of
floating-point arithmeti
Login.c(90): cs\n
Login.c(90): // inspired by:\n
Login.c(90): // https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Ma
Login.c(90): th/round\n
Login.c(90): number = +(Math.round(+(number.toString() + 'e' +
fractionSize)).toString() + 'e' + -f
Login.c(90): ractionSize);\n
Login.c(90): \n
Login.c(90): if (number === 0) {\n
Login.c(90): isNegative = false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var fraction = ('' + number).split(DECIMAL_SEP);\n
Login.c(90): var whole = fraction[0];\n
Login.c(90): fraction = fraction[1] || '';\n
Login.c(90): \n
Login.c(90): var i, pos = 0,\n
Login.c(90): lgroup = pattern.lgSize,\n
Login.c(90): group = pattern.gSize;\n
Login.c(90): \n
Login.c(90): if (whole.length >= (lgroup + group)) {\n
Login.c(90): pos = whole.length - lgroup;\n
Login.c(90): for (i = 0; i < pos; i++) {\n
Login.c(90): if ((pos - i)%group === 0 && i !== 0) {\n
Login.c(90): formatedText += groupSep;\n
Login.c(90): }\n
Login.c(90): formatedText += whole.charAt(i);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (i = pos; i < whole.length; i++) {\n
Login.c(90): if ((whole.length - i)%lgroup === 0 && i !== 0) {\n
Login.c(90): formatedText += groupSep;\n
Login.c(90): }\n
Login.c(90): formatedText += whole.charAt(i);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // format fraction part.\n
Login.c(90): while(fraction.length < fractionSize) {\n
Login.c(90): fraction += '0';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (fractionSize && fractionSize !== "0") formatedText +=
decimalSep + fraction.substr
Login.c(90): (0, fractionSize);\n
Login.c(90): } else {\n
Login.c(90): \n
Login.c(90): if (fractionSize > 0 && number > -1 && number < 1) {\n
Login.c(90): formatedText = number.toFixed(fractionSize);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): parts.push(isNegative ? pattern.negPre : pattern.posPre);\n
Login.c(90): parts.push(formatedText);\n
Login.c(90): parts.push(isNegative ? pattern.negSuf : pattern.posSuf);\n
Login.c(90): return parts.join('');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function padNumber(num, digits, trim) {\n
Login.c(90): var neg = '';\n
Login.c(90): if (num < 0) {\n
Login.c(90): neg = '-';\n
Login.c(90): num = -num;\n
Login.c(90): }\n
Login.c(90): num = '' + num;\n
Login.c(90): while(num.length < digits) num = '0' + num;\n
Login.c(90): if (trim)\n
Login.c(90): num = num.substr(num.length - digits);\n
Login.c(90): return neg + num;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function dateGetter(name, size, offset, trim) {\n
Login.c(90): offset = offset || 0;\n
Login.c(90): return function(date) {\n
Login.c(90): var value = date['get' + name]();\n
Login.c(90): if (offset > 0 || value > -offset)\n
Login.c(90): value += offset;\n
Login.c(90): if (value === 0 && offset == -12 ) value = 12;\n
Login.c(90): return padNumber(value, size, trim);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function dateStrGetter(name, shortForm) {\n
Login.c(90): return function(date, formats) {\n
Login.c(90): var value = date['get' + name]();\n
Login.c(90): var get = uppercase(shortForm ? ('SHORT' + name) : name);\n
Login.c(90): \n
Login.c(90): return formats[get][value];\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function timeZoneGetter(date) {\n
Login.c(90): var zone = -1 * date.getTimezoneOffset();\n
Login.c(90): var paddedZone = (zone >= 0) ? "+" : "";\n
Login.c(90): \n
Login.c(90): paddedZone += padNumber(Math[zone > 0 ? 'floor' : 'ceil'](zone /
60), 2) +\n
Login.c(90): padNumber(Math.abs(zone % 60), 2);\n
Login.c(90): \n
Login.c(90): return paddedZone;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ampmGetter(date, formats) {\n
Login.c(90): return date.getHours() < 12 ? formats.AMPMS[0] :
formats.AMPMS[1];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var DATE_FORMATS = {\n
Login.c(90): yyyy: dateGetter('FullYear', 4),\n
Login.c(90): yy: dateGetter('FullYear', 2, 0, true),\n
Login.c(90): y: dateGetter('FullYear', 1),\n
Login.c(90): MMMM: dateStrGetter('Month'),\n
Login.c(90): MMM: dateStrGetter('Month', true),\n
Login.c(90): MM: dateGetter('Month', 2, 1),\n
Login.c(90): M: dateGetter('Month', 1, 1),\n
Login.c(90): dd: dateGetter('Date', 2),\n
Login.c(90): d: dateGetter('Date', 1),\n
Login.c(90): HH: dateGetter('Hours', 2),\n
Login.c(90): H: dateGetter('Hours', 1),\n
Login.c(90): hh: dateGetter('Hours', 2, -12),\n
Login.c(90): h: dateGetter('Hours', 1, -12),\n
Login.c(90): mm: dateGetter('Minutes', 2),\n
Login.c(90): m: dateGetter('Minutes', 1),\n
Login.c(90): ss: dateGetter('Seconds', 2),\n
Login.c(90): s: dateGetter('Seconds', 1),\n
Login.c(90): // while ISO 8601 requires fractions to be prefixed with `.`
or `,`\n
Login.c(90): // we can be just safely rely on using `sss` since we
currently don't support single
Login.c(90): or two digit fractions\n
Login.c(90): sss: dateGetter('Milliseconds', 3),\n
Login.c(90): EEEE: dateStrGetter('Day'),\n
Login.c(90): EEE: dateStrGetter('Day', true),\n
Login.c(90): a: ampmGetter,\n
Login.c(90): Z: timeZoneGetter\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|
(?:E+|y+|M+|d+|H+|h+|m+|
Login.c(90): s+|a|Z))(.*)/,\n
Login.c(90): NUMBER_STRING = /^\\-?\\d+$/;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name date\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Formats `date` to a string based on the requested `format`.\n
Login.c(90): *\n
Login.c(90): * `format` string can be composed of the following elements:\n
Login.c(90): *\n
Login.c(90): * * `'yyyy'`: 4 digit representation of year (e.g. AD 1 =>
0001, AD 2010 => 2010)\n
Login.c(90): * * `'yy'`: 2 digit representation of year, padded (00-99).
(e.g. AD 2001 => 01, AD 201
Login.c(90): 0 => 10)\n
Login.c(90): * * `'y'`: 1 digit representation of year, e.g. (AD 1 => 1, AD
199 => 199)\n
Login.c(90): * * `'MMMM'`: Month in year (January-December)\n
Login.c(90): * * `'MMM'`: Month in year (Jan-Dec)\n
Login.c(90): * * `'MM'`: Month in year, padded (01-12)\n
Login.c(90): * * `'M'`: Month in year (1-12)\n
Login.c(90): * * `'dd'`: Day in month, padded (01-31)\n
Login.c(90): * * `'d'`: Day in month (1-31)\n
Login.c(90): * * `'EEEE'`: Day in Week,(Sunday-Saturday)\n
Login.c(90): * * `'EEE'`: Day in Week, (Sun-Sat)\n
Login.c(90): * * `'HH'`: Hour in day, padded (00-23)\n
Login.c(90): * * `'H'`: Hour in day (0-23)\n
Login.c(90): * * `'hh'`: Hour in am/pm, padded (01-12)\n
Login.c(90): * * `'h'`: Hour in am/pm, (1-12)\n
Login.c(90): * * `'mm'`: Minute in hour, padded (00-59)\n
Login.c(90): * * `'m'`: Minute in hour (0-59)\n
Login.c(90): * * `'ss'`: Second in minute, padded (00-59)\n
Login.c(90): * * `'s'`: Second in minute (0-59)\n
Login.c(90): * * `'.sss' or ',sss'`: Millisecond in second, padded (000-
999)\n
Login.c(90): * * `'a'`: am/pm marker\n
Login.c(90): * * `'Z'`: 4 digit (+sign) representation of the timezone
offset (-1200-+1200)\n
Login.c(90): *\n
Login.c(90): * `format` string can also be one of the following predefined\n
Login.c(90): * {@link guide/i18n localizable formats}:\n
Login.c(90): *\n
Login.c(90): * * `'medium'`: equivalent to `'MMM d, y h:mm:ss a'` for en_US
locale\n
Login.c(90): * (e.g. Sep 3, 2010 12:05:08 pm)\n
Login.c(90): * * `'short'`: equivalent to `'M/d/yy h:mm a'` for en_US
locale (e.g. 9/3/10 12:05 pm)
Login.c(90): \n
Login.c(90): * * `'fullDate'`: equivalent to `'EEEE, MMMM d,y'` for en_US
locale\n
Login.c(90): * (e.g. Friday, September 3, 2010)\n
Login.c(90): * * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale
(e.g. September 3, 2010
Login.c(90): )\n
Login.c(90): * * `'mediumDate'`: equivalent to `'MMM d, y'` for en_US
locale (e.g. Sep 3, 2010)\n
Login.c(90): * * `'shortDate'`: equivalent to `'M/d/yy'` for en_US locale
(e.g. 9/3/10)\n
Login.c(90): * * `'mediumTime'`: equivalent to `'h:mm:ss a'` for en_US
locale (e.g. 12:05:08 pm)\n
Login.c(90): * * `'shortTime'`: equivalent to `'h:mm a'` for en_US locale
(e.g. 12:05 pm)\n
Login.c(90): *\n
Login.c(90): * `format` string can contain literal values. These need to be
escaped by surrounding w
Login.c(90): ith single quotes (e.g.\n
Login.c(90): * `"h 'in the morning'"`). In order to output a single quote,
escape it - i.e., two sin
Login.c(90): gle quotes in a sequence\n
Login.c(90): * (e.g. `"h 'o''clock'"`).\n
Login.c(90): *\n
Login.c(90): * @param {(Date|number|string)} date Date to format either as
Date object, milliseconds (
Login.c(90): string or\n
Login.c(90): * number) or various ISO 8601 datetime s
Login.c(90): t=3121ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): tring formats (e.g. yyyy-MM-ddTHH:mm:ss.sssZ and its\n
Login.c(90): * shorter versions like yyyy-MM-ddTHH:mmZ, yyyy-MM-dd or
yyyyMMddTHHmmssZ). If no time
Login.c(90): zone is\n
Login.c(90): * specified in the string input, the time is considered to be
in the local timezone.\n
Login.c(90): * @param {string=} format Formatting rules (see Description). If
not specified,\n
Login.c(90): * `mediumDate` is used.\n
Login.c(90): * @returns {string} Formatted string or the input if input is not
recognized as date/mill
Login.c(90): is.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <span ng-non-bindable>{{1288323623006 |
date:'medium'}}</span>:\n
Login.c(90): <span>{{1288323623006 | date:'medium'}}</span><br>\n
Login.c(90): <span ng-non-bindable>{{1288323623006 | date:'yyyy-MM-dd
HH:mm:ss Z'}}</span>:\n
Login.c(90): <span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss
Z'}}</span><br>\n
Login.c(90): <span ng-non-bindable>{{1288323623006 | date:'MM/dd/yyyy @
h:mma'}}</span>:\n
Login.c(90): <span>{{'1288323623006' | date:'MM/dd/yyyy @
h:mma'}}</span><br>\n
Login.c(90): <span ng-non-bindable>{{1288323623006 | date:"MM/dd/yyyy
'at' h:mma"}}</span>:\n
Login.c(90): <span>{{'1288323623006' | date:"MM/dd/yyyy 'at'
h:mma"}}</span><br>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should format date', function() {\n
Login.c(90): expect(element(by.binding("1288323623006 |
date:'medium'")).getText()).\n
Login.c(90): toMatch(/Oct 2\\d, 2010 \\d{1,2}:\\d{2}:\\d{2} (AM|
PM)/);\n
Login.c(90): expect(element(by.binding("1288323623006 | date:'yyyy-MM-
dd HH:mm:ss Z'")).getTex
Login.c(90): t()).\n
Login.c(90): toMatch(/2010\\-10\\-2\\d \\d{2}:\\d{2}:\\d{2} (\\-|\\
+)?\\d{4}/);\n
Login.c(90): expect(element(by.binding("'1288323623006' |
date:'MM/dd/yyyy @ h:mma'")).getText
Login.c(90): ()).\n
Login.c(90): toMatch(/10\\/2\\d\\/2010 @ \\d{1,2}:\\d{2}(AM|
PM)/);\n
Login.c(90): expect(element(by.binding("'1288323623006' |
date:\\"MM/dd/yyyy 'at' h:mma\\"")).
Login.c(90): getText()).\n
Login.c(90): toMatch(/10\\/2\\d\\/2010 at \\d{1,2}:\\d{2}(AM|
PM)/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): dateFilter.$inject = ['$locale'];\n
Login.c(90): function dateFilter($locale) {\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var R_ISO8601_STR = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)
(?::?(\\d\\d)(?::?(\\d\\d)
Login.c(90): (?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n
Login.c(90): // 1 2 3 4 5
6 7
Login.c(90): 8 9 10 11\n
Login.c(90): function jsonStringToDate(string) {\n
Login.c(90): var match;\n
Login.c(90): if (match = string.match(R_ISO8601_STR)) {\n
Login.c(90): var date = new Date(0),\n
Login.c(90): tzHour = 0,\n
Login.c(90): tzMin = 0,\n
Login.c(90): dateSetter = match[8] ? date.setUTCFullYear :
date.setFullYear,\n
Login.c(90): timeSetter = match[8] ? date.setUTCHours :
date.setHours;\n
Login.c(90): \n
Login.c(90): if (match[9]) {\n
Login.c(90): tzHour = int(match[9] + match[10]);\n
Login.c(90): tzMin = int(match[9] + match[11]);\n
Login.c(90): }\n
Login.c(90): dateSetter.call(date, int(match[1]), int(match[2]) - 1,
int(match[3]));\n
Login.c(90): var h = int(match[4]||0) - tzHour;\n
Login.c(90): var m = int(match[5]||0) - tzMin;\n
Login.c(90): var s = int(match[6]||0);\n
Login.c(90): var ms = Math.round(parseFloat('0.' + (match[7]||0)) *
1000);\n
Login.c(90): timeSetter.call(date, h, m, s, ms);\n
Login.c(90): return date;\n
Login.c(90): }\n
Login.c(90): return string;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return function(date, format) {\n
Login.c(90): var text = '',\n
Login.c(90): parts = [],\n
Login.c(90): fn, match;\n
Login.c(90): \n
Login.c(90): format = format || 'mediumDate';\n
Login.c(90): format = $locale.DATETIME_FORMATS[format] || format;\n
Login.c(90): if (isString(date)) {\n
Login.c(90): date = NUMBER_STRING.test(date) ? int(date) :
jsonStringToDate(date);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isNumber(date)) {\n
Login.c(90): date = new Date(date);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!isDate(date)) {\n
Login.c(90): return date;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): while(format) {\n
Login.c(90): match = DATE_FORMATS_SPLIT.exec(format);\n
Login.c(90): if (match) {\n
Login.c(90): parts = concat(parts, match, 1);\n
Login.c(90): format = parts.pop();\n
Login.c(90): } else {\n
Login.c(90): parts.push(format);\n
Login.c(90): format = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): forEach(parts, function(value){\n
Login.c(90): fn = DATE_FORMATS[value];\n
Login.c(90): text += fn ? fn(date, $locale.DATETIME_FORMATS)\n
Login.c(90): : value.replace(/(^'|'$)/g, '').replace(/''/g,
"'");\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return text;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name json\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Allows you to convert a JavaScript object into JSON string.\n
Login.c(90): *\n
Login.c(90): * This filter is mostly useful for debugging. When using the
double curly {{value}} not
Login.c(90): ation\n
Login.c(90): * the binding is automatically converted to JSON.\n
Login.c(90): *\n
Login.c(90): * @param {*} object Any JavaScript object (including arrays and
primitive types) to filte
Login.c(90): r.\n
Login.c(90): * @returns {string} JSON string.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <pre>{{ {'name':'value'} | json }}</pre>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should jsonify filtered objects', function() {\n
Login.c(90):
expect(element(by.binding("{'name':'value'}")).getText()).toMatch(/\\{\\n "name"
Login.c(90): : ?"value"\\n}/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function jsonFilter() {\n
Login.c(90): return function(object) {\n
Login.c(90): return toJson(object, true);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name lowercase\n
Login.c(90): * @kind function\n
Login.c(90): * @description\n
Login.c(90): * Converts string to lowercase.\n
Login.c(90): * @see angular.lowercase\n
Login.c(90): */\n
Login.c(90): var lowercaseFilter = valueFn(lowercase);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name uppercase\n
Login.c(90): * @kind function\n
Login.c(90): * @description\n
Login.c(90): * Converts string to uppercase.\n
Login.c(90): * @see angular.uppercase\n
Login.c(90): */\n
Login.c(90): var uppercaseFilter = valueFn(uppercase);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name limitTo\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a new array or string containing only a specified
number of elements. The eleme
Login.c(90): nts\n
Login.c(90): * are taken from either the beginning or the end of the source
array or string, as specif
Login.c(90): ied by\n
Login.c(90): * the value and sign (positive or negative) of `limit`.\n
Login.c(90): *\n
Login.c(90): * @param {Array|string} input Source array or string to be
limited.\n
Login.c(90): * @param {string|number} limit The length of the returned array
or string. If the `limit`
Login.c(90): number\n
Login.c(90): * is positive, `limit` number of items from the beginning of
the source array/string
Login.c(90): are copied.\n
Login.c(90): * If the number is negative, `limit` number of items from
the end of the source arra
Login.c(90): y/string\n
Login.c(90): * are copied. The `limit` will be trimmed if it exceeds
`array.length`\n
Login.c(90): * @returns {Array|string} A new sub-array or substring of length
`limit` or less if input
Login.c(90): array\n
Login.c(90): * had less than `limit` elements.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="limitToExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('limitToExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.numbers = [1,2,3,4,5,6,7,8,9];\n
Login.c(90): $scope.letters = "abcdefghi";\n
Login.c(90): $scope.numLimit = 3;\n
Login.c(90): $scope.letterLimit = 3;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Limit {{numbers}} to: <input type="integer" ng-
model="numLimit">\n
Login.c(90): <p>Output numbers: {{ numbers | limitTo:numLimit }}</p>\n
Login.c(90): Limit {{letters}} to: <input type="integer" ng-
model="letterLimit">\n
Login.c(90): <p>Output letters: {{ letters |
limitTo:letterLimit }}</p>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var numLimitInput = element(by.model('numLimit'));\n
Login.c(90): var letterLimitInput = element(by.model('letterLimit'));\n
Login.c(90): var limitedNumbers = element(by.binding('numbers |
limitTo:numLimit'));\n
Login.c(90): var limitedLetters = element(by.binding('letters |
limitTo:letterLimit'));\n
Login.c(90): \n
Login.c(90): it('should limit the number array to first three items',
function() {\n
Login.c(90): expect(numLimitInput.getAttribute('value')).toBe('3');\n
Login.c(90):
expect(letterLimitInput.getAttribute('value')).toBe('3');\n
Login.c(90): expect(limitedNumbers.getText()).toEqual('Output numbers:
[1,2,3]');\n
Login.c(90): expect(limitedLetters.getText()).toEqual('Output letters:
abc');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should update the output when -3 is entered',
function() {\n
Login.c(90): numLimitInput.clear();\n
Login.c(90): numLimitInput.sendKeys('-3');\n
Login.c(90): letterLimitInput.clear();\n
Login.c(90): letterLimitInput.sendKeys('-3');\n
Login.c(90): expect(limitedNumbers.getText()).toEqual('Output numbers:
[7,8,9]');\n
Login.c(90): expect(limitedLetters.getText()).toEqual('Output letters:
ghi');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should not exceed the maximum size of input array',
function() {\n
Login.c(90): numLimitInput.clear();\n
Login.c(90): numLimitInput.sendKeys('100');\n
Login.c(90): letterLimitInput.clear();\n
Login.c(90): letterLimitInput.sendKeys('100');\n
Login.c(90): expect(limitedNumbers.getText()).toEqual('Output numbers:
[1,2,3,4,5,6,7,8,9]');\n
Login.c(90): expect(limitedLetters.getText()).toEqual('Output letters:
abcdefghi');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function limitToFilter(){\n
Login.c(90): return function(input, limit) {\n
Login.c(90): if (!isArray(input) && !isString(input)) return input;\n
Login.c(90): \n
Login.c(90): if (Math.abs(Number(limit)) === Infinity) {\n
Login.c(90): limit = Number(limit);\n
Login.c(90): } else {\n
Login.c(90): limit = int(limit);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isString(input)) {\n
Login.c(90): //NaN check on limit\n
Login.c(90): if (limit) {\n
Login.c(90): return limit >= 0 ? input.slice(0, limit) :
input.slice(limit, input.length);\n
Login.c(90): } else {\n
Login.c(90): return "";\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var out = [],\n
Login.c(90): i, n;\n
Login.c(90): \n
Login.c(90): // if abs(limit) exceeds maximum length, trim it\n
Login.c(90): if (limit > input.length)\n
Login.c(90): limit = input.length;\n
Login.c(90): else if (limit < -input.length)\n
Login.c(90): limit = -input.length;\n
Login.c(90): \n
Login.c(90): if (limit > 0) {\n
Login.c(90): i = 0;\n
Login.c(90): n = limit;\n
Login.c(90): } else {\n
Login.c(90): i = input.length + limit;\n
Login.c(90): n = input.length;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (; i<n; i++) {\n
Login.c(90): out.push(input[i]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return out;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name orderBy\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Orders a specified `array` by the `expression` predicate. It is
ordered alphabetically\n
Login.c(90): * for strings and numerically for numbers. Note: if you notice
numbers are not being sort
Login.c(90): ed\n
Login.c(90): * correctly, make sure they are actually being saved as numbers
and not strings.\n
Login.c(90): *\n
Login.c(90): * @param {Array} array The array to sort.\n
Login.c(90): * @param {function(*)|string|Array.<(function(*)|string)>}
expression A predicate to be\n
Login.c(90): * used by the comparator to determine the order of elements.\n
Login.c(90): *\n
Login.c(90): * Can be one of:\n
Login.c(90): *\n
Login.c(90): * - `function`: Getter function. The result of this function
will be sorted using the\n
Login.c(90): * `<`, `=`, `>` operator.\n
Login.c(90): * - `string`: An Angular expression. The result of this
expression is used to compare
Login.c(90): elements\n
Login.c(90): * (for example `name` to sort by a property called `name` or
`name.substr(0, 3)` to
Login.c(90): sort by\n
Login.c(90): * 3 first characters of a property called `name`). The
result of a constant expressi
Login.c(90): on\n
Login.c(90): * is interpreted as a property name to be used in
comparisons (for example `"special
Login.c(90): name"`\n
Login.c(90): * to sort object by the value of their `special name`
property). An expression can b
Login.c(90): e\n
Login.c(90): * optionally prefixed with `+` or `-` to control ascending
or descending sort order\n
Login.c(90): * (for example, `+name` or `-name`).\n
Login.c(90): * - `Array`: An array of function or string predicates. The
first predicate in the arr
Login.c(90): ay\n
Login.c(90): * is used for sorting, but when two items are equivalent,
the next predicate is used
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} reverse Reverse the order of the array.\n
Login.c(90): * @returns {Array} Sorted copy of the source array.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="orderByExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('orderByExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.friends =\n
Login.c(90): [{name:'John', phone:'555-1212', age:10},\n
Login.c(90): {name:'Mary', phone:'555-9876', age:19},\n
Login.c(90): {name:'Mike', phone:'555-4321', age:21},\n
Login.c(90): {name:'Adam', phone:'555-5678', age:35},\n
Login.c(90): {name:'Julie', phone:'555-8765', age:29}];\n
Login.c(90): $scope.predicate = '-age';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <pre>Sorting predicate = {{predicate}}; reverse =
{{reverse}}</pre>\n
Login.c(90): <hr/>\n
Login.c(90): [ <a href="" ng-click="predicate=''">unsorted</a> ]\n
Login.c(90): <table class="friend">\n
Login.c(90): <tr>\n
Login.c(90): <th><a href="" ng-click="predicate = 'name';
reverse=false">Name</a>\n
Login.c(90): (<a href="" ng-click="predicate = '-name';
reverse=false">^</a>)</th>\n
Login.c(90): <th><a href="" ng-click="predicate = 'phone';
reverse=!reverse">Phone Number<
Login.c(90): /a></th>\n
Login.c(90): <th><a href="" ng-click="predicate = 'age'; reverse=!
reverse">Age</a></th>\n
Login.c(90): </tr>\n
Login.c(90): <tr ng-repeat="friend in friends |
orderBy:predicate:reverse">\n
Login.c(90): <td>{{friend.name}}</td>\n
Login.c(90): <td>{{friend.phone}}</td>\n
Login.c(90): <td>{{friend.age}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): </div>\n
Login.c(90): </file>
Login.c(90): t=3141ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): \n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * It's also possible to call the orderBy filter manually, by
injecting `$filter`, retriev
Login.c(90): ing the\n
Login.c(90): * filter routine with `$filter('orderBy')`, and calling the
returned filter routine with
Login.c(90): the\n
Login.c(90): * desired parameters.\n
Login.c(90): *\n
Login.c(90): * Example:\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="orderByExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <table class="friend">\n
Login.c(90): <tr>\n
Login.c(90): <th><a href="" ng-click="reverse=false;order('name',
false)">Name</a>\n
Login.c(90): (<a href="" ng-click="order('-
name',false)">^</a>)</th>\n
Login.c(90): <th><a href="" ng-click="reverse=!
reverse;order('phone', reverse)">Phone Numbe
Login.c(90): r</a></th>\n
Login.c(90): <th><a href="" ng-click="reverse=!
reverse;order('age',reverse)">Age</a></th>\n
Login.c(90): </tr>\n
Login.c(90): <tr ng-repeat="friend in friends">\n
Login.c(90): <td>{{friend.name}}</td>\n
Login.c(90): <td>{{friend.phone}}</td>\n
Login.c(90): <td>{{friend.age}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('orderByExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', '$filter',
function($scope, $filter) {
Login.c(90): \n
Login.c(90): var orderBy = $filter('orderBy');\n
Login.c(90): $scope.friends = [\n
Login.c(90): { name: 'John', phone: '555-1212', age: 10 },\n
Login.c(90): { name: 'Mary', phone: '555-9876', age: 19 },\n
Login.c(90): { name: 'Mike', phone: '555-4321', age: 21 },\n
Login.c(90): { name: 'Adam', phone: '555-5678', age: 35 },\n
Login.c(90): { name: 'Julie', phone: '555-8765', age: 29 }\n
Login.c(90): ];\n
Login.c(90): $scope.order = function(predicate, reverse) {\n
Login.c(90): $scope.friends = orderBy($scope.friends, predicate,
reverse);\n
Login.c(90): };\n
Login.c(90): $scope.order('-age',false);\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): orderByFilter.$inject = ['$parse'];\n
Login.c(90): function orderByFilter($parse){\n
Login.c(90): return function(array, sortPredicate, reverseOrder) {\n
Login.c(90): if (!(isArrayLike(array))) return array;\n
Login.c(90): if (!sortPredicate) return array;\n
Login.c(90): sortPredicate = isArray(sortPredicate) ? sortPredicate:
[sortPredicate];\n
Login.c(90): sortPredicate = map(sortPredicate, function(predicate){\n
Login.c(90): var descending = false, get = predicate || identity;\n
Login.c(90): if (isString(predicate)) {\n
Login.c(90): if ((predicate.charAt(0) == '+' || predicate.charAt(0) ==
'-')) {\n
Login.c(90): descending = predicate.charAt(0) == '-';\n
Login.c(90): predicate = predicate.substring(1);\n
Login.c(90): }\n
Login.c(90): get = $parse(predicate);\n
Login.c(90): if (get.constant) {\n
Login.c(90): var key = get();\n
Login.c(90): return reverseComparator(function(a,b) {\n
Login.c(90): return compare(a[key], b[key]);\n
Login.c(90): }, descending);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return reverseComparator(function(a,b){\n
Login.c(90): return compare(get(a),get(b));\n
Login.c(90): }, descending);\n
Login.c(90): });\n
Login.c(90): var arrayCopy = [];\n
Login.c(90): for ( var i = 0; i < array.length; i++)
{ arrayCopy.push(array[i]); }\n
Login.c(90): return arrayCopy.sort(reverseComparator(comparator,
reverseOrder));\n
Login.c(90): \n
Login.c(90): function comparator(o1, o2){\n
Login.c(90): for ( var i = 0; i < sortPredicate.length; i++) {\n
Login.c(90): var comp = sortPredicate[i](o1, o2);\n
Login.c(90): if (comp !== 0) return comp;\n
Login.c(90): }\n
Login.c(90): return 0;\n
Login.c(90): }\n
Login.c(90): function reverseComparator(comp, descending) {\n
Login.c(90): return toBoolean(descending)\n
Login.c(90): ? function(a,b){return comp(b,a);}\n
Login.c(90): : comp;\n
Login.c(90): }\n
Login.c(90): function compare(v1, v2){\n
Login.c(90): var t1 = typeof v1;\n
Login.c(90): var t2 = typeof v2;\n
Login.c(90): if (t1 == t2) {\n
Login.c(90): if (isDate(v1) && isDate(v2)) {\n
Login.c(90): v1 = v1.valueOf();\n
Login.c(90): v2 = v2.valueOf();\n
Login.c(90): }\n
Login.c(90): if (t1 == "string") {\n
Login.c(90): v1 = v1.toLowerCase();\n
Login.c(90): v2 = v2.toLowerCase();\n
Login.c(90): }\n
Login.c(90): if (v1 === v2) return 0;\n
Login.c(90): return v1 < v2 ? -1 : 1;\n
Login.c(90): } else {\n
Login.c(90): return t1 < t2 ? -1 : 1;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ngDirective(directive) {\n
Login.c(90): if (isFunction(directive)) {\n
Login.c(90): directive = {\n
Login.c(90): link: directive\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): directive.restrict = directive.restrict || 'AC';\n
Login.c(90): return valueFn(directive);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name a\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Modifies the default behavior of the html A tag so that the
default action is prevented
Login.c(90): when\n
Login.c(90): * the href attribute is empty.\n
Login.c(90): *\n
Login.c(90): * This change permits the easy creation of action links with the
`ngClick` directive\n
Login.c(90): * without changing the location or causing page reloads, e.g.:\n
Login.c(90): * `<a href="" ng-click="list.addItem()">Add Item</a>`\n
Login.c(90): */\n
Login.c(90): var htmlAnchorDirective = valueFn({\n
Login.c(90): restrict: 'E',\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): \n
Login.c(90): if (msie <= 8) {\n
Login.c(90): \n
Login.c(90): // turn <a href ng-click="..">link</a> into a stylable link
in IE\n
Login.c(90): // but only if it doesn't have name attribute, in which case
it's an anchor\n
Login.c(90): if (!attr.href && !attr.name) {\n
Login.c(90): attr.$set('href', '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // add a comment node to anchors to workaround IE bug that
causes element content to
Login.c(90): be reset\n
Login.c(90): // to new attribute content if attribute is updated with
value containing @ and elem
Login.c(90): ent also\n
Login.c(90): // contains value with @\n
Login.c(90): // see issue #1949\n
Login.c(90): element.append(document.createComment('IE fix'));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!attr.href && !attr.xlinkHref && !attr.name) {\n
Login.c(90): return function(scope, element) {\n
Login.c(90): // SVGAElement does not use the href attribute, but rather
the 'xlinkHref' attribu
Login.c(90): te.\n
Login.c(90): var href = toString.call(element.prop('href')) ===
'[object SVGAnimatedString]' ?\n
Login.c(90): 'xlink:href' : 'href';\n
Login.c(90): element.on('click', function(event){\n
Login.c(90): // if we have no href url, then don't navigate
anywhere.\n
Login.c(90): if (!element.attr(href)) {\n
Login.c(90): event.preventDefault();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngHref\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 99\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Using Angular markup like `{{hash}}` in an href attribute
will\n
Login.c(90): * make the link go to the wrong URL if the user clicks it
before\n
Login.c(90): * Angular has a chance to replace the `{{hash}}` markup with
its\n
Login.c(90): * value. Until Angular replaces the markup the link will be
broken\n
Login.c(90): * and will most likely return a 404 error.\n
Login.c(90): *\n
Login.c(90): * The `ngHref` directive solves this problem.\n
Login.c(90): *\n
Login.c(90): * The wrong way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <a href="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The correct way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <a ng-href="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @element A\n
Login.c(90): * @param {template} ngHref any string which can contain `{{}}`
markup.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This example shows various combinations of `href`, `ng-href`
and `ng-click` attributes\n
Login.c(90): * in links and their different behaviors:\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-model="value" /><br />\n
Login.c(90): <a id="link-1" href ng-click="value = 1">link 1</a> (link,
don't reload)<br />\n
Login.c(90): <a id="link-2" href="" ng-click="value = 2">link 2</a>
(link, don't reload)<br />\n
Login.c(90): <a id="link-3" ng-href="/{{'123'}}">link 3</a> (link,
reload!)<br />\n
Login.c(90): <a id="link-4" href="" name="xx" ng-click="value =
4">anchor</a> (link, don't relo
Login.c(90): ad)<br />\n
Login.c(90): <a id="link-5" name="xxx" ng-click="value = 5">anchor</a>
(no link)<br />\n
Login.c(90): <a id="link-6" ng-href="{{value}}">link</a> (link, change
location)\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should execute ng-click but not reload when href
without value', function() {\n
Login.c(90): element(by.id('link-1')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('1');\n
Login.c(90): expect(element(by.id('link-
1')).getAttribute('href')).toBe('');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should execute ng-click but not reload when href empty
string', function() {\n
Login.c(90): element(by.id('link-2')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('2');\n
Login.c(90): expect(element(by.id('link-
2')).getAttribute('href')).toBe('');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should execute ng-click and change url when ng-href
specified', function() {\n
Login.c(90): expect(element(by.id('link-
3')).getAttribute('href')).toMatch(/\\/123$/);\n
Login.c(90): \n
Login.c(90): element(by.id('link-3')).click();\n
Login.c(90): \n
Login.c(90): // At this point, we navigate away from an Angular page,
so we need\n
Login.c(90): // to use browser.driver to get the base webdriver.\n
Login.c(90): \n
Login.c(90): browser.wait(function() {\n
Login.c(90): return
browser.driver.getCurrentUrl().then(function(url) {\n
Login.c(90): return url.match(/\\/123$/);\n
Login.c(90): });\n
Login.c(90): }, 5000, 'page should navigate to /123');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): xit('should execute ng-click but not reload when href
empty string and name specif
Login.c(90): ied', function() {\n
Login.c(90): element(by.id('link-4')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('4');\n
Login.c(90): expect(element(by.id('link-
4')).getAttribute('href')).toBe('');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should execute ng-click but not reload when no href
but name specified', funct
Login.c(90): ion() {\n
Login.c(90): element(by.id('link-5')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('5');\n
Login.c(90): expect(element(by.id('link-
5')).getAttribute('href')).toBe(null);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should only change url when only ng-href', function()
{\n
Login.c(90): element(by.model('value')).clear();\n
Login.c(90): element(by.model('value')).sendKeys('6');\n
Login.c(90): expect(element(by.id('link-
6')).getAttribute('href')).toMatch(/\\/6$/);\n
Login.c(90): \n
Login.c(90): element(by.id('link-6')).click();\n
Login.c(90): \n
Login.c(90): // At this point, we navigate away from an Angular page,
so we need\n
Login.c(90): // to use browser.driver to get the base webdriver.\n
Login.c(90): browser.wait(function() {\n
Login.c(90): return
browser.driver.getCurrentUrl().then(function(url) {\n
Login.c(90): return url.match(/\\/6$/);\n
Login.c(90): });\n
Login.c(90): }, 5000, 'page should navigate to /6');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSrc\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 99\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Using Angular markup like `{{hash}}` in a `src` attribute
doesn't\n
Login.c(90): * work right: The browser will fetch from the URL with the
literal\n
Login.c(90): * text `{{hash}}` until Angular replaces the expression inside\n
Login.c(90): * `{{hash}}`. The `ngSrc` directive solves this problem.\n
Login.c(90): *\n
Login.c(90): * The buggy way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img src="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The correct way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img ng-src="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @element IMG\n
Login.c(90): * @param {template} ngSrc any string which can contain `{{}}`
markup.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSrcset\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 99\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Using Angular markup like `{{hash}}` in a `srcset` attribute
doesn't\n
Login.c(90): * work right: The browser will fetch from the URL with the
literal\n
Login.c(90): * text `{{hash}}` until Angular replaces the expression inside\n
Login.c(90): * `{{hash}}`. The `ngSrcset` directive solves this problem.\n
Login.c(90): *\n
Login.c(90): * The buggy way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img srcset="http://www.gravatar.com/avatar/{{hash}} 2x"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The correct way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img ng-srcset="http://www.gravatar.com/avatar/{{hash}} 2x"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @element IMG\n
Login.c(90): * @param {template} ngSrcset any string which can contain `{{}}`
markup.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngDisabled\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * We shouldn't do this, because it will make the button enabled
on Chrome/Firefox but not
Login.c(90): on IE8 and older IEs:\n
Login.c(90): * ```html\n
Login.c(90): * <div ng-init="scope = { isDisabled: false }">\n
Login.c(90): * <button disabled="{{scope.isDisabled}}">Disabled</button>\n
Login.c(90): * </div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as disabled. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngDisabled` directive solves this problem for the
`disabled` attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me to toggle: <input type="checkbox" ng-
model="checked"><br/>\n
Login.c(90): <button ng-model="button" ng-
disabled="checked">Button</button>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should toggle button', function() {\n
Login.c(90):
expect(element(by.css('button')).getAttribute('disabled')).toBeF
Login.c(90): t=3157ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): alsy();\n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90):
expect(element(by.css('button')).getAttribute('disabled')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element INPUT\n
Login.c(90): * @param {expression} ngDisabled If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "disabled" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngChecked\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as checked. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngChecked` directive solves this problem for the `checked`
attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me to check both: <input type="checkbox" ng-
model="master"><br/>\n
Login.c(90): <input id="checkSlave" type="checkbox" ng-
checked="master">\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check both checkBoxes', function() {\n
Login.c(90):
expect(element(by.id('checkSlave')).getAttribute('checked')).toBeFalsy();\n
Login.c(90): element(by.model('master')).click();\n
Login.c(90):
expect(element(by.id('checkSlave')).getAttribute('checked')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element INPUT\n
Login.c(90): * @param {expression} ngChecked If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "checked" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngReadonly\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as readonly. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngReadonly` directive solves this problem for the
`readonly` attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me to make text readonly: <input type="checkbox" ng-
model="checked"><br/>\n
Login.c(90): <input type="text" ng-readonly="checked" value="I'm
Angular"/>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should toggle readonly attr', function() {\n
Login.c(90):
expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeFalsy();\n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90):
expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element INPUT\n
Login.c(90): * @param {expression} ngReadonly If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "readonly" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSelected\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as selected. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngSelected` directive solves this problem for the
`selected` attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me to select: <input type="checkbox" ng-
model="selected"><br/>\n
Login.c(90): <select>\n
Login.c(90): <option>Hello!</option>\n
Login.c(90): <option id="greet" ng-selected="selected">Greetings!
</option>\n
Login.c(90): </select>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should select Greetings!', function() {\n
Login.c(90):
expect(element(by.id('greet')).getAttribute('selected')).toBeFalsy();\n
Login.c(90): element(by.model('selected')).click();\n
Login.c(90):
expect(element(by.id('greet')).getAttribute('selected')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element OPTION\n
Login.c(90): * @param {expression} ngSelected If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "selected" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngOpen\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as open. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngOpen` directive solves this problem for the `open`
attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me check multiple: <input type="checkbox" ng-
model="open"><br/>\n
Login.c(90): <details id="details" ng-open="open">\n
Login.c(90): <summary>Show/Hide me</summary>\n
Login.c(90): </details>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should toggle open', function() {\n
Login.c(90):
expect(element(by.id('details')).getAttribute('open')).toBeFalsy();\n
Login.c(90): element(by.model('open')).click();\n
Login.c(90):
expect(element(by.id('details')).getAttribute('open')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element DETAILS\n
Login.c(90): * @param {expression} ngOpen If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "open" will be set on the element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var ngAttributeAliasDirectives = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // boolean attrs are evaluated\n
Login.c(90): forEach(BOOLEAN_ATTR, function(propName, attrName) {\n
Login.c(90): // binding to multiple is not supported\n
Login.c(90): if (propName == "multiple") return;\n
Login.c(90): \n
Login.c(90): var normalized = directiveNormalize('ng-' + attrName);\n
Login.c(90): ngAttributeAliasDirectives[normalized] = function() {\n
Login.c(90): return {\n
Login.c(90): priority: 100,\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): scope.$watch(attr[normalized], function
ngBooleanAttrWatchAction(value) {\n
Login.c(90): attr.$set(attrName, !!value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // ng-src, ng-srcset, ng-href are interpolated\n
Login.c(90): forEach(['src', 'srcset', 'href'], function(attrName) {\n
Login.c(90): var normalized = directiveNormalize('ng-' + attrName);\n
Login.c(90): ngAttributeAliasDirectives[normalized] = function() {\n
Login.c(90): return {\n
Login.c(90): priority: 99, // it needs to run after the attributes are
interpolated\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): var propName = attrName,\n
Login.c(90): name = attrName;\n
Login.c(90): \n
Login.c(90): if (attrName === 'href' &&\n
Login.c(90): toString.call(element.prop('href')) === '[object
SVGAnimatedString]') {\n
Login.c(90): name = 'xlinkHref';\n
Login.c(90): attr.$attr[name] = 'xlink:href';\n
Login.c(90): propName = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): attr.$observe(normalized, function(value) {\n
Login.c(90): if (!value) {\n
Login.c(90): if (attrName === 'href') {\n
Login.c(90): attr.$set(name, null);\n
Login.c(90): }\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): attr.$set(name, value);\n
Login.c(90): \n
Login.c(90): // on IE, if "ng:src" directive declaration is used and
"src" attribute doesn't
Login.c(90): exist\n
Login.c(90): // then calling element.setAttribute('src', 'foo')
doesn't do anything, so we ne
Login.c(90): ed\n
Login.c(90): // to set the property as well to achieve the desired
effect.\n
Login.c(90): // we use attr[attrName] value since $set can sanitize
the url.\n
Login.c(90): if (msie && propName) element.prop(propName,
attr[name]);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /* global -nullFormCtrl */\n
Login.c(90): var nullFormCtrl = {\n
Login.c(90): $addControl: noop,\n
Login.c(90): $removeControl: noop,\n
Login.c(90): $setValidity: noop,\n
Login.c(90): $setDirty: noop,\n
Login.c(90): $setPristine: noop\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name form.FormController\n
Login.c(90): *\n
Login.c(90): * @property {boolean} $pristine True if user has not interacted
with the form yet.\n
Login.c(90): * @property {boolean} $dirty True if user has already interacted
with the form.\n
Login.c(90): * @property {boolean} $valid True if all of the containing forms
and controls are valid.\n
Login.c(90): * @property {boolean} $invalid True if at least one containing
control or form is invalid
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @property {Object} $error Is an object hash, containing
references to all invalid contr
Login.c(90): ols or\n
Login.c(90): * forms, where:\n
Login.c(90): *\n
Login.c(90): * - keys are validation tokens (error names),\n
Login.c(90): * - values are arrays of controls or forms that are invalid for
given error name.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * Built-in validation tokens:\n
Login.c(90): *\n
Login.c(90): * - `email`\n
Login.c(90): * - `max`\n
Login.c(90): * - `maxlength`\n
Login.c(90): * - `min`\n
Login.c(90): * - `minlength`\n
Login.c(90): * - `number`\n
Login.c(90): * - `pattern`\n
Login.c(90): * - `required`\n
Login.c(90): * - `url`\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `FormController` keeps track of all its controls and nested
forms as well as the state
Login.c(90): of them,\n
Login.c(90): * such as being valid/invalid or dirty/pristine.\n
Login.c(90): *\n
Login.c(90): * Each {@link ng.directive:form form} directive creates an
instance\n
Login.c(90): * of `FormController`.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): //asks for $scope to fool the BC controller module\n
Login.c(90): FormController.$inject = ['$element', '$attrs', '$scope',
'$animate'];\n
Login.c(90): function FormController(element, attrs, $scope, $animate) {\n
Login.c(90): var form = this,\n
Login.c(90): parentForm = element.parent().controller('form') ||
nullFormCtrl,\n
Login.c(90): invalidCount = 0, // used to easily determine if we are
valid\n
Login.c(90): errors = form.$error = {},\n
Login.c(90): controls = [];\n
Login.c(90): \n
Login.c(90): // init state\n
Login.c(90): form.$name = attrs.name || attrs.ngForm;\n
Login.c(90): form.$dirty = false;\n
Login.c(90): form.$pristine = true;\n
Login.c(90): form.$valid = true;\n
Login.c(90): form.$invalid = false;\n
Login.c(90): \n
Login.c(90): parentForm.$addControl(form);\n
Login.c(90): \n
Login.c(90): // Setup initial state of the control\n
Login.c(90): element.addClass(PRISTINE_CLASS);\n
Login.c(90): toggleValidCss(true);\n
Login.c(90): \n
Login.c(90): // convenience method for easy toggling of classes\n
Login.c(90): function toggleValidCss(isValid, validationErrorKey) {\n
Login.c(90): validationErrorKey = validationErrorKey ? '-' +
snake_case(validationErrorKey, '-') :
Login.c(90): '';\n
Login.c(90): $animate.setClass(element,\n
Login.c(90): (isValid ? VALID_CLASS : INVALID_CLASS) +
validationErrorKey,\n
Login.c(90): (isValid ? INVALID_CLASS : VALID_CLASS) +
validationErrorKey);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$addControl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Register a control with the form.\n
Login.c(90): *\n
Login.c(90): * Input elements using ngModelController do this automatically
when they are linked.\n
Login.c(90): */\n
Login.c(90): form.$addControl = function(control) {\n
Login.c(90): // Breaking change - before, inputs whose name was
"hasOwnProperty" were quietly ignor
Login.c(90): ed\n
Login.c(90): // and not added to the scope. Now we throw an error.\n
Login.c(90): assertNotHasOwnProperty(control.$name, 'input');\n
Login.c(90): controls.push(control);\n
Login.c(90): \n
Login.c(90): if (control.$name) {\n
Login.c(90): form[control.$name] = control;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$removeControl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Deregister a control from the form.\n
Login.c(90): *\n
Login.c(90): * Input elements using ngModelController do this automatically
when they are destroyed.
Login.c(90): \n
Login.c(90): */\n
Login.c(90): form.$removeControl = function(control) {\n
Login.c(90): if (control.$name && form[control.$name] === control) {\n
Login.c(90): delete form[control.$name];\n
Login.c(90): }\n
Login.c(90): forEach(errors, function(queue, validationToken) {\n
Login.c(90): form.$setValidity(validationToken, true, control);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): arrayRemove(controls, control);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$setValidity\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the validity of a form control.\n
Login.c(90): *\n
Login.c(90): * This method will also propagate to parent forms.\n
Login.c(90): */\n
Login.c(90): form.$setValidity = function(validationToken, isValid, control)
{\n
Login.c(90): var queue = errors[validationToken];\n
Login.c(90): \n
Login.c(90): if (isValid) {\n
Login.c(90): if (queue) {\n
Login.c(90): arrayRemove(queue, control);\n
Login.c(90): if (!queue.length) {\n
Login.c(90): invalidCount--;\n
Login.c(90): if (!invalidCount) {\n
Login.c(90): toggleValidCss(isValid);\n
Login.c(90): form.$valid = true;\n
Login.c(90): form.$invalid = false;\n
Login.c(90): }\n
Login.c(90): errors[validationToken] = false;\n
Login.c(90): toggleValidCss(true, validationToken);\n
Login.c(90): parentForm.$setValidity(validationToken, true, form);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): if (!invalidCount) {\n
Login.c(90): toggleValidCss(isValid);\n
Login.c(90): }\n
Login.c(90): if
Login.c(90): t=3177ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): (queue) {\n
Login.c(90): if (includes(queue, control)) return;\n
Login.c(90): } else {\n
Login.c(90): errors[validationToken] = queue = [];\n
Login.c(90): invalidCount++;\n
Login.c(90): toggleValidCss(false, validationToken);\n
Login.c(90): parentForm.$setValidity(validationToken, false, form);\n
Login.c(90): }\n
Login.c(90): queue.push(control);\n
Login.c(90): \n
Login.c(90): form.$valid = false;\n
Login.c(90): form.$invalid = true;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$setDirty\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the form to a dirty state.\n
Login.c(90): *\n
Login.c(90): * This method can be called to add the 'ng-dirty' class and set
the form to a dirty\n
Login.c(90): * state (ng-dirty class). This method will also propagate to
parent forms.\n
Login.c(90): */\n
Login.c(90): form.$setDirty = function() {\n
Login.c(90): $animate.removeClass(element, PRISTINE_CLASS);\n
Login.c(90): $animate.addClass(element, DIRTY_CLASS);\n
Login.c(90): form.$dirty = true;\n
Login.c(90): form.$pristine = false;\n
Login.c(90): parentForm.$setDirty();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$setPristine\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the form to its pristine state.\n
Login.c(90): *\n
Login.c(90): * This method can be called to remove the 'ng-dirty' class and
set the form to its pris
Login.c(90): tine\n
Login.c(90): * state (ng-pristine class). This method will also propagate to
all the controls contai
Login.c(90): ned\n
Login.c(90): * in this form.\n
Login.c(90): *\n
Login.c(90): * Setting a form back to a pristine state is often useful when
we want to 'reuse' a for
Login.c(90): m after\n
Login.c(90): * saving or resetting it.\n
Login.c(90): */\n
Login.c(90): form.$setPristine = function () {\n
Login.c(90): $animate.removeClass(element, DIRTY_CLASS);\n
Login.c(90): $animate.addClass(element, PRISTINE_CLASS);\n
Login.c(90): form.$dirty = false;\n
Login.c(90): form.$pristine = true;\n
Login.c(90): forEach(controls, function(control) {\n
Login.c(90): control.$setPristine();\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngForm\n
Login.c(90): * @restrict EAC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Nestable alias of {@link ng.directive:form `form`} directive.
HTML\n
Login.c(90): * does not allow nesting of form elements. It is useful to nest
forms, for example if the
Login.c(90): validity of a\n
Login.c(90): * sub-group of controls needs to be determined.\n
Login.c(90): *\n
Login.c(90): * Note: the purpose of `ngForm` is to group controls,\n
Login.c(90): * but not to be a replacement for the `<form>` tag with all of
its capabilities\n
Login.c(90): * (e.g. posting to the server, ...).\n
Login.c(90): *\n
Login.c(90): * @param {string=} ngForm|name Name of the form. If specified,
the form controller will b
Login.c(90): e published into\n
Login.c(90): * related scope, under this name.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name form\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Directive that instantiates\n
Login.c(90): * {@link form.FormController FormController}.\n
Login.c(90): *\n
Login.c(90): * If the `name` attribute is specified, the form controller is
published onto the current
Login.c(90): scope under\n
Login.c(90): * this name.\n
Login.c(90): *\n
Login.c(90): * # Alias: {@link ng.directive:ngForm `ngForm`}\n
Login.c(90): *\n
Login.c(90): * In Angular forms can be nested. This means that the outer form
is valid when all of the
Login.c(90): child\n
Login.c(90): * forms are valid as well. However, browsers do not allow nesting
of `<form>` elements, s
Login.c(90): o\n
Login.c(90): * Angular provides the {@link ng.directive:ngForm `ngForm`}
directive which behaves ident
Login.c(90): ically to\n
Login.c(90): * `<form>` but can be nested. This allows you to have nested
forms, which is very useful
Login.c(90): when\n
Login.c(90): * using Angular validation directives in forms that are
dynamically generated using the\n
Login.c(90): * {@link ng.directive:ngRepeat `ngRepeat`} directive. Since you
cannot dynamically genera
Login.c(90): te the `name`\n
Login.c(90): * attribute of input elements using interpolation, you have to
wrap each set of repeated
Login.c(90): inputs in an\n
Login.c(90): * `ngForm` directive and nest these in an outer `form` element.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # CSS classes\n
Login.c(90): * - `ng-valid` is set if the form is valid.\n
Login.c(90): * - `ng-invalid` is set if the form is invalid.\n
Login.c(90): * - `ng-pristine` is set if the form is pristine.\n
Login.c(90): * - `ng-dirty` is set if the form is dirty.\n
Login.c(90): *\n
Login.c(90): * Keep in mind that ngAnimate can detect each of these classes
when added and removed.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Submitting a form and preventing the default action\n
Login.c(90): *\n
Login.c(90): * Since the role of forms in client-side Angular applications is
different than in classi
Login.c(90): cal\n
Login.c(90): * roundtrip apps, it is desirable for the browser not to
translate the form submission in
Login.c(90): to a full\n
Login.c(90): * page reload that sends the data to the server. Instead some
javascript logic should be
Login.c(90): triggered\n
Login.c(90): * to handle the form submission in an application-specific way.\n
Login.c(90): *\n
Login.c(90): * For this reason, Angular prevents the default action (form
submission to the server) un
Login.c(90): less the\n
Login.c(90): * `<form>` element has an `action` attribute specified.\n
Login.c(90): *\n
Login.c(90): * You can use one of the following two ways to specify what
javascript method should be c
Login.c(90): alled when\n
Login.c(90): * a form is submitted:\n
Login.c(90): *\n
Login.c(90): * - {@link ng.directive:ngSubmit ngSubmit} directive on the form
element\n
Login.c(90): * - {@link ng.directive:ngClick ngClick} directive on the first\n
Login.c(90): * button or input field of type submit (input[type=submit])\n
Login.c(90): *\n
Login.c(90): * To prevent double execution of the handler, use only one of the
{@link ng.directive:ngS
Login.c(90): ubmit ngSubmit}\n
Login.c(90): * or {@link ng.directive:ngClick ngClick} directives.\n
Login.c(90): * This is because of the following form submission rules in the
HTML specification:\n
Login.c(90): *\n
Login.c(90): * - If a form has only one input field then hitting enter in this
field triggers form sub
Login.c(90): mit\n
Login.c(90): * (`ngSubmit`)\n
Login.c(90): * - if a form has 2+ input fields and no buttons or
input[type=submit] then hitting enter
Login.c(90): \n
Login.c(90): * doesn't trigger submit\n
Login.c(90): * - if a form has one or more input fields and one or more
buttons or input[type=submit]
Login.c(90): then\n
Login.c(90): * hitting enter in any of the input fields will trigger the click
handler on the *first*
Login.c(90): button or\n
Login.c(90): * input[type=submit] (`ngClick`) *and* a submit handler on the
enclosing form (`ngSubmit`
Login.c(90): )\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ## Animation Hooks\n
Login.c(90): *\n
Login.c(90): * Animations in ngForm are triggered when any of the associated
CSS classes are added and
Login.c(90): removed.\n
Login.c(90): * These classes are: `.ng-pristine`, `.ng-dirty`, `.ng-invalid`
and `.ng-valid` as well a
Login.c(90): s any\n
Login.c(90): * other validations that are performed within the form.
Animations in ngForm are similar
Login.c(90): to how\n
Login.c(90): * they work in ngClass and animations can be hooked into using
CSS transitions, keyframes
Login.c(90): as well\n
Login.c(90): * as JS animations.\n
Login.c(90): *\n
Login.c(90): * The following example shows a simple way to utilize CSS
transitions to style a form ele
Login.c(90): ment\n
Login.c(90): * that has been rendered as invalid after it has been
validated:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * //be sure to include ngAnimate as a module to hook into more\n
Login.c(90): * //advanced animations\n
Login.c(90): * .my-form {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * background: white;\n
Login.c(90): * }\n
Login.c(90): * .my-form.ng-invalid {\n
Login.c(90): * background: red;\n
Login.c(90): * color:white;\n
Login.c(90): * }\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example deps="angular-animate.js" animations="true"
fixBase="true" module="formExampl
Login.c(90): e">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('formExample', [])\n
Login.c(90): .controller('FormController', ['$scope',
function($scope) {\n
Login.c(90): $scope.userType = 'guest';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <style>\n
Login.c(90): .my-form {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): background: transparent;\n
Login.c(90): }\n
Login.c(90): .my-form.ng-invalid {\n
Login.c(90): background: red;\n
Login.c(90): }\n
Login.c(90): </style>\n
Login.c(90): <form name="myForm" ng-controller="FormController"
class="my-form">\n
Login.c(90): userType: <input name="input" ng-model="userType"
required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">Required!</span><br>\n
Login.c(90): <tt>userType = {{userType}}</tt><br>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): var userType = element(by.binding('userType'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): \n
Login.c(90): expect(userType.getText()).toContain('guest');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): var userType = element(by.binding('userType'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var userInput = element(by.model('userType'));\n
Login.c(90): \n
Login.c(90): userInput.clear();\n
Login.c(90): userInput.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(userType.getText()).toEqual('userType =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @param {string=} name Name of the form. If specified, the form
controller will be publi
Login.c(90): shed into\n
Login.c(90): * related scope, under this name.\n
Login.c(90): */\n
Login.c(90): var formDirectiveFactory = function(isNgForm) {\n
Login.c(90): return ['$timeout', function($timeout) {\n
Login.c(90): var formDirective = {\n
Login.c(90): name: 'form',\n
Login.c(90): restrict: isNgForm ? 'EAC' : 'E',\n
Login.c(90): controller: FormController,\n
Login.c(90): compile: function() {\n
Login.c(90): return {\n
Login.c(90): pre: function(scope, formElement, attr, controller) {\n
Login.c(90): if (!attr.action) {\n
Login.c(90): // we can't use jq events because if a form is
destroyed during submission t
Login.c(90): he default\n
Login.c(90): // action is not prevented. see #1238\n
Login.c(90): //\n
Login.c(90): // IE 9 is not affected because it doesn't fire a
submit event and try to do
Login.c(90): a full\n
Login.c(90): // page reload if the form was destroyed by
submission of the form via a cli
Login.c(90): ck handler\n
Login.c(90): // on a button in the form. Looks like an IE9
specific bug.\n
Login.c(90): var preventDefaultListener = function(event) {\n
Login.c(90): event.preventDefault\n
Login.c(90): ? event.preventDefault()\n
Login.c(90): : event.returnValue = false; // IE\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): addEventListenerFn(formElement[0], 'submit',
preventDefaultListener);\n
Login.c(90): \n
Login.c(90): // unregister the preventDefault listener so that we
don't not leak memory b
Login.c(90): ut in a\n
Login.c(90): // way that will achieve the prevention of the
default action.\n
Login.c(90): formElement.on('$destroy', function() {\n
Login.c(90): $timeout(function() {\n
Login.c(90): removeEventListenerFn(formElement[0], 'submit',
preventDefaultListener);
Login.c(90): \n
Login.c(90): }, 0, false);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var parentFormCtrl =
formElement.parent().controller('form'),\n
Login.c(90): alias = attr.name || attr.ngForm;\n
Login.c(90): \n
Login.c(90): if (alias) {\n
Login.c(90): setter(scope, alias, controller, alias);\n
Login.c(90): }\n
Login.c(90): if (parentFormCtrl) {\n
Login.c(90): formElement.on('$destroy', function() {\n
Login.c(90): parentFormCtrl.$removeControl(controller);\n
Login.c(90): if (alias) {\n
Login.c(90): setter(scope, alias, undefined, alias);\n
Login.c(90): }\n
Login.c(90): extend(controller, nullFormCtrl); //stop
propagating child destruction han
Login.c(90): dlers upwards\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return formDirective;\n
Login.c(90): }];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var formDirective = formDirectiveFactory();\n
Login.c(90): var ngFormDirective = formDirectiveFactory(true);\n
Login.c(90): \n
Login.c(90): /* global VALID_CLASS: true,\n
Login.c(90): INVALID_CLASS: true,\n
Login.c(90): PRISTINE_CLASS: true,\n
Login.c(90): DIRTY_CLASS: true\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var URL_REGEXP = /^(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)
(:[0-9]+)?(\\/|\\/([\\w#
Login.c(90): !:.?+=&%@!\\-\\/]))?$/;\n
Login.c(90): var EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-
z0-9-]*[a-z0-9])?(\\.[a-z
Login.c(90): 0-9]([a-z0-9-]*[a-z0-9])?)*$/i;\n
Login.c(90): var NUMBER_REGEXP = /^\\s*(\\-|\\+)?(\\d+|
(\\d*(\\.\\d*)))\\s*$/;\n
Login.c(90): \n
Login.c(90): var inputType = {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[text]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Standard HTML text input with angular data binding, inherited
by most of the `input`
Login.c(90): elements.\n
Login.c(90): *\n
Login.c(90): * *NOTE* Not every feature offered is available for all input
types.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} required Adds `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patter
Login.c(90): t=3194ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {boolean=} [ngTrim=true] If set to false Angular will
not automatically trim t
Login.c(90): he input.\n
Login.c(90): * This parameter is ignored for input[type=password]
controls, which will never trim
Login.c(90): the\n
Login.c(90): * input.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="text-input-directive"
module="textInputExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('textInputExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.text = 'guest';\n
Login.c(90): $scope.word = /^\\s*\\w*\\s*$/;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): Single word: <input type="text" name="input" ng-
model="text"\n
Login.c(90): ng-pattern="word" required ng-
trim="false">\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.pattern">\n
Login.c(90): Single word only!</span>\n
Login.c(90): \n
Login.c(90): <tt>text = {{text}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var text = element(by.binding('text'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('text'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(text.getText()).toContain('guest');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(text.getText()).toEqual('text =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if multi word', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('hello world');\n
Login.c(90): \n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'text': textInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[number]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input with number validation and transformation. Sets
the `number` validation\n
Login.c(90): * error if not a valid number.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} min Sets the `min` validation error key if
the value entered is less
Login.c(90): than `min`.\n
Login.c(90): * @param {string=} max Sets the `max` validation error key if
the value entered is grea
Login.c(90): ter than `max`.\n
Login.c(90): * @param {string=} required Sets `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="number-input-directive"
module="numberExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('numberExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.value = 12;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): Number: <input type="number" name="input" ng-
model="value"\n
Login.c(90): min="0" max="99" required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.number">\n
Login.c(90): Not valid number!</span>\n
Login.c(90): <tt>value = {{value}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var value = element(by.binding('value'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('value'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(value.getText()).toContain('12');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): expect(value.getText()).toEqual('value =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if over max', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('123');\n
Login.c(90): expect(value.getText()).toEqual('value =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'number': numberInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[url]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input with URL validation. Sets the `url` validation
error key if the content is
Login.c(90): not a\n
Login.c(90): * valid URL.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} required Sets `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="url-input-directive" module="urlExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('urlExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.text = 'http://google.com';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): URL: <input type="url" name="input" ng-model="text"
required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.url">\n
Login.c(90): Not valid url!</span>\n
Login.c(90): <tt>text = {{text}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.url = {{!!myForm.
$error.url}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var text = element(by.binding('text'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('text'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90):
expect(text.getText()).toContain('http://google.com');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(text.getText()).toEqual('text =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if not url', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('box');\n
Login.c(90): \n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'url': urlInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[email]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input with email validation. Sets the `email` validation
error key if not a vali
Login.c(90): d email\n
Login.c(90): * address.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} required Sets `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="email-input-directive"
module="emailExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('emailExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.text = 'me@example.com';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-
controller="ExampleController">\n
Login.c(90): Email: <input type="email" name="input" ng-
model="text" required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.email">\n
Login.c(90): Not valid email!</span>\n
Login.c(90): <tt>text = {{text}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.email = {{!!myForm.
$error.email}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var text = element(by.binding('text'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('text'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(text.getText()).toCo
Login.c(90): t=3208ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ntain('me@example.com');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): expect(text.getText()).toEqual('text =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if not email', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('xxx');\n
Login.c(90): \n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'email': emailInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[radio]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML radio button.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string} value The value to which the expression
should be set when selected.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {string} ngValue Angular expression which sets the
value to which the expressi
Login.c(90): on should\n
Login.c(90): * be set when selected.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="radio-input-directive"
module="radioExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('radioExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.color = 'blue';\n
Login.c(90): $scope.specialValue = {\n
Login.c(90): "id": "12345",\n
Login.c(90): "value": "green"\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): <input type="radio" ng-model="color" value="red"> Red
<br/>\n
Login.c(90): <input type="radio" ng-model="color" ng-
value="specialValue"> Green <br/>\n
Login.c(90): <input type="radio" ng-model="color" value="blue"> Blue
<br/>\n
Login.c(90): <tt>color = {{color | json}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): Note that `ng-value="specialValue"` sets radio item's
value to be the value of `
Login.c(90): $scope.specialValue`.\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should change state', function() {\n
Login.c(90): var color = element(by.binding('color'));\n
Login.c(90): \n
Login.c(90): expect(color.getText()).toContain('blue');\n
Login.c(90): \n
Login.c(90): element.all(by.model('color')).get(0).click();\n
Login.c(90): \n
Login.c(90): expect(color.getText()).toContain('red');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'radio': radioInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[checkbox]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML checkbox.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} ngTrueValue The value to which the
expression should be set when sel
Login.c(90): ected.\n
Login.c(90): * @param {string=} ngFalseValue The value to which the
expression should be set when no
Login.c(90): t selected.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="checkbox-input-directive"
module="checkboxExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('checkboxExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.value1 = true;\n
Login.c(90): $scope.value2 = 'YES'\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): Value1: <input type="checkbox" ng-model="value1">
<br/>\n
Login.c(90): Value2: <input type="checkbox" ng-model="value2"\n
Login.c(90): ng-true-value="YES" ng-false-value="NO">
<br/>\n
Login.c(90): <tt>value1 = {{value1}}</tt><br/>\n
Login.c(90): <tt>value2 = {{value2}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should change state', function() {\n
Login.c(90): var value1 = element(by.binding('value1'));\n
Login.c(90): var value2 = element(by.binding('value2'));\n
Login.c(90): \n
Login.c(90): expect(value1.getText()).toContain('true');\n
Login.c(90): expect(value2.getText()).toContain('YES');\n
Login.c(90): \n
Login.c(90): element(by.model('value1')).click();\n
Login.c(90): element(by.model('value2')).click();\n
Login.c(90): \n
Login.c(90): expect(value1.getText()).toContain('false');\n
Login.c(90): expect(value2.getText()).toContain('NO');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'checkbox': checkboxInputType,\n
Login.c(90): \n
Login.c(90): 'hidden': noop,\n
Login.c(90): 'button': noop,\n
Login.c(90): 'submit': noop,\n
Login.c(90): 'reset': noop,\n
Login.c(90): 'file': noop\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // A helper function to call $setValidity and return the value /
undefined,\n
Login.c(90): // a pattern that is repeated a lot in the input validation
logic.\n
Login.c(90): function validate(ctrl, validatorName, validity, value){\n
Login.c(90): ctrl.$setValidity(validatorName, validity);\n
Login.c(90): return validity ? value : undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function testFlags(validity, flags) {\n
Login.c(90): var i, flag;\n
Login.c(90): if (flags) {\n
Login.c(90): for (i=0; i<flags.length; ++i) {\n
Login.c(90): flag = flags[i];\n
Login.c(90): if (validity[flag]) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Pass validity so that behaviour can be mocked easier.\n
Login.c(90): function addNativeHtml5Validators(ctrl, validatorName, badFlags,
ignoreFlags, validity) {\n
Login.c(90): if (isObject(validity)) {\n
Login.c(90): ctrl.$$hasNativeValidators = true;\n
Login.c(90): var validator = function(value) {\n
Login.c(90): // Don't overwrite previous validation, don't consider
valueMissing to apply (ng-req
Login.c(90): uired can\n
Login.c(90): // perform the required validation)\n
Login.c(90): if (!ctrl.$error[validatorName] &&\n
Login.c(90): !testFlags(validity, ignoreFlags) &&\n
Login.c(90): testFlags(validity, badFlags)) {\n
Login.c(90): ctrl.$setValidity(validatorName, false);\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): return value;\n
Login.c(90): };\n
Login.c(90): ctrl.$parsers.push(validator);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function textInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): var validity = element.prop(VALIDITY_STATE_PROPERTY);\n
Login.c(90): var placeholder = element[0].placeholder, noevent = {};\n
Login.c(90): var type = lowercase(element[0].type);\n
Login.c(90): ctrl.$$validityState = validity;\n
Login.c(90): \n
Login.c(90): // In composition mode, users are still inputing intermediate
text buffer,\n
Login.c(90): // hold the listener until composition is done.\n
Login.c(90): // More about composition events:
https://developer.mozilla.org/en-US/docs/Web/API/Compo
Login.c(90): sitionEvent\n
Login.c(90): if (!$sniffer.android) {\n
Login.c(90): var composing = false;\n
Login.c(90): \n
Login.c(90): element.on('compositionstart', function(data) {\n
Login.c(90): composing = true;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): element.on('compositionend', function() {\n
Login.c(90): composing = false;\n
Login.c(90): listener();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var listener = function(ev) {\n
Login.c(90): if (composing) return;\n
Login.c(90): var value = element.val();\n
Login.c(90): \n
Login.c(90): // IE (11 and under) seem to emit an 'input' event if the
placeholder value changes.\n
Login.c(90): // We don't want to dirty the value when this happens, so we
abort here. Unfortunately
Login.c(90): ,\n
Login.c(90): // IE also sends input events for other non-input-related
things, (such as focusing on
Login.c(90): a\n
Login.c(90): // form control), so this change is not entirely enough to
solve this.\n
Login.c(90): if (msie && (ev || noevent).type === 'input' &&
element[0].placeholder !== placeholder
Login.c(90): ) {\n
Login.c(90): placeholder = element[0].placeholder;\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // By default we will trim the value\n
Login.c(90): // If the attribute ng-trim exists we will avoid trimming\n
Login.c(90): // If input type is 'password', the value is never trimmed\n
Login.c(90): if (type !== 'password' && (toBoolean(attr.ngTrim || 'T')))
{\n
Login.c(90): value = trim(value);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // If a control is suffering from bad input, browsers discard
its value, so it may be\n
Login.c(90): // necessary to revalidate even if the control's value is the
same empty value twice i
Login.c(90): n\n
Login.c(90): // a row.\n
Login.c(90): var revalidate = validity && ctrl.$$hasNativeValidators;\n
Login.c(90): if (ctrl.$viewValue !== value || (value === '' && revalidate))
{\n
Login.c(90): if (scope.$root.$$phase) {\n
Login.c(90): ctrl.$setViewValue(value);\n
Login.c(90): } else {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): ctrl.$setViewValue(value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // if the browser does support "input" event, we are fine -
except on IE9 which doesn't
Login.c(90): fire the\n
Login.c(90): // input event on backspace, delete or cut\n
Login.c(90): if ($sniffer.hasEvent('input')) {\n
Login.c(90): element.on('input', listener);\n
Login.c(90): } else {\n
Login.c(90): var timeout;\n
Login.c(90): \n
Login.c(90): var deferListener = function() {\n
Login.c(90): if (!timeout) {\n
Login.c(90): timeout = $browser.defer(function() {\n
Login.c(90): listener();\n
Login.c(90): timeout = null;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): element.on('keydown', function(event) {\n
Login.c(90): var key = event.keyCode;\n
Login.c(90): \n
Login.c(90): // ignore\n
Login.c(90): // command modifiers
arrows\n
Login.c(90): if (key === 91 || (15 < key && key < 19) || (37 <= key &&
key <= 40)) return;\n
Login.c(90): \n
Login.c(90): deferListener();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // if user modifies input value using context menu in IE, we
need "paste" and "cut" ev
Login.c(90): ents to catch it\n
Login.c(90): if ($sniffer.hasEvent('paste')) {\n
Login.c(90): element.on('paste cut', deferListener);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // if user paste into input using mouse on older browser\n
Login.c(90): // or form autocomplete on newer browser, we need "change" event
to catch it\n
Login.c(90): element.on('change', listener);\n
Login.c(90): \n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): element.val(ctrl.$isEmpty(ctrl.$viewValue) ? '' : ctrl.
$viewValue);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // pattern validator\n
Login.c(90): var pattern = attr.ngPattern,\n
Login.c(90): patternValidator,\n
Login.c(90): match;\n
Login.c(90): \n
Login.c(90): if (pattern) {\n
Login.c(90): var validateRegex = function(regexp, value) {\n
Login.c(90): return validate(ctrl, 'pattern', ctrl.$isEmpty(value) ||
regexp.test(value), value);
Login.c(90): \n
Login.c(90): };\n
Login.c(90): match = pattern.match(/^\\/(.*)\\/([gim]*)$/);\n
Login.c(90): if (match) {\n
Login.c(90): pattern = new RegExp(match[1], match[2]);\n
Login.c(90): patternValidator = function(value) {\n
Login.c(90): return validateRegex(pattern, value);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): patternValidator = function(value) {\n
Login.c(90): var patternObj = scope.$eval(pattern);\n
Login.c(90): \n
Login.c(90): if (!patternObj || !patternObj.test) {\n
Login.c(90): throw minErr('ngPattern')('noregexp',\n
Login.c(90): 'Expected {0} to be a RegExp but was {1}. Element:
{2}', pattern,\n
Login.c(90): patternObj, startingTag(element));\n
Login.c(90): }\n
Login.c(90): return validateRegex(patternObj, value);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(patternValidator);\n
Login.c(90): ctrl.$parsers.push(patternValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // min length validator\n
Login.c(90): if (attr.ngMinlength) {\n
Login.c(90): var minlength = int(attr.ngMinlength);\n
Login.c(90): var minLengthValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'minlength', ctrl.$isEmpty(value) ||
value.length >= minlength
Login.c(90): , value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(minLengthValidator);\n
Login.c(90): ctrl.$formatters.push(minLengthValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // max length validator\n
Login.c(90): if (attr.ngMaxlength) {\n
Login.c(90): var maxlength = int(attr.ngMaxlength);\n
Login.c(90): var maxLengthValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'maxlength', ctrl.$isEmpty(value) ||
value.length <= maxlength
Login.c(90): , value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(maxLengthValidator);\n
Login.c(90): ctrl.$formatters.push(maxLengthValidator);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var numberBadFlags = ['badInput'];\n
Login.c(90): \n
Login.c(90): function numberInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): textInputType(scope, element, attr, ctrl, $sniffer, $browser);\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(function(value) {\n
Login.c(90): var empty = ctrl.$isEmpty(value);\n
Login.c(90): if (empty || NUMBER_REGEXP.test(value)) {\n
Login.c(90): ctrl.$setValidity('number', true);\n
Login.c(90): return value === '' ? null : (empty ? value :
parseFloat(value));\n
Login.c(90): } else {\n
Login.c(90): ctrl.$setValidity('number', false);\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): addNativeHtml5Validators(ctrl, 'number', numberBadFlags, null,
ctrl.$$validityState);\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): return ctrl.$isEmpty(value) ? '' : '' + value;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (attr.min) {\n
Login.c(90): var minValidator = function(value) {\n
Login.c(90): var min = parseFloat(attr.min);\n
Login.c(90): return validate(ctrl, 'min', ctrl.$isEmpty(value) || value
>= min, value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(minValidator);\n
Login.c(90): ctrl.$formatters.push(minValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (attr.max) {\n
Login.c(90): var maxValidator = function(value) {\n
Login.c(90): var max = parseFloat(attr.max);\n
Login.c(90): return validate(ctrl, 'max', ctrl.$isEmpty(value) || value
<= max, value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(maxValidator);\n
Login.c(90): ctrl.$formatters.push(maxValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): return validate(ctrl, 'number', ctrl.$isEmpty(value) ||
isNumber(value), value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function urlInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): textInputType(scope, element, attr, ctrl, $sniffer, $brow
Login.c(90): t=3226ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ser);\n
Login.c(90): \n
Login.c(90): var urlValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'url', ctrl.$isEmpty(value) ||
URL_REGEXP.test(value), value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(urlValidator);\n
Login.c(90): ctrl.$parsers.push(urlValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function emailInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): textInputType(scope, element, attr, ctrl, $sniffer, $browser);\n
Login.c(90): \n
Login.c(90): var emailValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'email', ctrl.$isEmpty(value) ||
EMAIL_REGEXP.test(value), value
Login.c(90): );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(emailValidator);\n
Login.c(90): ctrl.$parsers.push(emailValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function radioInputType(scope, element, attr, ctrl) {\n
Login.c(90): // make the name unique, if not defined\n
Login.c(90): if (isUndefined(attr.name)) {\n
Login.c(90): element.attr('name', nextUid());\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): element.on('click', function() {\n
Login.c(90): if (element[0].checked) {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): ctrl.$setViewValue(attr.value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): var value = attr.value;\n
Login.c(90): element[0].checked = (value == ctrl.$viewValue);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): attr.$observe('value', ctrl.$render);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function checkboxInputType(scope, element, attr, ctrl) {\n
Login.c(90): var trueValue = attr.ngTrueValue,\n
Login.c(90): falseValue = attr.ngFalseValue;\n
Login.c(90): \n
Login.c(90): if (!isString(trueValue)) trueValue = true;\n
Login.c(90): if (!isString(falseValue)) falseValue = false;\n
Login.c(90): \n
Login.c(90): element.on('click', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): ctrl.$setViewValue(element[0].checked);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): element[0].checked = ctrl.$viewValue;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Override the standard `$isEmpty` because a value of `false`
means empty in a checkbox
Login.c(90): .\n
Login.c(90): ctrl.$isEmpty = function(value) {\n
Login.c(90): return value !== trueValue;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): return value === trueValue;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(function(value) {\n
Login.c(90): return value ? trueValue : falseValue;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name textarea\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML textarea element control with angular data-binding. The
data-binding and validatio
Login.c(90): n\n
Login.c(90): * properties of this element are exactly the same as those of
the\n
Login.c(90): * {@link ng.directive:input input element}.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to data-
bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which the
control is published.\n
Login.c(90): * @param {string=} required Sets `required` validation error key
if the value is not ente
Login.c(90): red.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation constra
Login.c(90): int to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` inste
Login.c(90): ad of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation error
key if the value is shor
Login.c(90): ter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation error
key if the value is long
Login.c(90): er than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error key
if the value does not ma
Login.c(90): tch the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/` for
inline patterns or `rege
Login.c(90): xp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to u
Login.c(90): ser\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {boolean=} [ngTrim=true] If set to false Angular will
not automatically trim the
Login.c(90): input.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name input\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML input element control with angular data-binding. Input
control follows HTML5 input
Login.c(90): types\n
Login.c(90): * and polyfills the HTML5 validation behavior for older
browsers.\n
Login.c(90): *\n
Login.c(90): * *NOTE* Not every feature offered is available for all input
types.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to data-
bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which the
control is published.\n
Login.c(90): * @param {string=} required Sets `required` validation error key
if the value is not ente
Login.c(90): red.\n
Login.c(90): * @param {boolean=} ngRequired Sets `required` attribute if set
to true\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation error
key if the value is shor
Login.c(90): ter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation error
key if the value is long
Login.c(90): er than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error key
if the value does not ma
Login.c(90): tch the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/` for
inline patterns or `rege
Login.c(90): xp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to u
Login.c(90): ser\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {boolean=} [ngTrim=true] If set to false Angular will
not automatically trim the
Login.c(90): input.\n
Login.c(90): * This parameter is ignored for input[type=password] controls,
which will never trim t
Login.c(90): he\n
Login.c(90): * input.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="input-directive" module="inputExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('inputExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.user = {name: 'guest', last: 'visitor'};\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <form name="myForm">\n
Login.c(90): User name: <input type="text" name="userName" ng-
model="user.name" required>\n
Login.c(90): <span class="error" ng-show="myForm.userName.
$error.required">\n
Login.c(90): Required!</span><br>\n
Login.c(90): Last name: <input type="text" name="lastName" ng-
model="user.last"\n
Login.c(90): ng-minlength="3" ng-maxlength="10">\n
Login.c(90): <span class="error" ng-show="myForm.lastName.
$error.minlength">\n
Login.c(90): Too short!</span>\n
Login.c(90): <span class="error" ng-show="myForm.lastName.
$error.maxlength">\n
Login.c(90): Too long!</span><br>\n
Login.c(90): </form>\n
Login.c(90): <hr>\n
Login.c(90): <tt>user = {{user}}</tt><br/>\n
Login.c(90): <tt>myForm.userName.$valid = {{myForm.userName.
$valid}}</tt><br>\n
Login.c(90): <tt>myForm.userName.$error = {{myForm.userName.
$error}}</tt><br>\n
Login.c(90): <tt>myForm.lastName.$valid = {{myForm.lastName.
$valid}}</tt><br>\n
Login.c(90): <tt>myForm.lastName.$error = {{myForm.lastName.
$error}}</tt><br>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br>\n
Login.c(90): <tt>myForm.$error.minlength = {{!!myForm.
$error.minlength}}</tt><br>\n
Login.c(90): <tt>myForm.$error.maxlength = {{!!myForm.
$error.maxlength}}</tt><br>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var user = element(by.binding('{{user}}'));\n
Login.c(90): var userNameValid = element(by.binding('myForm.userName.
$valid'));\n
Login.c(90): var lastNameValid = element(by.binding('myForm.lastName.
$valid'));\n
Login.c(90): var lastNameError = element(by.binding('myForm.lastName.
$error'));\n
Login.c(90): var formValid = element(by.binding('myForm.$valid'));\n
Login.c(90): var userNameInput = element(by.model('user.name'));\n
Login.c(90): var userLastInput = element(by.model('user.last'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90):
expect(user.getText()).toContain('{"name":"guest","last":"visitor"}');\n
Login.c(90): expect(userNameValid.getText()).toContain('true');\n
Login.c(90): expect(formValid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty when required', function()
{\n
Login.c(90): userNameInput.clear();\n
Login.c(90): userNameInput.sendKeys('');\n
Login.c(90): \n
Login.c(90):
expect(user.getText()).toContain('{"last":"visitor"}');\n
Login.c(90): expect(userNameValid.getText()).toContain('false');\n
Login.c(90): expect(formValid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be valid if empty when min length is set',
function() {\n
Login.c(90): userLastInput.clear();\n
Login.c(90): userLastInput.sendKeys('');\n
Login.c(90): \n
Login.c(90):
expect(user.getText()).toContain('{"name":"guest","last":""}');\n
Login.c(90): expect(lastNameValid.getText()).toContain('true');\n
Login.c(90): expect(formValid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if less than required min length',
function() {\n
Login.c(90): userLastInput.clear();\n
Login.c(90): userLastInput.sendKeys('xx');\n
Login.c(90): \n
Login.c(90): expect(user.getText()).toContain('{"name":"guest"}');\n
Login.c(90): expect(lastNameValid.getText()).toContain('false');\n
Login.c(90):
expect(lastNameError.getText()).toContain('minlength');\n
Login.c(90): expect(formValid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if longer than max length',
function() {\n
Login.c(90): userLastInput.clear();\n
Login.c(90): userLastInput.sendKeys('some ridiculously long name');\n
Login.c(90): \n
Login.c(90): expect(user.getText()).toContain('{"name":"guest"}');\n
Login.c(90): expect(lastNameValid.getText()).toContain('false');\n
Login.c(90):
expect(lastNameError.getText()).toContain('maxlength');\n
Login.c(90): expect(formValid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var inputDirective = ['$browser', '$sniffer', function($browser,
$sniffer) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): require: '?ngModel',\n
Login.c(90): link: function(scope, element, attr, ctrl) {\n
Login.c(90): if (ctrl) {\n
Login.c(90): (inputType[lowercase(attr.type)] || inputType.text)(scope,
element, attr, ctrl, $s
Login.c(90): niffer,\n
Login.c(90):
$browser);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var VALID_CLASS = 'ng-valid',\n
Login.c(90): INVALID_CLASS = 'ng-invalid',\n
Login.c(90): PRISTINE_CLASS = 'ng-pristine',\n
Login.c(90): DIRTY_CLASS = 'ng-dirty';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name ngModel.NgModelController\n
Login.c(90): *\n
Login.c(90): * @property {string} $viewValue Actual string value in the
view.\n
Login.c(90): * @property {*} $modelValue The value in the model, that the
control is bound to.\n
Login.c(90): * @property {Array.<Function>} $parsers Array of functions to
execute, as a pipeline, whe
Login.c(90): never\n
Login.c(90): the control reads value from the DOM. Each function is
called, in turn, passing th
Login.c(90): e value\n
Login.c(90): through to the next. The last return value is used to
populate the model.\n
Login.c(90): Used to sanitize / convert the value as well as validation.
For validation,\n
Login.c(90): the parsers should update the validity state using\n
Login.c(90): {@link ngModel.NgModelController#$setValidity
$setValidity()},\n
Login.c(90): and return `undefined` for invalid values.\n
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * @property {Array.<Function>} $formatters Array of functions to
execute, as a pipeline,
Login.c(90): whenever\n
Login.c(90): the model value changes. Each function is called, in turn,
passing the value throug
Login.c(90): h to the\n
Login.c(90): next. Used to format / convert values for display in the
control and validation.\n
Login.c(90): * ```js\n
Login.c(90): * function formatter(value) {\n
Login.c(90): * if (value) {\n
Login.c(90): * return value.toUpperCase();\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * ngModel.$formatters.push(formatter);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @property {Array.<Function>} $viewChangeListeners Array of
functions to execute wheneve
Login.c(90): r the\n
Login.c(90): * view value has changed. It is called with no arguments, and
its return value is ign
Login.c(90): ored.\n
Login.c(90): * This can be used in place of additional $watches against
the model value.\n
Login.c(90): *\n
Login.c(90): * @property {Object} $error An object hash with all errors as
keys.\n
Login.c(90): *\n
Login.c(90): * @property {boolean} $pristine True if user has not interacted
with the control yet.\n
Login.c(90): * @property {boolean} $dirty True if user has already interacted
with the control.\n
Login.c(90): * @property {boolean} $valid True if there is no error.\n
Login.c(90): * @property {boolean} $invalid True if at least one error on the
control.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * `NgModelController` provides API for the `ng-model` directive.
The controller contains\n
Login.c(90): * services for data-binding, validation, CSS updates, and value
formatting and parsing. I
Login.c(90): t\n
Login.c(90): * purposefully does not contain any logic which deals with DOM
rendering or listening to\n
Login.c(90): * DOM events. Such DOM related logic should be provided by other
directives which make us
Login.c(90): e of\n
Login.c(90): * `NgModelController` for data-binding.\n
Login.c(90): *\n
Login.c(90): * ## Custom Control Example\n
Login.c(90): * This example shows how to use `NgModelController` with a custom
control to achieve\n
Login.c(90): * data-binding. Notice how different directives
(`contenteditable`, `ng-model`, and `requ
Login.c(90): ired`)\n
Login.c(90): * collaborate together to achieve the desired result.\n
Login.c(90): *\n
Login.c(90): * Note that `contenteditable` is an HTML5 attribute, which tells
the browser to let the e
Login.c(90): lement\n
Login.c(90): * contents be edited in place by the user. This will not work on
older browsers.\n
Login.c(90): *\n
Login.c(90): * We are using the {@link ng.service:$sce $sce} service here and
include the {@link ngSan
Login.c(90): itize $sanitize}\n
Login.c(90): * module to automatically remove "bad" content like inline event
listener (e.g. `<span on
Login.c(90): click="...">`).\n
Login.c(90): * However, as we are using
Login.c(90): t=3241ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): `$sce` the model can still decide to to provide unsafe content if
it marks\n
Login.c(90): * that content using the `$sce` service.\n
Login.c(90): *\n
Login.c(90): * <example name="NgModelController" module="customControl"
deps="angular-sanitize.js">\n
Login.c(90): <file name="style.css">\n
Login.c(90): [contenteditable] {\n
Login.c(90): border: 1px solid black;\n
Login.c(90): background-color: white;\n
Login.c(90): min-height: 20px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .ng-invalid {\n
Login.c(90): border: 1px solid red;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('customControl', ['ngSanitize']).\n
Login.c(90): directive('contenteditable', ['$sce', function($sce) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'A', // only activate on element attribute\n
Login.c(90): require: '?ngModel', // get a hold of
NgModelController\n
Login.c(90): link: function(scope, element, attrs, ngModel) {\n
Login.c(90): if(!ngModel) return; // do nothing if no ng-model\n
Login.c(90): \n
Login.c(90): // Specify how UI should be updated\n
Login.c(90): ngModel.$render = function() {\n
Login.c(90): element.html($sce.getTrustedHtml(ngModel.
$viewValue || ''));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Listen for change events to enable binding\n
Login.c(90): element.on('blur keyup change', function() {\n
Login.c(90): scope.$apply(read);\n
Login.c(90): });\n
Login.c(90): read(); // initialize\n
Login.c(90): \n
Login.c(90): // Write data to the model\n
Login.c(90): function read() {\n
Login.c(90): var html = element.html();\n
Login.c(90): // When we clear the content editable the browser
leaves a <br> behind\n
Login.c(90): // If strip-br attribute is provided then we strip
this out\n
Login.c(90): if( attrs.stripBr && html == '<br>' ) {\n
Login.c(90): html = '';\n
Login.c(90): }\n
Login.c(90): ngModel.$setViewValue(html);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <form name="myForm">\n
Login.c(90): <div contenteditable\n
Login.c(90): name="myWidget" ng-model="userContent"\n
Login.c(90): strip-br="true"\n
Login.c(90): required>Change me!</div>\n
Login.c(90): <span ng-show="myForm.myWidget.$error.required">Required!
</span>\n
Login.c(90): <hr>\n
Login.c(90): <textarea ng-model="userContent"></textarea>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should data-bind and become invalid', function() {\n
Login.c(90): if (browser.params.browser == 'safari' ||
browser.params.browser == 'firefox') {\n
Login.c(90): // SafariDriver can't handle contenteditable\n
Login.c(90): // and Firefox driver can't clear contenteditables very
well\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): var contentEditable =
element(by.css('[contenteditable]'));\n
Login.c(90): var content = 'Change me!';\n
Login.c(90): \n
Login.c(90): expect(contentEditable.getText()).toEqual(content);\n
Login.c(90): \n
Login.c(90): contentEditable.clear();\n
Login.c(90): contentEditable.sendKeys(protractor.Key.BACK_SPACE);\n
Login.c(90): expect(contentEditable.getText()).toEqual('');\n
Login.c(90): expect(contentEditable.getAttribute('class')).toMatch(/ng-
invalid-required/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): * </example>\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): var NgModelController = ['$scope', '$exceptionHandler', '$attrs',
'$element', '$parse', '$
Login.c(90): animate',\n
Login.c(90): function($scope, $exceptionHandler, $attr, $element, $parse,
$animate) {\n
Login.c(90): this.$viewValue = Number.NaN;\n
Login.c(90): this.$modelValue = Number.NaN;\n
Login.c(90): this.$parsers = [];\n
Login.c(90): this.$formatters = [];\n
Login.c(90): this.$viewChangeListeners = [];\n
Login.c(90): this.$pristine = true;\n
Login.c(90): this.$dirty = false;\n
Login.c(90): this.$valid = true;\n
Login.c(90): this.$invalid = false;\n
Login.c(90): this.$name = $attr.name;\n
Login.c(90): \n
Login.c(90): var ngModelGet = $parse($attr.ngModel),\n
Login.c(90): ngModelSet = ngModelGet.assign;\n
Login.c(90): \n
Login.c(90): if (!ngModelSet) {\n
Login.c(90): throw minErr('ngModel')('nonassign', "Expression '{0}' is non-
assignable. Element: {1}
Login.c(90): ",\n
Login.c(90): $attr.ngModel, startingTag($element));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$render\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Called when the view needs to be updated. It is expected that
the user of the ng-mode
Login.c(90): l\n
Login.c(90): * directive will implement this method.\n
Login.c(90): */\n
Login.c(90): this.$render = noop;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$isEmpty\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This is called when we need to determine if the value of the
input is empty.\n
Login.c(90): *\n
Login.c(90): * For instance, the required directive does this to work out if
the input has data or n
Login.c(90): ot.\n
Login.c(90): * The default `$isEmpty` function checks whether the value is
`undefined`, `''`, `null`
Login.c(90): or `NaN`.\n
Login.c(90): *\n
Login.c(90): * You can override this for input directives whose concept of
being empty is different
Login.c(90): to the\n
Login.c(90): * default. The `checkboxInputType` directive does this because
in its case a value of `
Login.c(90): false`\n
Login.c(90): * implies empty.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is empty.\n
Login.c(90): */\n
Login.c(90): this.$isEmpty = function(value) {\n
Login.c(90): return isUndefined(value) || value === '' || value === null ||
value !== value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var parentForm = $element.inheritedData('$formController') ||
nullFormCtrl,\n
Login.c(90): invalidCount = 0, // used to easily determine if we are
valid\n
Login.c(90): $error = this.$error = {}; // keep invalid keys here\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Setup initial state of the control\n
Login.c(90): $element.addClass(PRISTINE_CLASS);\n
Login.c(90): toggleValidCss(true);\n
Login.c(90): \n
Login.c(90): // convenience method for easy toggling of classes\n
Login.c(90): function toggleValidCss(isValid, validationErrorKey) {\n
Login.c(90): validationErrorKey = validationErrorKey ? '-' +
snake_case(validationErrorKey, '-') :
Login.c(90): '';\n
Login.c(90): $animate.removeClass($element, (isValid ? INVALID_CLASS :
VALID_CLASS) + validationErr
Login.c(90): orKey);\n
Login.c(90): $animate.addClass($element, (isValid ? VALID_CLASS :
INVALID_CLASS) + validationErrorK
Login.c(90): ey);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$setValidity\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Change the validity state, and notifies the form when the
control changes validity. (
Login.c(90): i.e. it\n
Login.c(90): * does not notify form if given validator is already marked as
invalid).\n
Login.c(90): *\n
Login.c(90): * This method should be called by validators - i.e. the parser
or formatter functions.\n
Login.c(90): *\n
Login.c(90): * @param {string} validationErrorKey Name of the validator. the
`validationErrorKey` wi
Login.c(90): ll assign\n
Login.c(90): * to `$error[validationErrorKey]=!isValid` so that it is
available for data-bind
Login.c(90): ing.\n
Login.c(90): * The `validationErrorKey` should be in camelCase and
will get converted into da
Login.c(90): sh-case\n
Login.c(90): * for class name. Example: `myError` will result in `ng-
valid-my-error` and `ng-
Login.c(90): invalid-my-error`\n
Login.c(90): * class and can be bound to as `{{someForm.someControl.
$error.myError}}` .\n
Login.c(90): * @param {boolean} isValid Whether the current state is valid
(true) or invalid (false)
Login.c(90): .\n
Login.c(90): */\n
Login.c(90): this.$setValidity = function(validationErrorKey, isValid) {\n
Login.c(90): // Purposeful use of ! here to cast isValid to boolean in case
it is undefined\n
Login.c(90): // jshint -W018\n
Login.c(90): if ($error[validationErrorKey] === !isValid) return;\n
Login.c(90): // jshint +W018\n
Login.c(90): \n
Login.c(90): if (isValid) {\n
Login.c(90): if ($error[validationErrorKey]) invalidCount--;\n
Login.c(90): if (!invalidCount) {\n
Login.c(90): toggleValidCss(true);\n
Login.c(90): this.$valid = true;\n
Login.c(90): this.$invalid = false;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): toggleValidCss(false);\n
Login.c(90): this.$invalid = true;\n
Login.c(90): this.$valid = false;\n
Login.c(90): invalidCount++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $error[validationErrorKey] = !isValid;\n
Login.c(90): toggleValidCss(isValid, validationErrorKey);\n
Login.c(90): \n
Login.c(90): parentForm.$setValidity(validationErrorKey, isValid, this);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$setPristine\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the control to its pristine state.\n
Login.c(90): *\n
Login.c(90): * This method can be called to remove the 'ng-dirty' class and
set the control to its p
Login.c(90): ristine\n
Login.c(90): * state (ng-pristine class).\n
Login.c(90): */\n
Login.c(90): this.$setPristine = function () {\n
Login.c(90): this.$dirty = false;\n
Login.c(90): this.$pristine = true;\n
Login.c(90): $animate.removeClass($element, DIRTY_CLASS);\n
Login.c(90): $animate.addClass($element, PRISTINE_CLASS);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$setViewValue\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Update the view value.\n
Login.c(90): *\n
Login.c(90): * This method should be called when the view value changes,
typically from within a DOM
Login.c(90): event handler.\n
Login.c(90): * For example {@link ng.directive:input input} and\n
Login.c(90): * {@link ng.directive:select select} directives call it.\n
Login.c(90): *\n
Login.c(90): * It will update the $viewValue, then pass this value through
each of the functions in
Login.c(90): `$parsers`,\n
Login.c(90): * which includes any validators. The value that comes out of
this `$parsers` pipeline,
Login.c(90): be applied to\n
Login.c(90): * `$modelValue` and the **expression** specified in the `ng-
model` attribute.\n
Login.c(90): *\n
Login.c(90): * Lastly, all the registered change listeners, in the
`$viewChangeListeners` list, are
Login.c(90): called.\n
Login.c(90): *\n
Login.c(90): * Note that calling this function does not trigger a
`$digest`.\n
Login.c(90): *\n
Login.c(90): * @param {string} value Value from the view.\n
Login.c(90): */\n
Login.c(90): this.$setViewValue = function(value) {\n
Login.c(90): this.$viewValue = value;\n
Login.c(90): \n
Login.c(90): // change to dirty\n
Login.c(90): if (this.$pristine) {\n
Login.c(90): this.$dirty = true;\n
Login.c(90): this.$pristine = false;\n
Login.c(90): $animate.removeClass($element, PRISTINE_CLASS);\n
Login.c(90): $animate.addClass($element, DIRTY_CLASS);\n
Login.c(90): parentForm.$setDirty();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): forEach(this.$parsers, function(fn) {\n
Login.c(90): value = fn(value);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (this.$modelValue !== value) {\n
Login.c(90): this.$modelValue = value;\n
Login.c(90): ngModelSet($scope, value);\n
Login.c(90): forEach(this.$viewChangeListeners, function(listener) {\n
Login.c(90): try {\n
Login.c(90): listener();\n
Login.c(90): } catch(e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // model -> value\n
Login.c(90): var ctrl = this;\n
Login.c(90): \n
Login.c(90): $scope.$watch(function ngModelWatch() {\n
Login.c(90): var value = ngModelGet($scope);\n
Login.c(90): \n
Login.c(90): // if scope model value and ngModel value are out of sync\n
Login.c(90): if (ctrl.$modelValue !== value) {\n
Login.c(90): \n
Login.c(90): var formatters = ctrl.$formatters,\n
Login.c(90): idx = formatters.length;\n
Login.c(90): \n
Login.c(90): ctrl.$modelValue = value;\n
Login.c(90): while(idx--) {\n
Login.c(90): value = formatters[idx](value);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (ctrl.$viewValue !== value) {\n
Login.c(90): ctrl.$viewValue = value;\n
Login.c(90): ctrl.$render();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): });\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngModel\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngModel` directive binds an `input`,`select`, `textarea`
(or custom form control)
Login.c(90): to a\n
Login.c(90): * property on the scope using {@link ngModel.NgModelController
NgModelController},\n
Login.c(90): * which is created and exposed by this directive.\n
Login.c(90): *\n
Login.c(90): * `ngModel` is responsible for:\n
Login.c(90): *\n
Login.c(90): * - Binding the view into the model, which other directives such
as `input`, `textarea` o
Login.c(90): r `select`\n
Login.c(90): * require.\n
Login.c(90): * - Providing validation behavior (i.e. required, number, email,
url).\n
Login.c(90): * - Keeping the state of the control (valid/invalid,
dirty/pristine, validation errors).\n
Login.c(90): * - Setting related css classes on the element (`ng-valid`, `ng-
invalid`, `ng-dirty`, `ng
Login.c(90): -pristine`) including animations.\n
Login.c(90): * - Registering the control with its parent {@link
ng.directive:form form}.\n
Login.c(90): *\n
Login.c(90): * Note: `ngModel` will try to bind to the property given by
evaluating the expression on
Login.c(90): the\n
Login.c(90): * current scope. If the property doesn't already exist on this
scope, it will be created\n
Login.c(90): * implicitly and added to the scope.\n
Login.c(90): *\n
Login.c(90): * For best practices on using `ngModel`, see:\n
Login.c(90): *\n
Login.c(90): * - [https://github.com/angular/angular.js/wiki/Understanding-
Scopes]\n
Login.c(90): *\n
Login.c(90): * For basic examples, how to use `ngModel`, see:\n
Login.c(90): *\n
Login.c(90): * - {@link ng.directive:input input}\n
Login.c(90): * - {@link input[text] text}\n
Login.c(90): * - {@link input[checkbox] checkbox}\n
Login.c(90): * - {@link input[radio] radio}\n
Login.c(90): * - {@link input[number] number}\n
Login.c(90): * - {@link input[email] email}\n
Login.c(90): * - {@link input[url] url}\n
Login.c(90): * - {@link ng.directive:select select}\n
Login.c(90): * - {@link ng.directive:textarea textarea}\n
Login.c(90): *\n
Login.c(90): * # CSS classes\n
Login.c(90): * The following CSS classes are added and removed on the
associated input/select/textarea
Login.c(90): element\n
Login.c(90): * depending on the validity of the model.\n
Login.c(90): *\n
Login.c(90): * - `ng-valid` is set if the model is valid.\n
Login.c(90): * - `ng-invalid` is set if the model is invalid.\n
Login.c(90): * - `ng-pristine` is set if the model is pristine.\n
Login.c(90): * - `ng-dirty` is set if the model is dirty.\n
Login.c(90): *\n
Login.c(90): * Keep in mind that ngAnimate can detect each of these classes
when added and removed.\n
Login.c(90): *\n
Login.c(90): * ## Animation Hooks\n
Login.c(90): *\n
Login.c(90): * Animations within models are triggered when any of the
associated CSS classes are added
Login.c(90): and removed\n
Login.c(90): * on the input element which is attached to the model. These
classes are: `.ng-pristine`,
Login.c(90): `.ng-dirty`,\n
Login.c(90): * `.ng-invalid` and `.ng-valid` as well as any other validations
that are performed on th
Login.c(90): e model itself.\n
Login.c(90): * The animations that are triggered within ngModel are similar to
how they work in ngClas
Login.c(90): s and\n
Login.c(90): * animations can be hooked into using CSS transitions, keyframes
as well as JS animations
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * The following example shows a simple way to utilize CSS
transitions to style an input e
Login.c(90): lemen
Login.c(90): t=3258ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): t\n
Login.c(90): * that has been rendered as invalid after it has been
validated:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * //be sure to include ngAnimate as a module to hook into more\n
Login.c(90): * //advanced animations\n
Login.c(90): * .my-input {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * background: white;\n
Login.c(90): * }\n
Login.c(90): * .my-input.ng-invalid {\n
Login.c(90): * background: red;\n
Login.c(90): * color:white;\n
Login.c(90): * }\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <example deps="angular-animate.js" animations="true"
fixBase="true" module="inputExampl
Login.c(90): e">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('inputExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.val = '1';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <style>\n
Login.c(90): .my-input {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): background: transparent;\n
Login.c(90): }\n
Login.c(90): .my-input.ng-invalid {\n
Login.c(90): color:white;\n
Login.c(90): background: red;\n
Login.c(90): }\n
Login.c(90): </style>\n
Login.c(90): Update input to see transitions when valid/invalid.\n
Login.c(90): Integer is a valid value.\n
Login.c(90): <form name="testForm" ng-controller="ExampleController">\n
Login.c(90): <input ng-model="val" ng-pattern="/^\\d+$/" name="anim"
class="my-input" />\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): * </example>\n
Login.c(90): */\n
Login.c(90): var ngModelDirective = function() {\n
Login.c(90): return {\n
Login.c(90): require: ['ngModel', '^?form'],\n
Login.c(90): controller: NgModelController,\n
Login.c(90): link: function(scope, element, attr, ctrls) {\n
Login.c(90): // notify others, especially parent forms\n
Login.c(90): \n
Login.c(90): var modelCtrl = ctrls[0],\n
Login.c(90): formCtrl = ctrls[1] || nullFormCtrl;\n
Login.c(90): \n
Login.c(90): formCtrl.$addControl(modelCtrl);\n
Login.c(90): \n
Login.c(90): scope.$on('$destroy', function() {\n
Login.c(90): formCtrl.$removeControl(modelCtrl);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngChange\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Evaluate the given expression when the user changes the
input.\n
Login.c(90): * The expression is evaluated immediately, unlike the JavaScript
onchange event\n
Login.c(90): * which only triggers at the end of a change (usually, when the
user leaves the\n
Login.c(90): * form element or presses the return key).\n
Login.c(90): * The expression is not evaluated when the value change is coming
from the model.\n
Login.c(90): *\n
Login.c(90): * Note, this directive requires `ngModel` to be present.\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): * @param {expression} ngChange {@link guide/expression
Expression} to evaluate upon chang
Login.c(90): e\n
Login.c(90): * in input value.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <example name="ngChange-directive" module="changeExample">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <script>\n
Login.c(90): * angular.module('changeExample', [])\n
Login.c(90): * .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): * $scope.counter = 0;\n
Login.c(90): * $scope.change = function() {\n
Login.c(90): * $scope.counter++;\n
Login.c(90): * };\n
Login.c(90): * }]);\n
Login.c(90): * </script>\n
Login.c(90): * <div ng-controller="ExampleController">\n
Login.c(90): * <input type="checkbox" ng-model="confirmed" ng-
change="change()" id="ng-change-ex
Login.c(90): ample1" />\n
Login.c(90): * <input type="checkbox" ng-model="confirmed" id="ng-
change-example2" />\n
Login.c(90): * <label for="ng-change-example2">Confirmed</label><br />\n
Login.c(90): * <tt>debug = {{confirmed}}</tt><br/>\n
Login.c(90): * <tt>counter = {{counter}}</tt><br/>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * var counter = element(by.binding('counter'));\n
Login.c(90): * var debug = element(by.binding('confirmed'));\n
Login.c(90): *\n
Login.c(90): * it('should evaluate the expression if changing from view',
function() {\n
Login.c(90): * expect(counter.getText()).toContain('0');\n
Login.c(90): *\n
Login.c(90): * element(by.id('ng-change-example1')).click();\n
Login.c(90): *\n
Login.c(90): * expect(counter.getText()).toContain('1');\n
Login.c(90): * expect(debug.getText()).toContain('true');\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * it('should not evaluate the expression if changing from
model', function() {\n
Login.c(90): * element(by.id('ng-change-example2')).click();\n
Login.c(90): \n
Login.c(90): * expect(counter.getText()).toContain('0');\n
Login.c(90): * expect(debug.getText()).toContain('true');\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): * </example>\n
Login.c(90): */\n
Login.c(90): var ngChangeDirective = valueFn({\n
Login.c(90): require: 'ngModel',\n
Login.c(90): link: function(scope, element, attr, ctrl) {\n
Login.c(90): ctrl.$viewChangeListeners.push(function() {\n
Login.c(90): scope.$eval(attr.ngChange);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var requiredDirective = function() {\n
Login.c(90): return {\n
Login.c(90): require: '?ngModel',\n
Login.c(90): link: function(scope, elm, attr, ctrl) {\n
Login.c(90): if (!ctrl) return;\n
Login.c(90): attr.required = true; // force truthy in case we are on non
input element\n
Login.c(90): \n
Login.c(90): var validator = function(value) {\n
Login.c(90): if (attr.required && ctrl.$isEmpty(value)) {\n
Login.c(90): ctrl.$setValidity('required', false);\n
Login.c(90): return;\n
Login.c(90): } else {\n
Login.c(90): ctrl.$setValidity('required', true);\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(validator);\n
Login.c(90): ctrl.$parsers.unshift(validator);\n
Login.c(90): \n
Login.c(90): attr.$observe('required', function() {\n
Login.c(90): validator(ctrl.$viewValue);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngList\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input that converts between a delimited string and an
array of strings. The delimi
Login.c(90): ter\n
Login.c(90): * can be a fixed string (by default a comma) or a regular
expression.\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): * @param {string=} ngList optional delimiter that should be used
to split the value. If\n
Login.c(90): * specified in form `/something/` then the value will be
converted into a regular expre
Login.c(90): ssion.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="ngList-directive" module="listExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('listExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.names = ['igor', 'misko', 'vojta'];\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): List: <input name="namesInput" ng-model="names" ng-list
required>\n
Login.c(90): <span class="error" ng-show="myForm.namesInput.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <br>\n
Login.c(90): <tt>names = {{names}}</tt><br/>\n
Login.c(90): <tt>myForm.namesInput.$valid = {{myForm.namesInput.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.namesInput.$error = {{myForm.namesInput.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var listInput = element(by.model('names'));\n
Login.c(90): var names = element(by.binding('{{names}}'));\n
Login.c(90): var valid = element(by.binding('myForm.namesInput.
$valid'));\n
Login.c(90): var error = element(by.css('span.error'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90):
expect(names.getText()).toContain('["igor","misko","vojta"]');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): expect(error.getCssValue('display')).toBe('none');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): listInput.clear();\n
Login.c(90): listInput.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(names.getText()).toContain('');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): expect(error.getCssValue('display')).not.toBe('none');
});\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngListDirective = function() {\n
Login.c(90): return {\n
Login.c(90): require: 'ngModel',\n
Login.c(90): link: function(scope, element, attr, ctrl) {\n
Login.c(90): var match = /\\/(.*)\\//.exec(attr.ngList),\n
Login.c(90): separator = match && new RegExp(match[1]) || attr.ngList
|| ',';\n
Login.c(90): \n
Login.c(90): var parse = function(viewValue) {\n
Login.c(90): // If the viewValue is invalid (say required but empty) it
will be `undefined`\n
Login.c(90): if (isUndefined(viewValue)) return;\n
Login.c(90): \n
Login.c(90): var list = [];\n
Login.c(90): \n
Login.c(90): if (viewValue) {\n
Login.c(90): forEach(viewValue.split(separator), function(value) {\n
Login.c(90): if (value) list.push(trim(value));\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return list;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(parse);\n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): if (isArray(value)) {\n
Login.c(90): return value.join(', ');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return undefined;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Override the standard $isEmpty because an empty array
means the input is empty.\n
Login.c(90): ctrl.$isEmpty = function(value) {\n
Login.c(90): return !value || !value.length;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var CONSTANT_VALUE_REGEXP = /^(true|false|\\d+)$/;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngValue\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Binds the given expression to the value of `input[select]` or
`input[radio]`, so\n
Login.c(90): * that when the element is selected, the `ngModel` of that
element is set to the\n
Login.c(90): * bound value.\n
Login.c(90): *\n
Login.c(90): * `ngValue` is useful when dynamically generating lists of radio
buttons using `ng-repeat
Login.c(90): `, as\n
Login.c(90): * shown below.\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): * @param {string=} ngValue angular expression, whose value will
be bound to the `value` a
Login.c(90): ttribute\n
Login.c(90): * of the `input` element\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="ngValue-directive" module="valueExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('valueExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.names = ['pizza', 'unicorns', 'robots'];\n
Login.c(90): $scope.my = { favorite: 'unicorns' };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form ng-controller="ExampleController">\n
Login.c(90): <h2>Which is your favorite?</h2>\n
Login.c(90): <label ng-repeat="name in names" for="{{name}}">\n
Login.c(90): {{name}}\n
Login.c(90): <input type="radio"\n
Login.c(90): ng-model="my.favorite"\n
Login.c(90): ng-value="name"\n
Login.c(90): id="{{name}}"\n
Login.c(90): name="favorite">\n
Login.c(90): </label>\n
Login.c(90): <div>You chose {{my.favorite}}</div>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var favorite = element(by.binding('my.favorite'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(favorite.getText()).toContain('unicorns');\n
Login.c(90): });\n
Login.c(90): it('should bind the values to the inputs', function() {\n
Login.c(90): element.all(by.model('my.favorite')).get(0).click();\n
Login.c(90): expect(favorite.getText()).toContain('pizza');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngValueDirective = function() {\n
Login.c(90): return {\n
Login.c(90): priority: 100,\n
Login.c(90): compile: function(tpl, tplAttr) {\n
Login.c(90): if (CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)) {\n
Login.c(90): return function ngValueConstantLink(scope, elm, attr) {\n
Login.c(90): attr.$set('value', scope.$eval(attr.ngValue));\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): return function ngValueLink(scope, elm, attr) {\n
Login.c(90): scope.$watch(attr.ngValue, function
valueWatchAction(value) {\n
Login.c(90): attr.$set('value', value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBind\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngBind` attribute tells Angular to replace the text
content of the specified HTML
Login.c(90): element\n
Login.c(90): * with the value of a given expression, and to update the text
content when the value of
Login.c(90): that\n
Login.c(90): * expression changes.\n
Login.c(90): *\n
Login.c(90): * Typically, you don't use `ngBind` directly, but instead you use
the double curly markup
Login.c(90): like\n
Login.c(90): * `{{ expression }}` which is similar but less verbose.\n
Login.c(90): *\n
Login.c(90): * It is preferable to use `ngBind` instead of `{{ expression }}`
if a template is momenta
Login.c(90): rily\n
Login.c(90): * displayed by the browser in its raw state before Angular
compiles it. Since `ngBind` is
Login.c(90): an\n
Login.c(90): * element attribute, it makes the bindings invisible to the user
while the page is loadin
Login.c(90): g.\n
Login.c(90): *\n
Login.c(90): * An alternative solution to this problem would be using the\n
Login.c(90): * {@link ng.directive:ngCloak ngCloak} directive.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngBind {@link guide/expression Expression}
to evaluate.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Enter a name in the Live Preview text box; the greeting below
the text box changes inst
Login.c(90): antly.\n
Login.c(90): <example module="bindExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('bindExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.name = 'Whirled';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Enter name: <input type="text" ng-model="name"><br>\n
Login.c(90): Hello <span ng-bind="name"></span>!\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-bind', function() {\n
Login.c(90): var nameInput = element(by.model('name'));\n
Login.c(90): \n
Login.c(90):
expect(element(by.binding('name')).getText()).toBe('Whirled');\n
Login.c(90): nameInput.clear();\n
Login.c(90): nameInput.sendKeys('world');\n
Login.c(90):
expect(element(by.binding('name')).getText()).toBe('world');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *
Login.c(90): t=3277ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): /\n
Login.c(90): var ngBindDirective = ngDirective({\n
Login.c(90): compile: function(templateElement) {\n
Login.c(90): templateElement.addClass('ng-binding');\n
Login.c(90): return function (scope, element, attr) {\n
Login.c(90): element.data('$binding', attr.ngBind);\n
Login.c(90): scope.$watch(attr.ngBind, function ngBindWatchAction(value)
{\n
Login.c(90): // We are purposefully using == here rather than ===
because we want to\n
Login.c(90): // catch when value is "null or undefined"\n
Login.c(90): // jshint -W041\n
Login.c(90): element.text(value == undefined ? '' : value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBindTemplate\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngBindTemplate` directive specifies that the element\n
Login.c(90): * text content should be replaced with the interpolation of the
template\n
Login.c(90): * in the `ngBindTemplate` attribute.\n
Login.c(90): * Unlike `ngBind`, the `ngBindTemplate` can contain multiple `{{`
`}}`\n
Login.c(90): * expressions. This directive is needed since some HTML
elements\n
Login.c(90): * (such as TITLE and OPTION) cannot contain SPAN elements.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {string} ngBindTemplate template of form\n
Login.c(90): * <tt>{{</tt> <tt>expression</tt> <tt>}}</tt> to eval.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Try it here: enter text in text box and watch the greeting
change.\n
Login.c(90): <example module="bindExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('bindExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', function
($scope) {\n
Login.c(90): $scope.salutation = 'Hello';\n
Login.c(90): $scope.name = 'World';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Salutation: <input type="text" ng-
model="salutation"><br>\n
Login.c(90): Name: <input type="text" ng-model="name"><br>\n
Login.c(90): <pre ng-bind-template="{{salutation}} {{name}}!"></pre>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-bind', function() {\n
Login.c(90): var salutationElem = element(by.binding('salutation'));\n
Login.c(90): var salutationInput = element(by.model('salutation'));\n
Login.c(90): var nameInput = element(by.model('name'));\n
Login.c(90): \n
Login.c(90): expect(salutationElem.getText()).toBe('Hello World!');\n
Login.c(90): \n
Login.c(90): salutationInput.clear();\n
Login.c(90): salutationInput.sendKeys('Greetings');\n
Login.c(90): nameInput.clear();\n
Login.c(90): nameInput.sendKeys('user');\n
Login.c(90): \n
Login.c(90): expect(salutationElem.getText()).toBe('Greetings
user!');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngBindTemplateDirective = ['$interpolate',
function($interpolate) {\n
Login.c(90): return function(scope, element, attr) {\n
Login.c(90): // TODO: move this to scenario runner\n
Login.c(90): var interpolateFn = $interpolate(element.attr(attr.
$attr.ngBindTemplate));\n
Login.c(90): element.addClass('ng-binding').data('$binding',
interpolateFn);\n
Login.c(90): attr.$observe('ngBindTemplate', function(value) {\n
Login.c(90): element.text(value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBindHtml\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a binding that will innerHTML the result of evaluating
the `expression` into th
Login.c(90): e current\n
Login.c(90): * element in a secure way. By default, the innerHTML-ed content
will be sanitized using
Login.c(90): the {@link\n
Login.c(90): * ngSanitize.$sanitize $sanitize} service. To utilize this
functionality, ensure that `$
Login.c(90): sanitize`\n
Login.c(90): * is available, for example, by including {@link ngSanitize} in
your module's dependencie
Login.c(90): s (not in\n
Login.c(90): * core Angular.) You may also bypass sanitization for values you
know are safe. To do so
Login.c(90): , bind to\n
Login.c(90): * an explicitly trusted value via {@link ng.$sce#trustAsHtml
$sce.trustAsHtml}. See the
Login.c(90): example\n
Login.c(90): * under {@link ng.$sce#Example Strict Contextual Escaping
(SCE)}.\n
Login.c(90): *\n
Login.c(90): * Note: If a `$sanitize` service is unavailable and the bound
value isn't explicitly trus
Login.c(90): ted, you\n
Login.c(90): * will have an exception (instead of an exploit.)\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngBindHtml {@link guide/expression
Expression} to evaluate.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): \n
Login.c(90): <example module="bindHtmlExample" deps="angular-sanitize.js">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <p ng-bind-html="myHTML"></p>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('bindHtmlExample', ['ngSanitize'])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.myHTML =\n
Login.c(90): 'I am an <code>HTML</code>string with ' +\n
Login.c(90): '<a href="#">links!</a> and other <em>stuff</em>';\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-bind-html', function() {\n
Login.c(90): expect(element(by.binding('myHTML')).getText()).toBe(\n
Login.c(90): 'I am an HTMLstring with links! and other stuff');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngBindHtmlDirective = ['$sce', '$parse', function($sce,
$parse) {\n
Login.c(90): return {\n
Login.c(90): compile: function (tElement) {\n
Login.c(90): tElement.addClass('ng-binding');\n
Login.c(90): \n
Login.c(90): return function (scope, element, attr) {\n
Login.c(90): element.data('$binding', attr.ngBindHtml);\n
Login.c(90): \n
Login.c(90): var parsed = $parse(attr.ngBindHtml);\n
Login.c(90): \n
Login.c(90): function getStringValue() {\n
Login.c(90): return (parsed(scope) || '').toString();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.$watch(getStringValue, function
ngBindHtmlWatchAction(value) {\n
Login.c(90): element.html($sce.getTrustedHtml(parsed(scope)) ||
'');\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): function classDirective(name, selector) {\n
Login.c(90): name = 'ngClass' + name;\n
Login.c(90): return ['$animate', function($animate) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'AC',\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): var oldVal;\n
Login.c(90): \n
Login.c(90): scope.$watch(attr[name], ngClassWatchAction, true);\n
Login.c(90): \n
Login.c(90): attr.$observe('class', function(value) {\n
Login.c(90): ngClassWatchAction(scope.$eval(attr[name]));\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (name !== 'ngClass') {\n
Login.c(90): scope.$watch('$index', function($index, old$index) {\n
Login.c(90): // jshint bitwise: false\n
Login.c(90): var mod = $index & 1;\n
Login.c(90): if (mod !== (old$index & 1)) {\n
Login.c(90): var classes = arrayClasses(scope.
$eval(attr[name]));\n
Login.c(90): mod === selector ?\n
Login.c(90): addClasses(classes) :\n
Login.c(90): removeClasses(classes);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addClasses(classes) {\n
Login.c(90): var newClasses = digestClassCounts(classes, 1);\n
Login.c(90): attr.$addClass(newClasses);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function removeClasses(classes) {\n
Login.c(90): var newClasses = digestClassCounts(classes, -1);\n
Login.c(90): attr.$removeClass(newClasses);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function digestClassCounts (classes, count) {\n
Login.c(90): var classCounts = element.data('$classCounts') || {};\n
Login.c(90): var classesToUpdate = [];\n
Login.c(90): forEach(classes, function (className) {\n
Login.c(90): if (count > 0 || classCounts[className]) {\n
Login.c(90): classCounts[className] = (classCounts[className] ||
0) + count;\n
Login.c(90): if (classCounts[className] === +(count > 0)) {\n
Login.c(90): classesToUpdate.push(className);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): element.data('$classCounts', classCounts);\n
Login.c(90): return classesToUpdate.join(' ');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function updateClasses (oldClasses, newClasses) {\n
Login.c(90): var toAdd = arrayDifference(newClasses, oldClasses);\n
Login.c(90): var toRemove = arrayDifference(oldClasses,
newClasses);\n
Login.c(90): toRemove = digestClassCounts(toRemove, -1);\n
Login.c(90): toAdd = digestClassCounts(toAdd, 1);\n
Login.c(90): \n
Login.c(90): if (toAdd.length === 0) {\n
Login.c(90): $animate.removeClass(element, toRemove);\n
Login.c(90): } else if (toRemove.length === 0) {\n
Login.c(90): $animate.addClass(element, toAdd);\n
Login.c(90): } else {\n
Login.c(90): $animate.setClass(element, toAdd, toRemove);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ngClassWatchAction(newVal) {\n
Login.c(90): if (selector === true || scope.$index % 2 === selector)
{\n
Login.c(90): var newClasses = arrayClasses(newVal || []);\n
Login.c(90): if (!oldVal) {\n
Login.c(90): addClasses(newClasses);\n
Login.c(90): } else if (!equals(newVal,oldVal)) {\n
Login.c(90): var oldClasses = arrayClasses(oldVal);\n
Login.c(90): updateClasses(oldClasses, newClasses);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): oldVal = shallowCopy(newVal);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function arrayDifference(tokens1, tokens2) {\n
Login.c(90): var values = [];\n
Login.c(90): \n
Login.c(90): outer:\n
Login.c(90): for(var i = 0; i < tokens1.length; i++) {\n
Login.c(90): var token = tokens1[i];\n
Login.c(90): for(var j = 0; j < tokens2.length; j++) {\n
Login.c(90): if(token == tokens2[j]) continue outer;\n
Login.c(90): }\n
Login.c(90): values.push(token);\n
Login.c(90): }\n
Login.c(90): return values;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function arrayClasses (classVal) {\n
Login.c(90): if (isArray(classVal)) {\n
Login.c(90): return classVal;\n
Login.c(90): } else if (isString(classVal)) {\n
Login.c(90): return classVal.split(' ');\n
Login.c(90): } else if (isObject(classVal)) {\n
Login.c(90): var classes = [], i = 0;\n
Login.c(90): forEach(classVal, function(v, k) {\n
Login.c(90): if (v) {\n
Login.c(90): classes = classes.concat(k.split(' '));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return classes;\n
Login.c(90): }\n
Login.c(90): return classVal;\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClass\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngClass` directive allows you to dynamically set CSS
classes on an HTML element by
Login.c(90): databinding\n
Login.c(90): * an expression that represents all classes to be added.\n
Login.c(90): *\n
Login.c(90): * The directive operates in three different ways, depending on
which of three types the e
Login.c(90): xpression\n
Login.c(90): * evaluates to:\n
Login.c(90): *\n
Login.c(90): * 1. If the expression evaluates to a string, the string should
be one or more space-deli
Login.c(90): mited class\n
Login.c(90): * names.\n
Login.c(90): *\n
Login.c(90): * 2. If the expression evaluates to an array, each element of the
array should be a strin
Login.c(90): g that is\n
Login.c(90): * one or more space-delimited class names.\n
Login.c(90): *\n
Login.c(90): * 3. If the expression evaluates to an object, then for each key-
value pair of the\n
Login.c(90): * object with a truthy value the corresponding key is used as a
class name.\n
Login.c(90): *\n
Login.c(90): * The directive won't add duplicate classes if a particular class
was already set.\n
Login.c(90): *\n
Login.c(90): * When the expression changes, the previously added classes are
removed and only then the
Login.c(90): \n
Login.c(90): * new classes are added.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * add - happens just before the class is applied to the element\n
Login.c(90): * remove - happens just before the class is removed from the
element\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngClass {@link guide/expression Expression}
to eval. The result\n
Login.c(90): * of the evaluation can be a string representing space
delimited class\n
Login.c(90): * names, an array, or a map of class names to boolean values.
In the case of a map, the
Login.c(90): \n
Login.c(90): * names of the properties whose values are truthy will be added
as css classes to the\n
Login.c(90): * element.\n
Login.c(90): *\n
Login.c(90): * @example Example that demonstrates basic bindings via ngClass
directive.\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <p ng-class="{strike: deleted, bold: important, red:
error}">Map Syntax Example</p>
Login.c(90): \n
Login.c(90): <input type="checkbox" ng-model="deleted"> deleted (apply
"strike" class)<br>\n
Login.c(90): <input type="checkbox" ng-model="important"> important
(apply "bold" class)<br>\n
Login.c(90): <input type="checkbox" ng-model="error"> error (apply "red"
class)\n
Login.c(90): <hr>\n
Login.c(90): <p ng-class="style">Using String Syntax</p>\n
Login.c(90): <input type="text" ng-model="style" placeholder="Type: bold
strike red">\n
Login.c(90): <hr>\n
Login.c(90): <p ng-class="[style1, style2, style3]">Using Array
Syntax</p>\n
Login.c(90): <input ng-model="style1" placeholder="Type: bold, strike or
red"><br>\n
Login.c(90): <input ng-model="style2" placeholder="Type: bold, strike or
red"><br>\n
Login.c(90): <input ng-model="style3" placeholder="Type: bold, strike or
red"><br>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .strike {\n
Login.c(90): text-decoration: line-through;\n
Login.c(90): }\n
Login.c(90): .bold {\n
Login.c(90): font-weight: bold;\n
Login.c(90): }\n
Login.c(90): .red {\n
Login.c(90): color: red;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var ps = element.all(by.css('p'));\n
Login.c(90): \n
Login.c(90): it('should let you toggle the class', function() {\n
Login.c(90): \n
Login.c(90):
expect(ps.first().getAttribute('class')).not.toMatch(/bold/);\n
Login.c(90):
expect(ps.first().getAttribute('class')).not.toMatch(/red/);\n
Login.c(90): \n
Login.c(90): element(by.model('important')).click();\n
Login.c(90):
expect(ps.first().getAttribute('class')).toMatch(/bold/);\n
Login.c(90): \n
Login.c(90): element(by.model('error')).click();\n
Login.c(90):
expect(ps.first().getAttribute('class')).toMatch(/red/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should let you toggle string example', function() {\n
Login.c(90): expect(ps.get(1).getAttribute('class')).toBe('');\n
Login.c(90): element(by.model('style')).clear();\n
Login.c(90): element(by.model('style')).sendKeys('red');\n
Login.c(90): expect(ps.get(1).getAttribute('class')).toBe('red');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('array example should have 3 classes', function() {\n
Login.c(90): expect(ps.last().getAttribute('class')).t
Login.c(90): t=3293ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): oBe('');\n
Login.c(90): element(by.model('style1')).sendKeys('bold');\n
Login.c(90): element(by.model('style2')).sendKeys('strike');\n
Login.c(90): element(by.model('style3')).sendKeys('red');\n
Login.c(90): expect(ps.last().getAttribute('class')).toBe('bold strike
red');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): \n
Login.c(90): ## Animations\n
Login.c(90): \n
Login.c(90): The example below demonstrates how to perform animations using
ngClass.\n
Login.c(90): \n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input id="setbtn" type="button" value="set" ng-
click="myVar='my-class'">\n
Login.c(90): <input id="clearbtn" type="button" value="clear" ng-
click="myVar=''">\n
Login.c(90): <br>\n
Login.c(90): <span class="base-class" ng-class="myVar">Sample
Text</span>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .base-class {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .base-class.my-class {\n
Login.c(90): color: red;\n
Login.c(90): font-size:3em;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-class', function() {\n
Login.c(90): expect(element(by.css('.base-
class')).getAttribute('class')).not.\n
Login.c(90): toMatch(/my-class/);\n
Login.c(90): \n
Login.c(90): element(by.id('setbtn')).click();\n
Login.c(90): \n
Login.c(90): expect(element(by.css('.base-
class')).getAttribute('class')).\n
Login.c(90): toMatch(/my-class/);\n
Login.c(90): \n
Login.c(90): element(by.id('clearbtn')).click();\n
Login.c(90): \n
Login.c(90): expect(element(by.css('.base-
class')).getAttribute('class')).not.\n
Login.c(90): toMatch(/my-class/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): ## ngClass and pre-existing CSS3 Transitions/Animations\n
Login.c(90): The ngClass directive still supports CSS3
Transitions/Animations even if they do not fo
Login.c(90): llow the ngAnimate CSS naming structure.\n
Login.c(90): Upon animation ngAnimate will apply supplementary CSS classes
to track the start and en
Login.c(90): d of an animation, but this will not hinder\n
Login.c(90): any pre-existing CSS transitions already on the element. To get
an idea of what happens
Login.c(90): during a class-based animation, be sure\n
Login.c(90): to view the step by step details of {@link ngAnimate.
$animate#addclass $animate.addClas
Login.c(90): s} and\n
Login.c(90): {@link ngAnimate.$animate#removeclass $animate.removeClass}.\n
Login.c(90): */\n
Login.c(90): var ngClassDirective = classDirective('', true);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClassOdd\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngClassOdd` and `ngClassEven` directives work exactly as\n
Login.c(90): * {@link ng.directive:ngClass ngClass}, except they work in\n
Login.c(90): * conjunction with `ngRepeat` and take effect only on odd (even)
rows.\n
Login.c(90): *\n
Login.c(90): * This directive can be applied only within the scope of an\n
Login.c(90): * {@link ng.directive:ngRepeat ngRepeat}.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngClassOdd {@link guide/expression
Expression} to eval. The result\n
Login.c(90): * of the evaluation can be a string representing space
delimited class names or an arra
Login.c(90): y.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <ol ng-init="names=['John', 'Mary', 'Cate', 'Suz']">\n
Login.c(90): <li ng-repeat="name in names">\n
Login.c(90): <span ng-class-odd="'odd'" ng-class-even="'even'">\n
Login.c(90): {{name}}\n
Login.c(90): </span>\n
Login.c(90): </li>\n
Login.c(90): </ol>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .odd {\n
Login.c(90): color: red;\n
Login.c(90): }\n
Login.c(90): .even {\n
Login.c(90): color: blue;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-class-odd and ng-class-even',
function() {\n
Login.c(90): expect(element(by.repeater('name in
names').row(0).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/odd/);\n
Login.c(90): expect(element(by.repeater('name in
names').row(1).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/even/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngClassOddDirective = classDirective('Odd', 0);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClassEven\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngClassOdd` and `ngClassEven` directives work exactly as\n
Login.c(90): * {@link ng.directive:ngClass ngClass}, except they work in\n
Login.c(90): * conjunction with `ngRepeat` and take effect only on odd (even)
rows.\n
Login.c(90): *\n
Login.c(90): * This directive can be applied only within the scope of an\n
Login.c(90): * {@link ng.directive:ngRepeat ngRepeat}.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngClassEven {@link guide/expression
Expression} to eval. The\n
Login.c(90): * result of the evaluation can be a string representing space
delimited class names or
Login.c(90): an array.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <ol ng-init="names=['John', 'Mary', 'Cate', 'Suz']">\n
Login.c(90): <li ng-repeat="name in names">\n
Login.c(90): <span ng-class-odd="'odd'" ng-class-even="'even'">\n
Login.c(90): {{name}} \n
Login.c(90): </span>\n
Login.c(90): </li>\n
Login.c(90): </ol>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .odd {\n
Login.c(90): color: red;\n
Login.c(90): }\n
Login.c(90): .even {\n
Login.c(90): color: blue;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-class-odd and ng-class-even',
function() {\n
Login.c(90): expect(element(by.repeater('name in
names').row(0).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/odd/);\n
Login.c(90): expect(element(by.repeater('name in
names').row(1).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/even/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngClassEvenDirective = classDirective('Even', 1);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCloak\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngCloak` directive is used to prevent the Angular html
template from being briefly
Login.c(90): \n
Login.c(90): * displayed by the browser in its raw (uncompiled) form while
your application is loading
Login.c(90): . Use this\n
Login.c(90): * directive to avoid the undesirable flicker effect caused by the
html template display.\n
Login.c(90): *\n
Login.c(90): * The directive can be applied to the `<body>` element, but the
preferred usage is to app
Login.c(90): ly\n
Login.c(90): * multiple `ngCloak` directives to small portions of the page to
permit progressive rende
Login.c(90): ring\n
Login.c(90): * of the browser view.\n
Login.c(90): *\n
Login.c(90): * `ngCloak` works in cooperation with the following css rule
embedded within `angular.js`
Login.c(90): and\n
Login.c(90): * `angular.min.js`.\n
Login.c(90): * For CSP mode please add `angular-csp.css` to your html file
(see {@link ng.directive:ng
Login.c(90): Csp ngCsp}).\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * [ng\\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-
cloak, .x-ng-cloak {\n
Login.c(90): * display: none !important;\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * When this css rule is loaded by the browser, all html elements
(including their childre
Login.c(90): n) that\n
Login.c(90): * are tagged with the `ngCloak` directive are hidden. When
Angular encounters this direct
Login.c(90): ive\n
Login.c(90): * during the compilation of the template it deletes the `ngCloak`
element attribute, maki
Login.c(90): ng\n
Login.c(90): * the compiled element visible.\n
Login.c(90): *\n
Login.c(90): * For the best result, the `angular.js` script must be loaded in
the head section of the
Login.c(90): html\n
Login.c(90): * document; alternatively, the css rule above must be included in
the external stylesheet
Login.c(90): of the\n
Login.c(90): * application.\n
Login.c(90): *\n
Login.c(90): * Legacy browsers, like IE7, do not provide attribute selector
support (added in CSS 2.1)
Login.c(90): so they\n
Login.c(90): * cannot match the `[ng\\:cloak]` selector. To work around this
limitation, you must add
Login.c(90): the css\n
Login.c(90): * class `ng-cloak` in addition to the `ngCloak` directive as
shown in the example below.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div id="template1" ng-cloak>{{ 'hello' }}</div>\n
Login.c(90): <div id="template2" ng-cloak class="ng-cloak">{{ 'hello
IE7' }}</div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should remove the template directive and css class',
function() {\n
Login.c(90): expect($('#template1').getAttribute('ng-cloak')).\n
Login.c(90): toBeNull();\n
Login.c(90): expect($('#template2').getAttribute('ng-cloak')).\n
Login.c(90): toBeNull();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): var ngCloakDirective = ngDirective({\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): attr.$set('ngCloak', undefined);\n
Login.c(90): element.removeClass('ng-cloak');\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngController\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngController` directive attaches a controller class to the
view. This is a key asp
Login.c(90): ect of how angular\n
Login.c(90): * supports the principles behind the Model-View-Controller design
pattern.\n
Login.c(90): *\n
Login.c(90): * MVC components in angular:\n
Login.c(90): *\n
Login.c(90): * * Model \xE2\x80\x94 Models are the properties of a scope;
scopes are attached to the D
Login.c(90): OM where scope properties\n
Login.c(90): * are accessed through bindings.\n
Login.c(90): * * View \xE2\x80\x94 The template (HTML with data bindings) that
is rendered into the Vi
Login.c(90): ew.\n
Login.c(90): * * Controller \xE2\x80\x94 The `ngController` directive
specifies a Controller class; th
Login.c(90): e class contains business\n
Login.c(90): * logic behind the application to decorate the scope with
functions and values\n
Login.c(90): *\n
Login.c(90): * Note that you can also attach controllers to the DOM by
declaring it in a route definit
Login.c(90): ion\n
Login.c(90): * via the {@link ngRoute.$route $route} service. A common mistake
is to declare the contr
Login.c(90): oller\n
Login.c(90): * again using `ng-controller` in the template itself. This will
cause the controller to
Login.c(90): be attached\n
Login.c(90): * and executed twice.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @scope\n
Login.c(90): * @param {expression} ngController Name of a globally accessible
constructor function or
Login.c(90): an\n
Login.c(90): * {@link guide/expression expression} that on the current
scope evaluates to a\n
Login.c(90): * constructor function. The controller instance can be
published into a scope propert
Login.c(90): y\n
Login.c(90): * by specifying `as propertyName`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here is a simple form for editing user contact information.
Adding, removing, clearing,
Login.c(90): and\n
Login.c(90): * greeting are methods declared on the controller (see source
tab). These methods can\n
Login.c(90): * easily be called from the angular markup. Any changes to the
data are automatically ref
Login.c(90): lected\n
Login.c(90): * in the View without the need for a manual update.\n
Login.c(90): *\n
Login.c(90): * Two different declaration styles are included below:\n
Login.c(90): *\n
Login.c(90): * * one binds methods and properties directly onto the controller
using `this`:\n
Login.c(90): * `ng-controller="SettingsController1 as settings"`\n
Login.c(90): * * one injects `$scope` into the controller:\n
Login.c(90): * `ng-controller="SettingsController2"`\n
Login.c(90): *\n
Login.c(90): * The second option is more common in the Angular community, and
is generally used in boi
Login.c(90): lerplates\n
Login.c(90): * and in this guide. However, there are advantages to binding
properties directly to the
Login.c(90): controller\n
Login.c(90): * and avoiding scope.\n
Login.c(90): *\n
Login.c(90): * * Using `controller as` makes it obvious which controller you
are accessing in the temp
Login.c(90): late when\n
Login.c(90): * multiple controllers apply to an element.\n
Login.c(90): * * If you are writing your controllers as classes you have
easier access to the properti
Login.c(90): es and\n
Login.c(90): * methods, which will appear on the scope, from inside the
controller code.\n
Login.c(90): * * Since there is always a `.` in the bindings, you don't have
to worry about prototypal
Login.c(90): \n
Login.c(90): * inheritance masking primitives.\n
Login.c(90): *\n
Login.c(90): * This example demonstrates the `controller as` syntax.\n
Login.c(90): *\n
Login.c(90): * <example name="ngControllerAs" module="controllerAsExample">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <div id="ctrl-as-exmpl" ng-controller="SettingsController1
as settings">\n
Login.c(90): * Name: <input type="text" ng-model="settings.name"/>\n
Login.c(90): * [ <a href="" ng-click="settings.greet()">greet</a> ]
<br/>\n
Login.c(90): * Contact:\n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in settings.contacts">\n
Login.c(90): * <select ng-model="contact.type">\n
Login.c(90): * <option>phone</option>\n
Login.c(90): * <option>email</option>\n
Login.c(90): * </select>\n
Login.c(90): * <input type="text" ng-model="contact.value"/>\n
Login.c(90): * [ <a href="" ng-
click="settings.clearContact(contact)">clear</a>\n
Login.c(90): * | <a href="" ng-
click="settings.removeContact(contact)">X</a> ]\n
Login.c(90): * </li>\n
Login.c(90): * <li>[ <a href="" ng-
click="settings.addContact()">add</a> ]</li>\n
Login.c(90): * </ul>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): * <file name="app.js">\n
Login.c(90): * angular.module('controllerAsExample', [])\n
Login.c(90): * .controller('SettingsController1', SettingsController1);\n
Login.c(90): *\n
Login.c(90): * function SettingsController1() {\n
Login.c(90): * this.name = "John Smith";\n
Login.c(90): * this.contacts = [\n
Login.c(90): * {type: 'phone', value: '408 555 1212'},\n
Login.c(90): * {type: 'email', value: 'john.smith@example.org'} ];\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.greet = function() {\n
Login.c(90): * alert(this.name);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.addContact = function() {\n
Login.c(90): * this.contacts.push({type: 'email', value:
'yourname@example.org'});\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.removeContact =
function(contactToRemove) {\n
Login.c(90): * var index = this.contacts.indexOf(contactToRemove);\n
Login.c(90): * this.contacts.splice(index, 1);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.clearContact =
function(contact) {\n
Login.c(90): * contact.type = 'phone';\n
Login.c(90): * contact.value = '';\n
Login.c(90): * };
Login.c(90): t=3310ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): \n
Login.c(90): * </file>\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * it('should check controller as', function() {\n
Login.c(90): * var container = element(by.id('ctrl-as-exmpl'));\n
Login.c(90): * expect(container.element(by.model('settings.name'))\n
Login.c(90): * .getAttribute('value')).toBe('John Smith');\n
Login.c(90): *\n
Login.c(90): * var firstRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
settings.contacts').row(0));\n
Login.c(90): * var secondRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
settings.contacts').row(1));\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('408 555 1212');\n
Login.c(90): *\n
Login.c(90): *
expect(secondRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('john.smith@example.org');\n
Login.c(90): *\n
Login.c(90): * firstRepeat.element(by.linkText('clear')).click();\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('');\n
Login.c(90): *\n
Login.c(90): * container.element(by.linkText('add')).click();\n
Login.c(90): *\n
Login.c(90): * expect(container.element(by.repeater('contact in
settings.contacts').row(2))\n
Login.c(90): * .element(by.model('contact.value'))\n
Login.c(90): * .getAttribute('value'))\n
Login.c(90): * .toBe('yourname@example.org');\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): * </example>\n
Login.c(90): *\n
Login.c(90): * This example demonstrates the "attach to `$scope`" style of
controller.\n
Login.c(90): *\n
Login.c(90): * <example name="ngController" module="controllerExample">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <div id="ctrl-exmpl" ng-controller="SettingsController2">\n
Login.c(90): * Name: <input type="text" ng-model="name"/>\n
Login.c(90): * [ <a href="" ng-click="greet()">greet</a> ]<br/>\n
Login.c(90): * Contact:\n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <select ng-model="contact.type">\n
Login.c(90): * <option>phone</option>\n
Login.c(90): * <option>email</option>\n
Login.c(90): * </select>\n
Login.c(90): * <input type="text" ng-model="contact.value"/>\n
Login.c(90): * [ <a href="" ng-
click="clearContact(contact)">clear</a>\n
Login.c(90): * | <a href="" ng-
click="removeContact(contact)">X</a> ]\n
Login.c(90): * </li>\n
Login.c(90): * <li>[ <a href="" ng-click="addContact()">add</a> ]</li>\n
Login.c(90): * </ul>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): * <file name="app.js">\n
Login.c(90): * angular.module('controllerExample', [])\n
Login.c(90): * .controller('SettingsController2', ['$scope',
SettingsController2]);\n
Login.c(90): *\n
Login.c(90): * function SettingsController2($scope) {\n
Login.c(90): * $scope.name = "John Smith";\n
Login.c(90): * $scope.contacts = [\n
Login.c(90): * {type:'phone', value:'408 555 1212'},\n
Login.c(90): * {type:'email', value:'john.smith@example.org'} ];\n
Login.c(90): *\n
Login.c(90): * $scope.greet = function() {\n
Login.c(90): * alert($scope.name);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.addContact = function() {\n
Login.c(90): * $scope.contacts.push({type:'email',
value:'yourname@example.org'});\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.removeContact = function(contactToRemove) {\n
Login.c(90): * var index = $scope.contacts.indexOf(contactToRemove);\n
Login.c(90): * $scope.contacts.splice(index, 1);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.clearContact = function(contact) {\n
Login.c(90): * contact.type = 'phone';\n
Login.c(90): * contact.value = '';\n
Login.c(90): * };\n
Login.c(90): * }\n
Login.c(90): * </file>\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * it('should check controller', function() {\n
Login.c(90): * var container = element(by.id('ctrl-exmpl'));\n
Login.c(90): *\n
Login.c(90): * expect(container.element(by.model('name'))\n
Login.c(90): * .getAttribute('value')).toBe('John Smith');\n
Login.c(90): *\n
Login.c(90): * var firstRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
contacts').row(0));\n
Login.c(90): * var secondRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
contacts').row(1));\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('408 555 1212');\n
Login.c(90): *
expect(secondRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('john.smith@example.org');\n
Login.c(90): *\n
Login.c(90): * firstRepeat.element(by.linkText('clear')).click();\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('');\n
Login.c(90): *\n
Login.c(90): * container.element(by.linkText('add')).click();\n
Login.c(90): *\n
Login.c(90): * expect(container.element(by.repeater('contact in
contacts').row(2))\n
Login.c(90): * .element(by.model('contact.value'))\n
Login.c(90): * .getAttribute('value'))\n
Login.c(90): * .toBe('yourname@example.org');\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): *</example>\n
Login.c(90): \n
Login.c(90): */\n
Login.c(90): var ngControllerDirective = [function() {\n
Login.c(90): return {\n
Login.c(90): scope: true,\n
Login.c(90): controller: '@',\n
Login.c(90): priority: 500\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCsp\n
Login.c(90): *\n
Login.c(90): * @element html\n
Login.c(90): * @description\n
Login.c(90): * Enables [CSP (Content Security Policy)]
(https://developer.mozilla.org/en/Security/CSP)
Login.c(90): support.\n
Login.c(90): *\n
Login.c(90): * This is necessary when developing things like Google Chrome
Extensions.\n
Login.c(90): *\n
Login.c(90): * CSP forbids apps to use `eval` or `Function(string)` generated
functions (among other t
Login.c(90): hings).\n
Login.c(90): * For Angular to be CSP compatible there are only two things that
we need to do different
Login.c(90): ly:\n
Login.c(90): *\n
Login.c(90): * - don't use `Function` constructor to generate optimized value
getters\n
Login.c(90): * - don't inject custom stylesheet into the document\n
Login.c(90): *\n
Login.c(90): * AngularJS uses `Function(string)` generated functions as a
speed optimization. Applying
Login.c(90): the `ngCsp`\n
Login.c(90): * directive will cause Angular to use CSP compatibility mode.
When this mode is on Angula
Login.c(90): rJS will\n
Login.c(90): * evaluate all expressions up to 30% slower than in non-CSP mode,
but no security violati
Login.c(90): ons will\n
Login.c(90): * be raised.\n
Login.c(90): *\n
Login.c(90): * CSP forbids JavaScript to inline stylesheet rules. In non CSP
mode Angular automaticall
Login.c(90): y\n
Login.c(90): * includes some CSS rules (e.g. {@link ng.directive:ngCloak
ngCloak}).\n
Login.c(90): * To make those directives work in CSP mode, include the
`angular-csp.css` manually.\n
Login.c(90): *\n
Login.c(90): * Angular tries to autodetect if CSP is active and automatically
turn on the CSP-safe mod
Login.c(90): e. This\n
Login.c(90): * autodetection however triggers a CSP error to be logged in the
console:\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * Refused to evaluate a string as JavaScript because 'unsafe-
eval' is not an allowed sour
Login.c(90): ce of\n
Login.c(90): * script in the following Content Security Policy directive:
"default-src 'self'". Note t
Login.c(90): hat\n
Login.c(90): * 'script-src' was not explicitly set, so 'default-src' is used
as a fallback.\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * This error is harmless but annoying. To prevent the error from
showing up, put the `ngC
Login.c(90): sp`\n
Login.c(90): * directive on the root element of the application or on the
`angular.js` script tag, whi
Login.c(90): chever\n
Login.c(90): * appears first in the html document.\n
Login.c(90): *\n
Login.c(90): * *Note: This directive is only available in the `ng-csp` and
`data-ng-csp` attribute for
Login.c(90): m.*\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This example shows how to apply the `ngCsp` directive to the
`html` tag.\n
Login.c(90): ```html\n
Login.c(90): <!doctype html>\n
Login.c(90): <html ng-app ng-csp>\n
Login.c(90): ...\n
Login.c(90): ...\n
Login.c(90): </html>\n
Login.c(90): ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): // ngCsp is not implemented as a proper directive any more,
because we need it be processe
Login.c(90): d while we\n
Login.c(90): // bootstrap the system (before $parse is instantiated), for this
reason we just have\n
Login.c(90): // the csp.isActive() fn that looks for ng-csp attribute anywhere
in the current doc\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClick\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The ngClick directive allows you to specify custom behavior
when\n
Login.c(90): * an element is clicked.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngClick {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * click. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-click="count = count + 1" ng-init="count=0">\n
Login.c(90): Increment\n
Login.c(90): </button>\n
Login.c(90): <span>\n
Login.c(90): count: {{count}}\n
Login.c(90): <span>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-click', function() {\n
Login.c(90):
expect(element(by.binding('count')).getText()).toMatch('0');\n
Login.c(90): element(by.css('button')).click();\n
Login.c(90):
expect(element(by.binding('count')).getText()).toMatch('1');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): /*\n
Login.c(90): * A directive that allows creation of custom onclick handlers
that are defined as angular
Login.c(90): \n
Login.c(90): * expressions and are compiled and executed within the current
scope.\n
Login.c(90): *\n
Login.c(90): * Events that are handled via these handler are always configured
not to propagate furthe
Login.c(90): r.\n
Login.c(90): */\n
Login.c(90): var ngEventDirectives = {};\n
Login.c(90): \n
Login.c(90): // For events that might fire synchronously during DOM
manipulation\n
Login.c(90): // we need to execute their event handlers asynchronously using
$evalAsync,\n
Login.c(90): // so that they are not executed in an inconsistent state.\n
Login.c(90): var forceAsyncEvents = {\n
Login.c(90): 'blur': true,\n
Login.c(90): 'focus': true\n
Login.c(90): };\n
Login.c(90): forEach(\n
Login.c(90): 'click dblclick mousedown mouseup mouseover mouseout mousemove
mouseenter mouseleave key
Login.c(90): down keyup keypress submit focus blur copy cut paste'.split('
'),\n
Login.c(90): function(eventName) {\n
Login.c(90): var directiveName = directiveNormalize('ng-' + eventName);\n
Login.c(90): ngEventDirectives[directiveName] = ['$parse', '$rootScope',
function($parse, $rootScop
Login.c(90): e) {\n
Login.c(90): return {\n
Login.c(90): compile: function($element, attr) {\n
Login.c(90): var fn = $parse(attr[directiveName]);\n
Login.c(90): return function ngEventHandler(scope, element) {\n
Login.c(90): element.on(eventName, function(event) {\n
Login.c(90): var callback = function() {\n
Login.c(90): fn(scope, {$event:event});\n
Login.c(90): };\n
Login.c(90): if (forceAsyncEvents[eventName] && $rootScope.$
$phase) {\n
Login.c(90): scope.$evalAsync(callback);\n
Login.c(90): } else {\n
Login.c(90): scope.$apply(callback);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): );\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngDblclick\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngDblclick` directive allows you to specify custom
behavior on a dblclick event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngDblclick {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * a dblclick. (The Event object is available as `$event`)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-dblclick="count = count + 1" ng-init="count=0">\n
Login.c(90): Increment (on double click)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMousedown\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The ngMousedown directive allows you to specify custom behavior
on mousedown event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMousedown {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mousedown. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mousedown="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (on mouse down)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseup\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseup event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseup {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseup. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mouseup="count = count + 1" ng-init="count=0">\n
Login.c(90): Increment (on mouse up)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseover\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseover event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseover {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseover. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mouseover="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse is over)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseenter\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseenter event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseenter {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseenter. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mouseenter="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse enters)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseleave\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseleave event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseleave {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseleave. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <
Login.c(90): t=3355ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): file name="index.html">\n
Login.c(90): <button ng-mouseleave="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse leaves)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMousemove\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mousemove event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMousemove {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mousemove. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mousemove="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse moves)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngKeydown\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on keydown event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngKeydown {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * keydown. (Event object is available as `$event` and can be
interrogated for keyCode, al
Login.c(90): tKey, etc.)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-keydown="count = count + 1" ng-init="count=0">\n
Login.c(90): key down count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngKeyup\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on keyup event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngKeyup {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * keyup. (Event object is available as `$event` and can be
interrogated for keyCode, altK
Login.c(90): ey, etc.)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <p>Typing in the input box below updates the key
count</p>\n
Login.c(90): <input ng-keyup="count = count + 1" ng-init="count=0"> key
up count: {{count}}\n
Login.c(90): \n
Login.c(90): <p>Typing in the input box below updates the keycode</p>\n
Login.c(90): <input ng-keyup="event=$event">\n
Login.c(90): <p>event keyCode: {{ event.keyCode }}</p>\n
Login.c(90): <p>event altKey: {{ event.altKey }}</p>\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngKeypress\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on keypress event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngKeypress {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * keypress. ({@link guide/expression#-event- Event object is
available as `$event`}\n
Login.c(90): * and can be interrogated for keyCode, altKey, etc.)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-keypress="count = count + 1" ng-init="count=0">\n
Login.c(90): key press count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSubmit\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Enables binding angular expressions to onsubmit events.\n
Login.c(90): *\n
Login.c(90): * Additionally it prevents the default action (which for form
means sending the request t
Login.c(90): o the\n
Login.c(90): * server and reloading the current page), but only if the form
does not contain `action`,
Login.c(90): \n
Login.c(90): * `data-action`, or `x-action` attributes.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Warning:** Be careful not to cause "double-submission" by
using both the `ngClick` an
Login.c(90): d\n
Login.c(90): * `ngSubmit` handlers together. See the\n
Login.c(90): * {@link form#submitting-a-form-and-preventing-the-default-action
`form` directive docume
Login.c(90): ntation}\n
Login.c(90): * for a detailed discussion of when `ngSubmit` may be
triggered.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * @element form\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngSubmit {@link guide/expression
Expression} to eval.\n
Login.c(90): * ({@link guide/expression#-event- Event object is available as
`$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="submitExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('submitExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.list = [];\n
Login.c(90): $scope.text = 'hello';\n
Login.c(90): $scope.submit = function() {\n
Login.c(90): if ($scope.text) {\n
Login.c(90): $scope.list.push(this.text);\n
Login.c(90): $scope.text = '';\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form ng-submit="submit()" ng-
controller="ExampleController">\n
Login.c(90): Enter text and hit enter:\n
Login.c(90): <input type="text" ng-model="text" name="text" />\n
Login.c(90): <input type="submit" id="submit" value="Submit" />\n
Login.c(90): <pre>list={{list}}</pre>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-submit', function() {\n
Login.c(90):
expect(element(by.binding('list')).getText()).toBe('list=[]');\n
Login.c(90): element(by.css('#submit')).click();\n
Login.c(90):
expect(element(by.binding('list')).getText()).toContain('hello');\n
Login.c(90):
expect(element(by.model('text')).getAttribute('value')).toBe('');\n
Login.c(90): });\n
Login.c(90): it('should ignore empty strings', function() {\n
Login.c(90):
expect(element(by.binding('list')).getText()).toBe('list=[]');\n
Login.c(90): element(by.css('#submit')).click();\n
Login.c(90): element(by.css('#submit')).click();\n
Login.c(90):
expect(element(by.binding('list')).getText()).toContain('hello');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngFocus\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on focus event.\n
Login.c(90): *\n
Login.c(90): * Note: As the `focus` event is executed synchronously when
calling `input.focus()`\n
Login.c(90): * AngularJS executes the expression using `scope.$evalAsync` if
the event is fired\n
Login.c(90): * during an `$apply` to ensure a consistent state.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngFocus {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * focus. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * See {@link ng.directive:ngClick ngClick}\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBlur\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on blur event.\n
Login.c(90): *\n
Login.c(90): * A [blur event](https://developer.mozilla.org/en-
US/docs/Web/Events/blur) fires when\n
Login.c(90): * an element has lost focus.\n
Login.c(90): *\n
Login.c(90): * Note: As the `blur` event is executed synchronously also during
DOM manipulations\n
Login.c(90): * (e.g. removing a focussed input),\n
Login.c(90): * AngularJS executes the expression using `scope.$evalAsync` if
the event is fired\n
Login.c(90): * during an `$apply` to ensure a consistent state.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngBlur {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * blur. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * See {@link ng.directive:ngClick ngClick}\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCopy\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on copy event.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngCopy {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * copy. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-copy="copied=true" ng-init="copied=false;
value='copy me'" ng-model="value
Login.c(90): ">\n
Login.c(90): copied: {{copied}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCut\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on cut event.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngCut {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * cut. ({@link guide/expression#-event- Event object is available
as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-cut="cut=true" ng-init="cut=false; value='cut me'"
ng-model="value">\n
Login.c(90): cut: {{cut}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngPaste\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on paste event.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngPaste {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * paste. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-paste="paste=true" ng-init="paste=false"
placeholder='paste here'>\n
Login.c(90): pasted: {{paste}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngIf\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngIf` directive removes or recreates a portion of the DOM
tree based on an\n
Login.c(90): * {expression}. If the expression assigned to `ngIf` evaluates to
a false\n
Login.c(90): * value then the element is removed from the DOM, otherwise a
clone of the\n
Login.c(90): * element is reinserted into the DOM.\n
Login.c(90): *\n
Login.c(90): * `ngIf` differs from `ngShow` and `ngHide` in that `ngIf`
completely removes and recreat
Login.c(90): es the\n
Login.c(90): * element in the DOM rather than changing its visibility via the
`display` css property.
Login.c(90): A common\n
Login.c(90): * case when this difference is significant is when using css
selectors that rely on an el
Login.c(90): ement's\n
Login.c(90): * position within the DOM, such as the `:first-child` or `:last-
child` pseudo-classes.\n
Login.c(90): *\n
Login.c(90): * Note that when an element is removed using `ngIf` its scope is
destroyed and a new scop
Login.c(90): e\n
Login.c(90): * is created when the element is restored. The scope created
within `ngIf` inherits from
Login.c(90): \n
Login.c(90): * its parent scope using\n
Login.c(90): * [prototypal inheritance]
(https://github.com/angular/angular.js/wiki/The-Nuances-of-Scop
Login.c(90): e-Prototypal-Inheritance).\n
Login.c(90): * An important implication of this is if `ngModel` is used within
`ngIf` to bind to\n
Login.c(90): * a javascript primitive defined in the parent scope. In this
case any modifications made
Login.c(90): to the\n
Login.c(90): * variable within the child scope will override (hide) the value
in the parent scope.\n
Login.c(90): *\n
Login.c(90): * Also, `ngIf` recreates elements using their compiled state. An
example of this behavior
Login.c(90): \n
Login.c(90): * is if an element's class attribute is directly modified after
it's compiled, using some
Login.c(90): thing like\n
Login.c(90): * jQuery's `.addClass()` method, and the element is later
removed. When `ngIf` recreates
Login.c(90): the element\n
Login.c(90): * the added class will be lost because the original compiled
state is used to regenerate
Login.c(90): the element.\n
Login.c(90): *\n
Login.c(90): * Additionally, you can provide animations via the `ngAnimate`
module to animate the `ent
Login.c(90): er`\n
Login.c(90): * and `leave` effects.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * enter - happens just after the ngIf contents change and a new
DOM element is created an
Login.c(90): d injected into the ngIf container\n
Login.c(90): * leave - happens just before the ngIf contents are removed from
the DOM\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @scope\n
Login.c(90): * @priority 600\n
Login.c(90): * @param {expression} ngIf If the {@link guide/expression
expression} is falsy then\n
Login.c(90): * the element is removed from the DOM tree. If it is truthy a
copy of the compiled\n
Login.c(90): * element is added to the DOM tree.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me: <input type="checkbox" ng-model="checked" ng-
init="checked=true" /><br/>\n
Login.c(90): Show when checked:\n
Login.c(90): <span ng-if="checked" class="animate-if">\n
Login.c(90): I'm removed when the checkbox is unchecked.\n
Login.c(90): </span>\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-if {\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-if.ng-enter, .animate-if.ng-leave {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-if.ng-enter,\n
Login.c(90): .animate-if.ng-leave.ng-leave-active {\n
Login.c(90): opacity:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-if.ng-leave,\n
Login.c(90): .animate-if.ng-enter.ng-enter-active {\n
Login.c(90): opacity:1;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngIfDirective = ['$animate', function($animate) {\n
Login.c(90): return {\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 600,\n
Login.c(90): terminal: true,\n
Login.c(90): restrict: 'A',\n
Login.c(90): $$tlb: true,\n
Login.c(90): link: function ($scope, $element, $attr, ctrl, $transclude)
{\n
Login.c(90): var block, childScope, previousElements;\n
Login.c(90): $scope.$watch($attr.ngIf, function ngIfWatchAction(value)
{\n
Login.c(90): \n
Login.c(90): if (toBoolean(value)) {\n
Login.c(90): if (!childScope) {\n
Login.c(90): childScope = $scope.$new();\n
Login.c(90): $transclude(childScope, function (clone) {\n
Login.c(90): clone[clone.length++] = document.createComment('
end ngIf: ' + $attr.ngIf
Login.c(90): + ' ');\n
Login.c(90): // Note: We only need the first/last node of the
cloned nodes.\n
Login.c(90): // However, we need to keep the reference to the
jqlite wrapper as it migh
Login.c(90): t be changed later\n
Login.c(90): // by a directive with templateUrl when its
template arrives.\n
Login.c(90): block = {\n
Login.c(90): clone: clone\n
Login.c(90): };\n
Login.c(90): $animate.enter(clone, $element.parent(),
$element);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90):
Login.c(90): t=3377ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): if(previousElements) {\n
Login.c(90): previousElements.remove();\n
Login.c(90): previousElements = null;\n
Login.c(90): }\n
Login.c(90): if(childScope) {\n
Login.c(90): childScope.$destroy();\n
Login.c(90): childScope = null;\n
Login.c(90): }\n
Login.c(90): if(block) {\n
Login.c(90): previousElements = getBlockElements(block.clone);\n
Login.c(90): $animate.leave(previousElements, function() {\n
Login.c(90): previousElements = null;\n
Login.c(90): });\n
Login.c(90): block = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngInclude\n
Login.c(90): * @restrict ECA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Fetches, compiles and includes an external HTML fragment.\n
Login.c(90): *\n
Login.c(90): * By default, the template URL is restricted to the same domain
and protocol as the\n
Login.c(90): * application document. This is done by calling {@link ng.
$sce#getTrustedResourceUrl\n
Login.c(90): * $sce.getTrustedResourceUrl} on it. To load templates from other
domains or protocols\n
Login.c(90): * you may either {@link ng.
$sceDelegateProvider#resourceUrlWhitelist whitelist them} or\n
Login.c(90): * [wrap them](ng.$sce#trustAsResourceUrl) as trusted values.
Refer to Angular's {@link\n
Login.c(90): * ng.$sce Strict Contextual Escaping}.\n
Login.c(90): *\n
Login.c(90): * In addition, the browser's\n
Login.c(90): * [Same Origin Policy]
(https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy
Login.c(90): _for_XMLHttpRequest)\n
Login.c(90): * and [Cross-Origin Resource Sharing (CORS)]
(http://www.w3.org/TR/cors/)\n
Login.c(90): * policy may further restrict whether the template is
successfully loaded.\n
Login.c(90): * For example, `ngInclude` won't work for cross-domain requests
on all browsers and for `
Login.c(90): file://`\n
Login.c(90): * access on some browsers.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * enter - animation is used to bring new content into the
browser.\n
Login.c(90): * leave - animation is used to animate existing content away.\n
Login.c(90): *\n
Login.c(90): * The enter and leave animation occur concurrently.\n
Login.c(90): *\n
Login.c(90): * @scope\n
Login.c(90): * @priority 400\n
Login.c(90): *\n
Login.c(90): * @param {string} ngInclude|src angular expression evaluating to
URL. If the source is a
Login.c(90): string constant,\n
Login.c(90): * make sure you wrap it in **single** quotes,
e.g. `src="'myPartialTempla
Login.c(90): te.html'"`.\n
Login.c(90): * @param {string=} onload Expression to evaluate when a new
partial is loaded.\n
Login.c(90): *\n
Login.c(90): * @param {string=} autoscroll Whether `ngInclude` should call
{@link ng.$anchorScroll\n
Login.c(90): * $anchorScroll} to scroll the viewport after
the content is loaded.\n
Login.c(90): *\n
Login.c(90): * - If the attribute is not set, disable
scrolling.\n
Login.c(90): * - If the attribute is set without value,
enable scrolling.\n
Login.c(90): * - Otherwise enable scrolling only if the
expression evaluates to truth
Login.c(90): y value.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="includeExample" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <select ng-model="template" ng-options="t.name for t in
templates">\n
Login.c(90): <option value="">(blank)</option>\n
Login.c(90): </select>\n
Login.c(90): url of the template: <tt>{{template.url}}</tt>\n
Login.c(90): <hr/>\n
Login.c(90): <div class="slide-animate-container">\n
Login.c(90): <div class="slide-animate" ng-
include="template.url"></div>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('includeExample', ['ngAnimate'])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.templates =\n
Login.c(90): [ { name: 'template1.html', url: 'template1.html'},\n
Login.c(90): { name: 'template2.html', url:
'template2.html'} ];\n
Login.c(90): $scope.template = $scope.templates[0];\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="template1.html">\n
Login.c(90): Content of template1.html\n
Login.c(90): </file>\n
Login.c(90): <file name="template2.html">\n
Login.c(90): Content of template2.html\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .slide-animate-container {\n
Login.c(90): position:relative;\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): height:40px;\n
Login.c(90): overflow:hidden;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate {\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate.ng-enter, .slide-animate.ng-leave {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): \n
Login.c(90): position:absolute;\n
Login.c(90): top:0;\n
Login.c(90): left:0;\n
Login.c(90): right:0;\n
Login.c(90): bottom:0;\n
Login.c(90): display:block;\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate.ng-enter {\n
Login.c(90): top:-50px;\n
Login.c(90): }\n
Login.c(90): .slide-animate.ng-enter.ng-enter-active {\n
Login.c(90): top:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate.ng-leave {\n
Login.c(90): top:0;\n
Login.c(90): }\n
Login.c(90): .slide-animate.ng-leave.ng-leave-active {\n
Login.c(90): top:50px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var templateSelect = element(by.model('template'));\n
Login.c(90): var includeElem = element(by.css('[ng-include]'));\n
Login.c(90): \n
Login.c(90): it('should load template1.html', function() {\n
Login.c(90): expect(includeElem.getText()).toMatch(/Content of
template1.html/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should load template2.html', function() {\n
Login.c(90): if (browser.params.browser == 'firefox') {\n
Login.c(90): // Firefox can't handle using selects\n
Login.c(90): // See
https://github.com/angular/protractor/issues/480\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): templateSelect.click();\n
Login.c(90): templateSelect.all(by.css('option')).get(2).click();\n
Login.c(90): expect(includeElem.getText()).toMatch(/Content of
template2.html/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should change to blank', function() {\n
Login.c(90): if (browser.params.browser == 'firefox') {\n
Login.c(90): // Firefox can't handle using selects\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): templateSelect.click();\n
Login.c(90): templateSelect.all(by.css('option')).get(0).click();\n
Login.c(90): expect(includeElem.isPresent()).toBe(false);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ngInclude#$includeContentRequested\n
Login.c(90): * @eventType emit on the scope ngInclude was declared in\n
Login.c(90): * @description\n
Login.c(90): * Emitted every time the ngInclude content is requested.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ngInclude#$includeContentLoaded\n
Login.c(90): * @eventType emit on the current ngInclude scope\n
Login.c(90): * @description\n
Login.c(90): * Emitted every time the ngInclude content is reloaded.\n
Login.c(90): */\n
Login.c(90): var ngIncludeDirective = ['$http', '$templateCache',
'$anchorScroll', '$animate', '$sce',\n
Login.c(90): function($http, $templateCache,
$anchorScroll, $animate, $sce) {
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): priority: 400,\n
Login.c(90): terminal: true,\n
Login.c(90): transclude: 'element',\n
Login.c(90): controller: angular.noop,\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): var srcExp = attr.ngInclude || attr.src,\n
Login.c(90): onloadExp = attr.onload || '',\n
Login.c(90): autoScrollExp = attr.autoscroll;\n
Login.c(90): \n
Login.c(90): return function(scope, $element, $attr, ctrl, $transclude)
{\n
Login.c(90): var changeCounter = 0,\n
Login.c(90): currentScope,\n
Login.c(90): previousElement,\n
Login.c(90): currentElement;\n
Login.c(90): \n
Login.c(90): var cleanupLastIncludeContent = function() {\n
Login.c(90): if(previousElement) {\n
Login.c(90): previousElement.remove();\n
Login.c(90): previousElement = null;\n
Login.c(90): }\n
Login.c(90): if(currentScope) {\n
Login.c(90): currentScope.$destroy();\n
Login.c(90): currentScope = null;\n
Login.c(90): }\n
Login.c(90): if(currentElement) {\n
Login.c(90): $animate.leave(currentElement, function() {\n
Login.c(90): previousElement = null;\n
Login.c(90): });\n
Login.c(90): previousElement = currentElement;\n
Login.c(90): currentElement = null;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.$watch($sce.parseAsResourceUrl(srcExp), function
ngIncludeWatchAction(src) {
Login.c(90): \n
Login.c(90): var afterAnimation = function() {\n
Login.c(90): if (isDefined(autoScrollExp) && (!autoScrollExp ||
scope.$eval(autoScrollExp))
Login.c(90): ) {\n
Login.c(90): $anchorScroll();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): var thisChangeId = ++changeCounter;\n
Login.c(90): \n
Login.c(90): if (src) {\n
Login.c(90): $http.get(src, {cache:
$templateCache}).success(function(response) {\n
Login.c(90): if (thisChangeId !== changeCounter) return;\n
Login.c(90): var newScope = scope.$new();\n
Login.c(90): ctrl.template = response;\n
Login.c(90): \n
Login.c(90): // Note: This will also link all children of ng-
include that were contained
Login.c(90): in the original\n
Login.c(90): // html. If that content contains controllers, ...
they could pollute/change
Login.c(90): the scope.\n
Login.c(90): // However, using ng-include on an element with
additional content does not
Login.c(90): make sense...\n
Login.c(90): // Note: We can't remove them in the cloneAttchFn of
$transclude as that\n
Login.c(90): // function is called before linking the content,
which would apply child\n
Login.c(90): // directives to non existing elements.\n
Login.c(90): var clone = $transclude(newScope, function(clone)
{\n
Login.c(90): cleanupLastIncludeContent();\n
Login.c(90): $animate.enter(clone, null, $element,
afterAnimation);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): currentScope = newScope;\n
Login.c(90): currentElement = clone;\n
Login.c(90): \n
Login.c(90): currentScope.$emit('$includeContentLoaded');\n
Login.c(90): scope.$eval(onloadExp);\n
Login.c(90): }).error(function() {\n
Login.c(90): if (thisChangeId === changeCounter)
cleanupLastIncludeContent();\n
Login.c(90): });\n
Login.c(90): scope.$emit('$includeContentRequested');\n
Login.c(90): } else {\n
Login.c(90): cleanupLastIncludeContent();\n
Login.c(90): ctrl.template = null;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): // This directive is called during the $transclude call of the
first `ngInclude` directive
Login.c(90): .\n
Login.c(90): // It will replace and compile the content of the element with the
loaded template.\n
Login.c(90): // We need this directive so that the element content is already
filled when\n
Login.c(90): // the link function of another directive on the same element as
ngInclude\n
Login.c(90): // is called.\n
Login.c(90): var ngIncludeFillContentDirective = ['$compile',\n
Login.c(90): function($compile) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): priority: -400,\n
Login.c(90): require: 'ngInclude',\n
Login.c(90): link: function(scope, $element, $attr, ctrl) {\n
Login.c(90): $element.html(ctrl.template);\n
Login.c(90): $compile($element.contents())(scope);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngInit\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngInit` directive allows you to evaluate an expression in
the\n
Login.c(90): * current scope.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-error">\n
Login.c(90): * The only appropriate use of `ngInit` is for aliasing special
properties of\n
Login.c(90): * {@link ng.directive:ngRepeat `ngRepeat`}, as seen in the demo
below. Besides this case,
Login.c(90): you\n
Login.c(90): * should use {@link guide/controller controllers} rather than
`ngInit`\n
Login.c(90): * to initialize values on a scope.\n
Login.c(90): * </div>\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note**: If you have assignment in `ngInit` along with {@link
ng.$filter `$filter`}, m
Login.c(90): ake\n
Login.c(90): * sure you have parenthesis for correct precedence:\n
Login.c(90): * <pre class="prettyprint">\n
Login.c(90): * <div ng-init="test1 = (data | orderBy:'name')"></div>\n
Login.c(90): * </pre>\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * @priority 450\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngInit {@link guide/expression Expression}
to eval.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="initExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('initExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.list = [['a', 'b'], ['c', 'd']];\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <div ng-repeat="innerList in list" ng-init="outerIndex =
$index">\n
Login.c(90): <div ng-repeat="value in innerList" ng-init="innerIndex =
$index">\n
Login.c(90): <span class="example-init">list[ {{outerIndex}} ]
[ {{innerIndex}} ] = {{value}};
Login.c(90): </span>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should alias index positions', function() {\n
Login.c(90): var elements = element.all(by.css('.example-init'));\n
Login.c(90): expect(elements.get(0).getText()).toBe('list[ 0 ][ 0 ] =
a;');\n
Login.c(90): expect(elements.get(1).getText()).toBe('list[ 0 ][ 1 ] =
b;');\n
Login.c(90): expect(elements.get(2).getText()).toBe('list[ 1 ][ 0 ] =
c;');\n
Login.c(90): expect(elements.get(3).getText()).toBe('list[ 1 ][ 1 ] =
d;');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngInitDirective = ngDirective({\n
Login.c(90): priority: 450,\n
Login.c(90): compile: function() {\n
Login.c(90): return {\n
Login.c(90): pre: function(scope, element, attrs) {\n
Login.c(90): scope.$eval(attrs.ngInit);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngNonBindable\n
Login.c(90): * @restrict AC\n
Login.c(90): * @priority 1000\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngNonBindable` directive tells Angular not to compile or
bind the contents of the
Login.c(90): current\n
Login.c(90): * DOM element. This is useful if the element contains what
appears to be Angular directiv
Login.c(90): es and\n
Login.c(90): * bindings but which should be ignored by Angular. This could be
the case if you have a s
Login.c(90): ite that\n
Login.c(90): * displays snippets of code, for instance.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): *\n
Login.c(90): * @exam
Login.c(90): t=3394ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ple\n
Login.c(90): * In this example there are two locations where a simple
interpolation binding (`{{}}`) i
Login.c(90): s present,\n
Login.c(90): * but the one wrapped in `ngNonBindable` is left alone.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div>Normal: {{1 + 2}}</div>\n
Login.c(90): <div ng-non-bindable>Ignored: {{1 + 2}}</div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-non-bindable', function() {\n
Login.c(90): expect(element(by.binding('1 +
2')).getText()).toContain('3');\n
Login.c(90):
expect(element.all(by.css('div')).last().getText()).toMatch(/1 \\+ 2/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngNonBindableDirective = ngDirective({ terminal: true,
priority: 1000 });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngPluralize\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `ngPluralize` is a directive that displays messages according
to en-US localization rul
Login.c(90): es.\n
Login.c(90): * These rules are bundled with angular.js, but can be
overridden\n
Login.c(90): * (see {@link guide/i18n Angular i18n} dev guide). You configure
ngPluralize directive\n
Login.c(90): * by specifying the mappings between\n
Login.c(90): * [plural categories](http://unicode.org/repos/cldr-
tmp/trunk/diff/supplemental/language_
Login.c(90): plural_rules.html)\n
Login.c(90): * and the strings to be displayed.\n
Login.c(90): *\n
Login.c(90): * # Plural categories and explicit number rules\n
Login.c(90): * There are two\n
Login.c(90): * [plural categories](http://unicode.org/repos/cldr-
tmp/trunk/diff/supplemental/language_
Login.c(90): plural_rules.html)\n
Login.c(90): * in Angular's default en-US locale: "one" and "other".\n
Login.c(90): *\n
Login.c(90): * While a plural category may match many numbers (for example, in
en-US locale, "other" c
Login.c(90): an match\n
Login.c(90): * any number that is not 1), an explicit number rule can only
match one number. For examp
Login.c(90): le, the\n
Login.c(90): * explicit number rule for "3" matches the number 3. There are
examples of plural categor
Login.c(90): ies\n
Login.c(90): * and explicit number rules throughout the rest of this
documentation.\n
Login.c(90): *\n
Login.c(90): * # Configuring ngPluralize\n
Login.c(90): * You configure ngPluralize by providing 2 attributes: `count`
and `when`.\n
Login.c(90): * You can also provide an optional attribute, `offset`.\n
Login.c(90): *\n
Login.c(90): * The value of the `count` attribute can be either a string or an
{@link guide/expression
Login.c(90): \n
Login.c(90): * Angular expression}; these are evaluated on the current scope
for its bound value.\n
Login.c(90): *\n
Login.c(90): * The `when` attribute specifies the mappings between plural
categories and the actual\n
Login.c(90): * string to be displayed. The value of the attribute should be a
JSON object.\n
Login.c(90): *\n
Login.c(90): * The following example shows how to configure ngPluralize:\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <ng-pluralize count="personCount"\n
Login.c(90): when="{'0': 'Nobody is viewing.',\n
Login.c(90): * 'one': '1 person is viewing.',\n
Login.c(90): * 'other': '{} people are viewing.'}">\n
Login.c(90): * </ng-pluralize>\n
Login.c(90): *```\n
Login.c(90): *\n
Login.c(90): * In the example, `"0: Nobody is viewing."` is an explicit number
rule. If you did not\n
Login.c(90): * specify this rule, 0 would be matched to the "other" category
and "0 people are viewing
Login.c(90): "\n
Login.c(90): * would be shown instead of "Nobody is viewing". You can specify
an explicit number rule
Login.c(90): for\n
Login.c(90): * other numbers, for example 12, so that instead of showing "12
people are viewing", you
Login.c(90): can\n
Login.c(90): * show "a dozen people are viewing".\n
Login.c(90): *\n
Login.c(90): * You can use a set of closed braces (`{}`) as a placeholder for
the number that you want
Login.c(90): substituted\n
Login.c(90): * into pluralized strings. In the previous example, Angular will
replace `{}` with\n
Login.c(90): * <span ng-non-bindable>`{{personCount}}`</span>. The closed
braces `{}` is a placeholder
Login.c(90): \n
Login.c(90): * for <span ng-non-bindable>{{numberExpression}}</span>.\n
Login.c(90): *\n
Login.c(90): * # Configuring ngPluralize with offset\n
Login.c(90): * The `offset` attribute allows further customization of
pluralized text, which can resul
Login.c(90): t in\n
Login.c(90): * a better user experience. For example, instead of the message
"4 people are viewing thi
Login.c(90): s document",\n
Login.c(90): * you might display "John, Kate and 2 others are viewing this
document".\n
Login.c(90): * The offset attribute allows you to offset a number by any
desired value.\n
Login.c(90): * Let's take a look at an example:\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <ng-pluralize count="personCount" offset=2\n
Login.c(90): * when="{'0': 'Nobody is viewing.',\n
Login.c(90): * '1': '{{person1}} is viewing.',\n
Login.c(90): * '2': '{{person1}} and {{person2}} are
viewing.',\n
Login.c(90): * 'one': '{{person1}}, {{person2}} and one
other person are viewing.
Login.c(90): ',\n
Login.c(90): * 'other': '{{person1}}, {{person2}} and {}
other people are viewing
Login.c(90): .'}">\n
Login.c(90): * </ng-pluralize>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Notice that we are still using two plural categories(one,
other), but we added\n
Login.c(90): * three explicit number rules 0, 1 and 2.\n
Login.c(90): * When one person, perhaps John, views the document, "John is
viewing" will be shown.\n
Login.c(90): * When three people view the document, no explicit number rule is
found, so\n
Login.c(90): * an offset of 2 is taken off 3, and Angular uses 1 to decide the
plural category.\n
Login.c(90): * In this case, plural category 'one' is matched and "John, Mary
and one other person are
Login.c(90): viewing"\n
Login.c(90): * is shown.\n
Login.c(90): *\n
Login.c(90): * Note that when you specify offsets, you must provide explicit
number rules for\n
Login.c(90): * numbers from 0 up to and including the offset. If you use an
offset of 3, for example,\n
Login.c(90): * you must provide explicit number rules for 0, 1, 2 and 3. You
must also provide plural
Login.c(90): strings for\n
Login.c(90): * plural categories "one" and "other".\n
Login.c(90): *\n
Login.c(90): * @param {string|expression} count The variable to be bound to.\n
Login.c(90): * @param {string} when The mapping between plural category to its
corresponding strings.\n
Login.c(90): * @param {number=} offset Offset to deduct from the total
number.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="pluralizeExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('pluralizeExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.person1 = 'Igor';\n
Login.c(90): $scope.person2 = 'Misko';\n
Login.c(90): $scope.personCount = 1;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Person 1:<input type="text" ng-model="person1"
value="Igor" /><br/>\n
Login.c(90): Person 2:<input type="text" ng-model="person2"
value="Misko" /><br/>\n
Login.c(90): Number of People:<input type="text" ng-
model="personCount" value="1" /><br/>\n
Login.c(90): \n
Login.c(90): <!--- Example with simple pluralization rules for en
locale --->\n
Login.c(90): Without Offset:\n
Login.c(90): <ng-pluralize count="personCount"\n
Login.c(90): when="{'0': 'Nobody is viewing.',\n
Login.c(90): 'one': '1 person is viewing.',\n
Login.c(90): 'other': '{} people are
viewing.'}">\n
Login.c(90): </ng-pluralize><br>\n
Login.c(90): \n
Login.c(90): <!--- Example with offset --->\n
Login.c(90): With Offset(2):\n
Login.c(90): <ng-pluralize count="personCount" offset=2\n
Login.c(90): when="{'0': 'Nobody is viewing.',\n
Login.c(90): '1': '{{person1}} is viewing.',\n
Login.c(90): '2': '{{person1}} and {{person2}}
are viewing.',\n
Login.c(90): 'one': '{{person1}}, {{person2}}
and one other person are v
Login.c(90): iewing.',\n
Login.c(90): 'other': '{{person1}}, {{person2}}
and {} other people are
Login.c(90): viewing.'}">\n
Login.c(90): </ng-pluralize>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should show correct pluralized string', function() {\n
Login.c(90): var withoutOffset = element.all(by.css('ng-
pluralize')).get(0);\n
Login.c(90): var withOffset = element.all(by.css('ng-
pluralize')).get(1);\n
Login.c(90): var countInput = element(by.model('personCount'));\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('1 person is
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor is
viewing.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('0');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('Nobody is
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Nobody is
viewing.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('2');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('2 people are
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor and Misko are
viewing.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('3');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('3 people are
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor, Misko and
one other person are viewi
Login.c(90): ng.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('4');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('4 people are
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor, Misko and 2
other people are viewing
Login.c(90): .');\n
Login.c(90): });\n
Login.c(90): it('should show data-bound names', function() {\n
Login.c(90): var withOffset = element.all(by.css('ng-
pluralize')).get(1);\n
Login.c(90): var personCount = element(by.model('personCount'));\n
Login.c(90): var person1 = element(by.model('person1'));\n
Login.c(90): var person2 = element(by.model('person2'));\n
Login.c(90): personCount.clear();\n
Login.c(90): personCount.sendKeys('4');\n
Login.c(90): person1.clear();\n
Login.c(90): person1.sendKeys('Di');\n
Login.c(90): person2.clear();\n
Login.c(90): person2.sendKeys('Vojta');\n
Login.c(90): expect(withOffset.getText()).toEqual('Di, Vojta and 2
other people are viewing.'
Login.c(90): );\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngPluralizeDirective = ['$locale', '$interpolate',
function($locale, $interpolate) {\n
Login.c(90): var BRACE = /{}/g;\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): var numberExp = attr.count,\n
Login.c(90): whenExp = attr.$attr.when && element.attr(attr.
$attr.when), // we have {{}} in a
Login.c(90): ttrs\n
Login.c(90): offset = attr.offset || 0,\n
Login.c(90): whens = scope.$eval(whenExp) || {},\n
Login.c(90): whensExpFns = {},\n
Login.c(90): startSymbol = $interpolate.startSymbol(),\n
Login.c(90): endSymbol = $interpolate.endSymbol(),\n
Login.c(90): isWhen = /^when(Minus)?(.+)$/;\n
Login.c(90): \n
Login.c(90): forEach(attr, function(expression, attributeName) {\n
Login.c(90): if (isWhen.test(attributeName)) {\n
Login.c(90): whens[lowercase(attributeName.replace('when',
'').replace('Minus', '-'))] =\n
Login.c(90): element.attr(attr.$attr[attributeName]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): forEach(whens, function(expression, key) {\n
Login.c(90): whensExpFns[key] =\n
Login.c(90): $interpolate(expression.replace(BRACE, startSymbol +
numberExp + '-' +\n
Login.c(90): offset + endSymbol));\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.$watch(function ngPluralizeWatch() {\n
Login.c(90): var value = parseFloat(scope.$eval(numberExp));\n
Login.c(90): \n
Login.c(90): if (!isNaN(value)) {\n
Login.c(90): //if explicit number rule such as 1, 2, 3... is defined,
just use it. Otherwise,
Login.c(90): \n
Login.c(90): //check it against pluralization rules in $locale
service\n
Login.c(90): if (!(value in whens)) value = $locale.pluralCat(value -
offset);\n
Login.c(90): return whensExpFns[value](scope, element, true);\n
Login.c(90): } else {\n
Login.c(90): return '';\n
Login.c(90): }\n
Login.c(90): }, function ngPluralizeWatchAction(newVal) {\n
Login.c(90): element.text(newVal);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngRepeat\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngRepeat` directive instantiates a template once per item
from a collection. Each
Login.c(90): template\n
Login.c(90): * instance gets its own scope, where the given loop variable is
set to the current collec
Login.c(90): tion item,\n
Login.c(90): * and `$index` is set to the item index or key.\n
Login.c(90): *\n
Login.c(90): * Special properties are exposed on the local scope of each
template instance, including:
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * | Variable | Type | Details
Login.c(90): |\n
Login.c(90): *
|-----------|-----------------|----------------------------------------------------
----
Login.c(90): ---------------------|\n
Login.c(90): * | `$index` | {@type number} | iterator offset of the repeated
element (0..length-1)
Login.c(90): |\n
Login.c(90): * | `$first` | {@type boolean} | true if the repeated element is
first in the iterator.
Login.c(90): |\n
Login.c(90): * | `$middle` | {@type boolean} | true if the repeated element is
between the first and l
Login.c(90): ast in the iterator. |\n
Login.c(90): * | `$last` | {@type boolean} | true if the repeated element is
last in the iterator.
Login.c(90): |\n
Login.c(90): * | `$even` | {@type boolean} | true if the iterator position
`$index` is even (otherwi
Login.c(90): se false). |\n
Login.c(90): * | `$odd` | {@type boolean} | true if the iterator position
`$index` is odd (otherwis
Login.c(90): e false). |\n
Login.c(90): *\n
Login.c(90): * Creating aliases for these properties is possible with {@link
ng.directive:ngInit `ngIn
Login.c(90): it`}.\n
Login.c(90): * This may be useful when, for instance, nesting ngRepeats.\n
Login.c(90): *\n
Login.c(90): * # Special repeat start and end points\n
Login.c(90): * To repeat a series of elements instead of just one parent
element, ngRepeat (as well as
Login.c(90): other ng directives) supports extending\n
Login.c(90): * the range of the repeater by defining explicit start and end
points by using **ng-rep
Login.c(90): t=3408ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): eat-start** and **ng-repeat-end** respectively.\n
Login.c(90): * The **ng-repeat-start** directive works the same as **ng-
repeat**, but will repeat all
Login.c(90): the HTML code (including the tag it's defined on)\n
Login.c(90): * up to and including the ending HTML tag where **ng-repeat-end**
is placed.\n
Login.c(90): *\n
Login.c(90): * The example below makes use of this feature:\n
Login.c(90): * ```html\n
Login.c(90): * <header ng-repeat-start="item in items">\n
Login.c(90): * Header {{ item }}\n
Login.c(90): * </header>\n
Login.c(90): * <div class="body">\n
Login.c(90): * Body {{ item }}\n
Login.c(90): * </div>\n
Login.c(90): * <footer ng-repeat-end>\n
Login.c(90): * Footer {{ item }}\n
Login.c(90): * </footer>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * And with an input of {@type ['A','B']} for the items variable
in the example above, the
Login.c(90): output will evaluate to:\n
Login.c(90): * ```html\n
Login.c(90): * <header>\n
Login.c(90): * Header A\n
Login.c(90): * </header>\n
Login.c(90): * <div class="body">\n
Login.c(90): * Body A\n
Login.c(90): * </div>\n
Login.c(90): * <footer>\n
Login.c(90): * Footer A\n
Login.c(90): * </footer>\n
Login.c(90): * <header>\n
Login.c(90): * Header B\n
Login.c(90): * </header>\n
Login.c(90): * <div class="body">\n
Login.c(90): * Body B\n
Login.c(90): * </div>\n
Login.c(90): * <footer>\n
Login.c(90): * Footer B\n
Login.c(90): * </footer>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The custom start and end points for ngRepeat also support all
other HTML directive synt
Login.c(90): ax flavors provided in AngularJS (such\n
Login.c(90): * as **data-ng-repeat-start**, **x-ng-repeat-start** and
**ng:repeat-start**).\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * **.enter** - when a new item is added to the list or when an
item is revealed after a f
Login.c(90): ilter\n
Login.c(90): *\n
Login.c(90): * **.leave** - when an item is removed from the list or when an
item is filtered out\n
Login.c(90): *\n
Login.c(90): * **.move** - when an adjacent item is filtered out causing a
reorder or when the item co
Login.c(90): ntents are reordered\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @scope\n
Login.c(90): * @priority 1000\n
Login.c(90): * @param {repeat_expression} ngRepeat The expression indicating
how to enumerate a collec
Login.c(90): tion. These\n
Login.c(90): * formats are currently supported:\n
Login.c(90): *\n
Login.c(90): * * `variable in expression` \xE2\x80\x93 where variable is the
user defined loop varia
Login.c(90): ble and `expression`\n
Login.c(90): * is a scope expression giving the collection to enumerate.\n
Login.c(90): *\n
Login.c(90): * For example: `album in artist.albums`.\n
Login.c(90): *\n
Login.c(90): * * `(key, value) in expression` \xE2\x80\x93 where `key` and
`value` can be any user d
Login.c(90): efined identifiers,\n
Login.c(90): * and `expression` is the scope expression giving the
collection to enumerate.\n
Login.c(90): *\n
Login.c(90): * For example: `(name, age) in {'adam':10, 'amalie':12}`.\n
Login.c(90): *\n
Login.c(90): * * `variable in expression track by tracking_expression`
\xE2\x80\x93 You can also pro
Login.c(90): vide an optional tracking function\n
Login.c(90): * which can be used to associate the objects in the
collection with the DOM elements.
Login.c(90): If no tracking function\n
Login.c(90): * is specified the ng-repeat associates elements by identity
in the collection. It is
Login.c(90): an error to have\n
Login.c(90): * more than one tracking function to resolve to the same key.
(This would mean that t
Login.c(90): wo distinct objects are\n
Login.c(90): * mapped to the same DOM element, which is not possible.)
Filters should be applied
Login.c(90): to the expression,\n
Login.c(90): * before specifying a tracking expression.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items` is equivalent to `item in
items track by $id(item)`. T
Login.c(90): his implies that the DOM elements\n
Login.c(90): * will be associated by item identity in the array.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items track by $id(item)`. A built in
`$id()` function can be
Login.c(90): used to assign a unique\n
Login.c(90): * `$$hashKey` property to each item in the array. This
property is then used as a key
Login.c(90): to associated DOM elements\n
Login.c(90): * with the corresponding item in the array by identity.
Moving the same object in arr
Login.c(90): ay would move the DOM\n
Login.c(90): * element in the same way in the DOM.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items track by item.id` is a typical
pattern when the items c
Login.c(90): ome from the database. In this\n
Login.c(90): * case the object identity does not matter. Two objects are
considered equivalent as
Login.c(90): long as their `id`\n
Login.c(90): * property is same.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items | filter:searchText track by
item.id` is a pattern that
Login.c(90): might be used to apply a filter\n
Login.c(90): * to items in conjunction with a tracking expression.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This example initializes the scope to a list of names and\n
Login.c(90): * then uses `ngRepeat` to display every person:\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-init="friends = [\n
Login.c(90): {name:'John', age:25, gender:'boy'},\n
Login.c(90): {name:'Jessie', age:30, gender:'girl'},\n
Login.c(90): {name:'Johanna', age:28, gender:'girl'},\n
Login.c(90): {name:'Joy', age:15, gender:'girl'},\n
Login.c(90): {name:'Mary', age:28, gender:'girl'},\n
Login.c(90): {name:'Peter', age:95, gender:'boy'},\n
Login.c(90): {name:'Sebastian', age:50, gender:'boy'},\n
Login.c(90): {name:'Erika', age:27, gender:'girl'},\n
Login.c(90): {name:'Patrick', age:40, gender:'boy'},\n
Login.c(90): {name:'Samantha', age:60, gender:'girl'}\n
Login.c(90): ]">\n
Login.c(90): I have {{friends.length}} friends. They are:\n
Login.c(90): <input type="search" ng-model="q" placeholder="filter
friends..." />\n
Login.c(90): <ul class="example-animate-container">\n
Login.c(90): <li class="animate-repeat" ng-repeat="friend in friends
| filter:q">\n
Login.c(90): [{{$index + 1}}] {{friend.name}} who is {{friend.age}}
years old.\n
Login.c(90): </li>\n
Login.c(90): </ul>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .example-animate-container {\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): list-style:none;\n
Login.c(90): margin:0;\n
Login.c(90): padding:0 10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat {\n
Login.c(90): line-height:40px;\n
Login.c(90): list-style:none;\n
Login.c(90): box-sizing:border-box;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat.ng-move,\n
Login.c(90): .animate-repeat.ng-enter,\n
Login.c(90): .animate-repeat.ng-leave {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat.ng-leave.ng-leave-active,\n
Login.c(90): .animate-repeat.ng-move,\n
Login.c(90): .animate-repeat.ng-enter {\n
Login.c(90): opacity:0;\n
Login.c(90): max-height:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat.ng-leave,\n
Login.c(90): .animate-repeat.ng-move.ng-move-active,\n
Login.c(90): .animate-repeat.ng-enter.ng-enter-active {\n
Login.c(90): opacity:1;\n
Login.c(90): max-height:40px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var friends = element.all(by.repeater('friend in
friends'));\n
Login.c(90): \n
Login.c(90): it('should render initial data set', function() {\n
Login.c(90): expect(friends.count()).toBe(10);\n
Login.c(90): expect(friends.get(0).getText()).toEqual('[1] John who is
25 years old.');\n
Login.c(90): expect(friends.get(1).getText()).toEqual('[2] Jessie who
is 30 years old.');\n
Login.c(90): expect(friends.last().getText()).toEqual('[10] Samantha
who is 60 years old.');\n
Login.c(90): expect(element(by.binding('friends.length')).getText())\n
Login.c(90): .toMatch("I have 10 friends. They are:");\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should update repeater when filter predicate changes',
function() {\n
Login.c(90): expect(friends.count()).toBe(10);\n
Login.c(90): \n
Login.c(90): element(by.model('q')).sendKeys('ma');\n
Login.c(90): \n
Login.c(90): expect(friends.count()).toBe(2);\n
Login.c(90): expect(friends.get(0).getText()).toEqual('[1] Mary who is
28 years old.');\n
Login.c(90): expect(friends.last().getText()).toEqual('[2] Samantha
who is 60 years old.');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngRepeatDirective = ['$parse', '$animate', function($parse,
$animate) {\n
Login.c(90): var NG_REMOVED = '$$NG_REMOVED';\n
Login.c(90): var ngRepeatMinErr = minErr('ngRepeat');\n
Login.c(90): return {\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 1000,\n
Login.c(90): terminal: true,\n
Login.c(90): $$tlb: true,\n
Login.c(90): link: function($scope, $element, $attr, ctrl, $transclude){\n
Login.c(90): var expression = $attr.ngRepeat;\n
Login.c(90): var match = expression.match(/^\\s*([\\s\\S]+?)\\s+in\\s+
([\\s\\S]+?)(?:\\s+track\\
Login.c(90): s+by\\s+([\\s\\S]+?))?\\s*$/),\n
Login.c(90): trackByExp, trackByExpGetter, trackByIdExpFn,
trackByIdArrayFn, trackByIdObjFn,\n
Login.c(90): lhs, rhs, valueIdentifier, keyIdentifier,\n
Login.c(90): hashFnLocals = {$id: hashKey};\n
Login.c(90): \n
Login.c(90): if (!match) {\n
Login.c(90): throw ngRepeatMinErr('iexp', "Expected expression in
form of '_item_ in _collect
Login.c(90): ion_[ track by _id_]' but got '{0}'.",\n
Login.c(90): expression);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): lhs = match[1];\n
Login.c(90): rhs = match[2];\n
Login.c(90): trackByExp = match[3];\n
Login.c(90): \n
Login.c(90): if (trackByExp) {\n
Login.c(90): trackByExpGetter = $parse(trackByExp);\n
Login.c(90): trackByIdExpFn = function(key, value, index) {\n
Login.c(90): // assign key, value, and $index to the locals so that
they can be used in has
Login.c(90): h functions\n
Login.c(90): if (keyIdentifier) hashFnLocals[keyIdentifier] =
key;\n
Login.c(90): hashFnLocals[valueIdentifier] = value;\n
Login.c(90): hashFnLocals.$index = index;\n
Login.c(90): return trackByExpGetter($scope, hashFnLocals);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): trackByIdArrayFn = function(key, value) {\n
Login.c(90): return hashKey(value);\n
Login.c(90): };\n
Login.c(90): trackByIdObjFn = function(key) {\n
Login.c(90): return key;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): match = lhs.match(/^(?:([\\$\\w]+)|\\(([\\$\\w]
+)\\s*,\\s*([\\$\\w]+)\\))$/);\n
Login.c(90): if (!match) {\n
Login.c(90): throw ngRepeatMinErr('iidexp', "'_item_' in '_item_ in
_collection_' should be a
Login.c(90): n identifier or '(_key_, _value_)' expression, but got '{0}'.",\n
Login.c(90):
lhs);\n
Login.c(90): }\n
Login.c(90): valueIdentifier = match[3] || match[1];\n
Login.c(90): keyIdentifier = match[2];\n
Login.c(90): \n
Login.c(90): // Store a list of elements from previous run. This is a
hash where key is the ite
Login.c(90): m from the\n
Login.c(90): // iterator, and the value is objects with following
properties.\n
Login.c(90): // - scope: bound scope\n
Login.c(90): // - element: previous element.\n
Login.c(90): // - index: position\n
Login.c(90): var lastBlockMap = {};\n
Login.c(90): \n
Login.c(90): //watch props\n
Login.c(90): $scope.$watchCollection(rhs, function
ngRepeatAction(collection){\n
Login.c(90): var index, length,\n
Login.c(90): previousNode = $element[0], // current position
of the node\n
Login.c(90): nextNode,\n
Login.c(90): // Same as lastBlockMap but it has the current
state. It will become the\n
Login.c(90): // lastBlockMap on the next iteration.\n
Login.c(90): nextBlockMap = {},\n
Login.c(90): arrayLength,\n
Login.c(90): childScope,\n
Login.c(90): key, value, // key/value of iteration\n
Login.c(90): trackById,\n
Login.c(90): trackByIdFn,\n
Login.c(90): collectionKeys,\n
Login.c(90): block, // last object information {scope,
element, id}\n
Login.c(90): nextBlockOrder = [],\n
Login.c(90): elementsToRemove;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (isArrayLike(collection)) {\n
Login.c(90): collectionKeys = collection;\n
Login.c(90): trackByIdFn = trackByIdExpFn || trackByIdArrayFn;\n
Login.c(90): } else {\n
Login.c(90): trackByIdFn = trackByIdExpFn || trackByIdObjFn;\n
Login.c(90): // if object, extract keys, sort them and use to
determine order of iteration
Login.c(90): over obj props\n
Login.c(90): collectionKeys = [];\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key) &&
key.charAt(0) != '
Login.c(90): t=3421ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): $') {\n
Login.c(90): collectionKeys.push(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): collectionKeys.sort();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): arrayLength = collectionKeys.length;\n
Login.c(90): \n
Login.c(90): // locate existing items\n
Login.c(90): length = nextBlockOrder.length =
collectionKeys.length;\n
Login.c(90): for(index = 0; index < length; index++) {\n
Login.c(90): key = (collection === collectionKeys) ? index :
collectionKeys[index];\n
Login.c(90): value = collection[key];\n
Login.c(90): trackById = trackByIdFn(key, value, index);\n
Login.c(90): assertNotHasOwnProperty(trackById, '`track by` id');\n
Login.c(90): if(lastBlockMap.hasOwnProperty(trackById)) {\n
Login.c(90): block = lastBlockMap[trackById];\n
Login.c(90): delete lastBlockMap[trackById];\n
Login.c(90): nextBlockMap[trackById] = block;\n
Login.c(90): nextBlockOrder[index] = block;\n
Login.c(90): } else if (nextBlockMap.hasOwnProperty(trackById)) {\n
Login.c(90): // restore lastBlockMap\n
Login.c(90): forEach(nextBlockOrder, function(block) {\n
Login.c(90): if (block && block.scope) lastBlockMap[block.id] =
block;\n
Login.c(90): });\n
Login.c(90): // This is a duplicate and we need to throw an
error\n
Login.c(90): throw ngRepeatMinErr('dupes',\n
Login.c(90): "Duplicates in a repeater are not allowed. Use
'track by' expression to
Login.c(90): specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate
value: {2}",\n
Login.c(90): expression, trackById, toJson(value));\n
Login.c(90): } else {\n
Login.c(90): // new never before seen block\n
Login.c(90): nextBlockOrder[index] = { id: trackById };\n
Login.c(90): nextBlockMap[trackById] = false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // remove existing items\n
Login.c(90): for (key in lastBlockMap) {\n
Login.c(90): // lastBlockMap is our own object so we don't need to
use special hasOwnProper
Login.c(90): tyFn\n
Login.c(90): if (lastBlockMap.hasOwnProperty(key)) {\n
Login.c(90): block = lastBlockMap[key];\n
Login.c(90): elementsToRemove = getBlockElements(block.clone);\n
Login.c(90): $animate.leave(elementsToRemove);\n
Login.c(90): forEach(elementsToRemove, function(element)
{ element[NG_REMOVED] = true; })
Login.c(90): ;\n
Login.c(90): block.scope.$destroy();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // we are not using forEach for perf reasons (trying to
avoid #call)\n
Login.c(90): for (index = 0, length = collectionKeys.length; index <
length; index++) {\n
Login.c(90): key = (collection === collectionKeys) ? index :
collectionKeys[index];\n
Login.c(90): value = collection[key];\n
Login.c(90): block = nextBlockOrder[index];\n
Login.c(90): if (nextBlockOrder[index - 1]) previousNode =
getBlockEnd(nextBlockOrder[index
Login.c(90): - 1]);\n
Login.c(90): \n
Login.c(90): if (block.scope) {\n
Login.c(90): // if we have already seen this object, then we need
to reuse the\n
Login.c(90): // associated scope/element\n
Login.c(90): childScope = block.scope;\n
Login.c(90): \n
Login.c(90): nextNode = previousNode;\n
Login.c(90): do {\n
Login.c(90): nextNode = nextNode.nextSibling;\n
Login.c(90): } while(nextNode && nextNode[NG_REMOVED]);\n
Login.c(90): \n
Login.c(90): if (getBlockStart(block) != nextNode) {\n
Login.c(90): // existing item which got moved\n
Login.c(90): $animate.move(getBlockElements(block.clone), null,
jqLite(previousNode));\n
Login.c(90): }\n
Login.c(90): previousNode = getBlockEnd(block);\n
Login.c(90): } else {\n
Login.c(90): // new item which we don't know about\n
Login.c(90): childScope = $scope.$new();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): childScope[valueIdentifier] = value;\n
Login.c(90): if (keyIdentifier) childScope[keyIdentifier] = key;\n
Login.c(90): childScope.$index = index;\n
Login.c(90): childScope.$first = (index === 0);\n
Login.c(90): childScope.$last = (index === (arrayLength - 1));\n
Login.c(90): childScope.$middle = !(childScope.$first ||
childScope.$last);\n
Login.c(90): // jshint bitwise: false\n
Login.c(90): childScope.$odd = !(childScope.$even = (index&1) ===
0);\n
Login.c(90): // jshint bitwise: true\n
Login.c(90): \n
Login.c(90): if (!block.scope) {\n
Login.c(90): $transclude(childScope, function(clone) {\n
Login.c(90): clone[clone.length++] = document.createComment('
end ngRepeat: ' + express
Login.c(90): ion + ' ');\n
Login.c(90): $animate.enter(clone, null,
jqLite(previousNode));\n
Login.c(90): previousNode = clone;\n
Login.c(90): block.scope = childScope;\n
Login.c(90): // Note: We only need the first/last node of the
cloned nodes.\n
Login.c(90): // However, we need to keep the reference to the
jqlite wrapper as it migh
Login.c(90): t be changed later\n
Login.c(90): // by a directive with templateUrl when its
template arrives.\n
Login.c(90): block.clone = clone;\n
Login.c(90): nextBlockMap[block.id] = block;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): lastBlockMap = nextBlockMap;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function getBlockStart(block) {\n
Login.c(90): return block.clone[0];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getBlockEnd(block) {\n
Login.c(90): return block.clone[block.clone.length - 1];\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngShow\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngShow` directive shows or hides the given HTML element
based on the expression\n
Login.c(90): * provided to the `ngShow` attribute. The element is shown or
hidden by removing or addin
Login.c(90): g\n
Login.c(90): * the `.ng-hide` CSS class onto the element. The `.ng-hide` CSS
class is predefined\n
Login.c(90): * in AngularJS and sets the display style to none (using an !
important flag).\n
Login.c(90): * For CSP mode please add `angular-csp.css` to your html file
(see {@link ng.directive:ng
Login.c(90): Csp ngCsp}).\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <!-- when $scope.myValue is truthy (element is visible) -->\n
Login.c(90): * <div ng-show="myValue"></div>\n
Login.c(90): *\n
Login.c(90): * <!-- when $scope.myValue is falsy (element is hidden) -->\n
Login.c(90): * <div ng-show="myValue" class="ng-hide"></div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * When the `ngShow` expression evaluates to false then the `.ng-
hide` CSS class is added
Login.c(90): to the class attribute\n
Login.c(90): * on the element causing it to become hidden. When true, the
`.ng-hide` CSS class is remo
Login.c(90): ved\n
Login.c(90): * from the element causing the element not to appear hidden.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** Here is a list of values that ngShow will consider as
a falsy value (case ins
Login.c(90): ensitive):<br />\n
Login.c(90): * "f" / "0" / "false" / "no" / "n" / "[]"\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * ## Why is !important used?\n
Login.c(90): *\n
Login.c(90): * You may be wondering why !important is used for the `.ng-hide`
CSS class. This is becau
Login.c(90): se the `.ng-hide` selector\n
Login.c(90): * can be easily overridden by heavier selectors. For example,
something as simple\n
Login.c(90): * as changing the display style on a HTML list item would make
hidden elements appear vis
Login.c(90): ible.\n
Login.c(90): * This also becomes a bigger issue when dealing with CSS
frameworks.\n
Login.c(90): *\n
Login.c(90): * By using !important, the show and hide behavior will work as
expected despite any clash
Login.c(90): between CSS selector\n
Login.c(90): * specificity (when !important isn't used with any conflicting
styles). If a developer ch
Login.c(90): ooses to override the\n
Login.c(90): * styling to change how to hide an element then it is just a
matter of using !important i
Login.c(90): n their own CSS code.\n
Login.c(90): *\n
Login.c(90): * ### Overriding `.ng-hide`\n
Login.c(90): *\n
Login.c(90): * By default, the `.ng-hide` class will style the element with
`display:none!important`.
Login.c(90): If you wish to change\n
Login.c(90): * the hide behavior with ngShow/ngHide then this can be achieved
by restating the styles
Login.c(90): for the `.ng-hide`\n
Login.c(90): * class in CSS:\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * .ng-hide {\n
Login.c(90): * //this is just another form of hiding an element\n
Login.c(90): * display:block!important;\n
Login.c(90): * position:absolute;\n
Login.c(90): * top:-9999px;\n
Login.c(90): * left:-9999px;\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * By default you don't need to override in CSS anything and the
animations will work arou
Login.c(90): nd the display style.\n
Login.c(90): *\n
Login.c(90): * ## A note about animations with `ngShow`\n
Login.c(90): *\n
Login.c(90): * Animations in ngShow/ngHide work with the show and hide events
that are triggered when
Login.c(90): the directive expression\n
Login.c(90): * is true and false. This system works like the animation system
present with ngClass exc
Login.c(90): ept that\n
Login.c(90): * you must also include the !important flag to override the
display property\n
Login.c(90): * so that you can perform an animation when the element is hidden
during the time of the
Login.c(90): animation.\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * //\n
Login.c(90): * //a working example can be found at the bottom of this page\n
Login.c(90): * //\n
Login.c(90): * .my-element.ng-hide-add, .my-element.ng-hide-remove {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * .my-element.ng-hide-add { ... }\n
Login.c(90): * .my-element.ng-hide-add.ng-hide-add-active { ... }\n
Login.c(90): * .my-element.ng-hide-remove { ... }\n
Login.c(90): * .my-element.ng-hide-remove.ng-hide-remove-active { ... }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Keep in mind that, as of AngularJS version 1.2.17 (and 1.3.0-
beta.11), there is no need
Login.c(90): to change the display\n
Login.c(90): * property to block during animation states--ngAnimate will
handle the style toggling aut
Login.c(90): omatically for you.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * addClass: `.ng-hide` - happens after the `ngShow` expression
evaluates to a truthy valu
Login.c(90): e and the just before contents are set to visible\n
Login.c(90): * removeClass: `.ng-hide` - happens after the `ngShow` expression
evaluates to a non trut
Login.c(90): hy value and just before the contents are set to hidden\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngShow If the {@link guide/expression
expression} is truthy\n
Login.c(90): * then the element is shown or hidden respectively.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me: <input type="checkbox" ng-model="checked"><br/>\n
Login.c(90): <div>\n
Login.c(90): Show:\n
Login.c(90): <div class="check-element animate-show" ng-
show="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-up"></span> I
show up when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): <div>\n
Login.c(90): Hide:\n
Login.c(90): <div class="check-element animate-show" ng-
hide="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-down"></span> I
hide when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="glyphicons.css">\n
Login.c(90): @import
url(//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css);
Login.c(90): \n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-show {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): line-height:20px;\n
Login.c(90): opacity:1;\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-show.ng-hide {\n
Login.c(90): line-height:0;\n
Login.c(90): opacity:0;\n
Login.c(90): padding:0 10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .check-element {\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var thumbsUp = element(by.css('span.glyphicon-thumbs-
up'));\n
Login.c(90): var thumbsDown = element(by.css('span.glyphicon-thumbs-
down'));\n
Login.c(90): \n
Login.c(90): it('should check ng-show / ng-hide', function() {\n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeFalsy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeTruthy();\n
Login.c(90): \n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90): \n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeTruthy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeFalsy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngShowDirective = ['$animate', function($animate) {\n
Login.c(90): return function(scope, element, attr) {\n
Login.c(90): scope.$watch(attr.ngShow, function ngShowWatchAction(value){\n
Login.c(90): $animate[toBoolean(value) ? 'removeClass' : 'addClass']
(element, 'ng-hide');\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngHide\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngHide` directive shows or hides the given HTML element
based on the expression\n
Login.c(90): * provided to the `ngHide` attribute. The element is shown or
hidden by removing or addin
Login.c(90): g\n
Login.c(90): * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS
class is predefined\n
Login.c(90): * in AngularJS and sets the display style to none (using an !
important flag).\n
Login.c(90): * For CSP mode please add `angular-csp.css` to your html file
(see {@link ng.directive:ng
Login.c(90): Csp ngCsp}).\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <!-- when $scope.myValue is truthy (element is hidden) -->\n
Login.c(90): * <div ng-hide="myValue" class="ng-hide"></div>\n
Login.c(90): *\n
Login.c(90): * <!-- when $scope.myValue is falsy (element is visible) -->\n
Login.c(90): * <div ng-hide="myValue"></div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * When the `.ngHide` expression evaluates to true then the `.ng-
hide` CSS class is added
Login.c(90): to the class attribute\n
Login.c(90): * on the element causing it to become hidden. When false, the
`.ng-hide` CSS class is rem
Login.c(90): oved\n
Login.c(90): * from the element causing the element not to appear hidden.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** Here is a list of values that ngHide will consider as
a falsy value (case ins
Login.c(90): ensitive):<br />\n
Login.c(90): * "f" / "0" / "false" / "no" / "n" / "[]"\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * ## Why is !important used?\n
Login.c(90): *\n
Login.c(90): * You may be wondering why !important is used for the `.ng-hide`
CSS class. This is becau
Login.c(90): se the `.ng-hide` selector\n
Login.c(90): * can be easily overridden by heavier selectors. For example,
something as simple\n
Login.c(90): * as changing the di
Login.c(90): t=3482ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): splay style on a HTML list item would make hidden elements appear
visible.\n
Login.c(90): * This also becomes a bigger issue when dealing with CSS
frameworks.\n
Login.c(90): *\n
Login.c(90): * By using !important, the show and hide behavior will work as
expected despite any clash
Login.c(90): between CSS selector\n
Login.c(90): * specificity (when !important isn't used with any conflicting
styles). If a developer ch
Login.c(90): ooses to override the\n
Login.c(90): * styling to change how to hide an element then it is just a
matter of using !important i
Login.c(90): n their own CSS code.\n
Login.c(90): *\n
Login.c(90): * ### Overriding `.ng-hide`\n
Login.c(90): *\n
Login.c(90): * By default, the `.ng-hide` class will style the element with
`display:none!important`.
Login.c(90): If you wish to change\n
Login.c(90): * the hide behavior with ngShow/ngHide then this can be achieved
by restating the styles
Login.c(90): for the `.ng-hide`\n
Login.c(90): * class in CSS:\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * .ng-hide {\n
Login.c(90): * //this is just another form of hiding an element\n
Login.c(90): * display:block!important;\n
Login.c(90): * position:absolute;\n
Login.c(90): * top:-9999px;\n
Login.c(90): * left:-9999px;\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * By default you don't need to override in CSS anything and the
animations will work arou
Login.c(90): nd the display style.\n
Login.c(90): *\n
Login.c(90): * ## A note about animations with `ngHide`\n
Login.c(90): *\n
Login.c(90): * Animations in ngShow/ngHide work with the show and hide events
that are triggered when
Login.c(90): the directive expression\n
Login.c(90): * is true and false. This system works like the animation system
present with ngClass, ex
Login.c(90): cept that the `.ng-hide`\n
Login.c(90): * CSS class is added and removed for you instead of your own CSS
class.\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * //\n
Login.c(90): * //a working example can be found at the bottom of this page\n
Login.c(90): * //\n
Login.c(90): * .my-element.ng-hide-add, .my-element.ng-hide-remove {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * .my-element.ng-hide-add { ... }\n
Login.c(90): * .my-element.ng-hide-add.ng-hide-add-active { ... }\n
Login.c(90): * .my-element.ng-hide-remove { ... }\n
Login.c(90): * .my-element.ng-hide-remove.ng-hide-remove-active { ... }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Keep in mind that, as of AngularJS version 1.2.17 (and 1.3.0-
beta.11), there is no need
Login.c(90): to change the display\n
Login.c(90): * property to block during animation states--ngAnimate will
handle the style toggling aut
Login.c(90): omatically for you.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * removeClass: `.ng-hide` - happens after the `ngHide` expression
evaluates to a truthy v
Login.c(90): alue and just before the contents are set to hidden\n
Login.c(90): * addClass: `.ng-hide` - happens after the `ngHide` expression
evaluates to a non truthy
Login.c(90): value and just before the contents are set to visible\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngHide If the {@link guide/expression
expression} is truthy then\n
Login.c(90): * the element is shown or hidden respectively.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me: <input type="checkbox" ng-model="checked"><br/>\n
Login.c(90): <div>\n
Login.c(90): Show:\n
Login.c(90): <div class="check-element animate-hide" ng-
show="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-up"></span> I
show up when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): <div>\n
Login.c(90): Hide:\n
Login.c(90): <div class="check-element animate-hide" ng-
hide="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-down"></span> I
hide when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="glyphicons.css">\n
Login.c(90): @import
url(//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css);
Login.c(90): \n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-hide {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): line-height:20px;\n
Login.c(90): opacity:1;\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-hide.ng-hide {\n
Login.c(90): line-height:0;\n
Login.c(90): opacity:0;\n
Login.c(90): padding:0 10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .check-element {\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var thumbsUp = element(by.css('span.glyphicon-thumbs-
up'));\n
Login.c(90): var thumbsDown = element(by.css('span.glyphicon-thumbs-
down'));\n
Login.c(90): \n
Login.c(90): it('should check ng-show / ng-hide', function() {\n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeFalsy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeTruthy();\n
Login.c(90): \n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90): \n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeTruthy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeFalsy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngHideDirective = ['$animate', function($animate) {\n
Login.c(90): return function(scope, element, attr) {\n
Login.c(90): scope.$watch(attr.ngHide, function ngHideWatchAction(value){\n
Login.c(90): $animate[toBoolean(value) ? 'addClass' : 'removeClass']
(element, 'ng-hide');\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngStyle\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngStyle` directive allows you to set CSS style on an HTML
element conditionally.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngStyle\n
Login.c(90): *\n
Login.c(90): * {@link guide/expression Expression} which evals to an\n
Login.c(90): * object whose keys are CSS style names and values are
corresponding values for those CSS
Login.c(90): \n
Login.c(90): * keys.\n
Login.c(90): *\n
Login.c(90): * Since some CSS style names are not valid keys for an object,
they must be quoted.\n
Login.c(90): * See the 'background-color' style in the example below.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input type="button" value="set color" ng-
click="myStyle={color:'red'}">\n
Login.c(90): <input type="button" value="set background" ng-
click="myStyle={'background-color':
Login.c(90): 'blue'}">\n
Login.c(90): <input type="button" value="clear" ng-
click="myStyle={}">\n
Login.c(90): <br/>\n
Login.c(90): <span ng-style="myStyle">Sample Text</span>\n
Login.c(90): <pre>myStyle={{myStyle}}</pre>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): span {\n
Login.c(90): color: black;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var colorSpan = element(by.css('span'));\n
Login.c(90): \n
Login.c(90): it('should check ng-style', function() {\n
Login.c(90): expect(colorSpan.getCssValue('color')).toBe('rgba(0, 0,
0, 1)');\n
Login.c(90): element(by.css('input[value=\\'set
color\\']')).click();\n
Login.c(90): expect(colorSpan.getCssValue('color')).toBe('rgba(255, 0,
0, 1)');\n
Login.c(90): element(by.css('input[value=clear]')).click();\n
Login.c(90): expect(colorSpan.getCssValue('color')).toBe('rgba(0, 0,
0, 1)');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngStyleDirective = ngDirective(function(scope, element, attr)
{\n
Login.c(90): scope.$watch(attr.ngStyle, function
ngStyleWatchAction(newStyles, oldStyles) {\n
Login.c(90): if (oldStyles && (newStyles !== oldStyles)) {\n
Login.c(90): forEach(oldStyles, function(val, style) { element.css(style,
'');});\n
Login.c(90): }\n
Login.c(90): if (newStyles) element.css(newStyles);\n
Login.c(90): }, true);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSwitch\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngSwitch` directive is used to conditionally swap DOM
structure on your template b
Login.c(90): ased on a scope expression.\n
Login.c(90): * Elements within `ngSwitch` but without `ngSwitchWhen` or
`ngSwitchDefault` directives w
Login.c(90): ill be preserved at the location\n
Login.c(90): * as specified in the template.\n
Login.c(90): *\n
Login.c(90): * The directive itself works similar to ngInclude, however,
instead of downloading templa
Login.c(90): te code (or loading it\n
Login.c(90): * from the template cache), `ngSwitch` simply chooses one of the
nested elements and make
Login.c(90): s it visible based on which element\n
Login.c(90): * matches the value obtained from the evaluated expression. In
other words, you define a
Login.c(90): container element\n
Login.c(90): * (where you place the directive), place an expression on the
**`on="..."` attribute**\n
Login.c(90): * (or the **`ng-switch="..."` attribute**), define any inner
elements inside of the direc
Login.c(90): tive and place\n
Login.c(90): * a when attribute per element. The when attribute is used to
inform ngSwitch which eleme
Login.c(90): nt to display when the on\n
Login.c(90): * expression is evaluated. If a matching expression is not found
via a when attribute the
Login.c(90): n an element with the default\n
Login.c(90): * attribute is displayed.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-info">\n
Login.c(90): * Be aware that the attribute values to match against cannot be
expressions. They are int
Login.c(90): erpreted\n
Login.c(90): * as literal string values to match against.\n
Login.c(90): * For example, **`ng-switch-when="someVal"`** will match against
the string `"someVal"` n
Login.c(90): ot against the\n
Login.c(90): * value of the expression `$scope.someVal`.\n
Login.c(90): * </div>\n
Login.c(90): \n
Login.c(90): * @animations\n
Login.c(90): * enter - happens after the ngSwitch contents change and the
matched child element is pla
Login.c(90): ced inside the container\n
Login.c(90): * leave - happens just after the ngSwitch contents change and
just before the former cont
Login.c(90): ents are removed from the DOM\n
Login.c(90): *\n
Login.c(90): * @usage\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * <ANY ng-switch="expression">\n
Login.c(90): * <ANY ng-switch-when="matchValue1">...</ANY>\n
Login.c(90): * <ANY ng-switch-when="matchValue2">...</ANY>\n
Login.c(90): * <ANY ng-switch-default>...</ANY>\n
Login.c(90): * </ANY>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @scope\n
Login.c(90): * @priority 800\n
Login.c(90): * @param {*} ngSwitch|on expression to match against <tt>ng-
switch-when</tt>.\n
Login.c(90): * On child elements add:\n
Login.c(90): *\n
Login.c(90): * * `ngSwitchWhen`: the case statement to match against. If match
then this\n
Login.c(90): * case will be displayed. If the same match appears multiple
times, all the\n
Login.c(90): * elements will be displayed.\n
Login.c(90): * * `ngSwitchDefault`: the default case when no other case match.
If there\n
Login.c(90): * are multiple default cases, all of them will be displayed
when no other\n
Login.c(90): * case match.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="switchExample" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <select ng-model="selection" ng-options="item for item in
items">\n
Login.c(90): </select>\n
Login.c(90): <tt>selection={{selection}}</tt>\n
Login.c(90): <hr/>\n
Login.c(90): <div class="animate-switch-container"\n
Login.c(90): ng-switch on="selection">\n
Login.c(90): <div class="animate-switch" ng-switch-
when="settings">Settings Div</div>\n
Login.c(90): <div class="animate-switch" ng-switch-when="home">Home
Span</div>\n
Login.c(90): <div class="animate-switch" ng-switch-
default>default</div>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('switchExample', ['ngAnimate'])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.items = ['settings', 'home', 'other'];\n
Login.c(90): $scope.selection = $scope.items[0];\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-switch-container {\n
Login.c(90): position:relative;\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): height:40px;\n
Login.c(90): overflow:hidden;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-switch {\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-switch.ng-animate {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): \n
Login.c(90): position:absolute;\n
Login.c(90): top:0;\n
Login.c(90): left:0;\n
Login.c(90): right:0;\n
Login.c(90): bottom:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-switch.ng-leave.ng-leave-active,\n
Login.c(90): .animate-switch.ng-enter {\n
Login.c(90): top:-50px;\n
Login.c(90): }\n
Login.c(90): .animate-switch.ng-leave,\n
Login.c(90): .animate-switch.ng-enter.ng-enter-active {\n
Login.c(90): top:0;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var switchElem = element(by.css('[ng-switch]'));\n
Login.c(90): var select = element(by.model('selection'));\n
Login.c(90): \n
Login.c(90): it('should start in settings', function() {\n
Login.c(90): expect(switchElem.getText()).toMatch(/Settings Div/);\n
Login.c(90): });\n
Login.c(90): it('should change to home', function() {\n
Login.c(90): select.all(by.css('option')).get(1).click();\n
Login.c(90): expect(switchElem.getText()).toMatch(/Home Span/);\n
Login.c(90): });\n
Login.c(90): it('should select default', function() {\n
Login.c(90): select.all(by.css('option')).get(2).click();\n
Login.c(90): expect(switchElem.getText()).toMatch(/default/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngSwitchDirective = ['$animate', function($animate) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): require: 'ngSwitch',\n
Login.c(90): \n
Login.c(90): // asks for $scope to fool the BC controller module\n
Login.c(90): controller: ['$scope', function ngSwitchController() {\n
Login.c(90): this.cases = {};\n
Login.c(90): }],\n
Login.c(90): link: function(scope, element, attr, ngSwitchController) {\n
Login.c(90): var watchExpr = attr.ngSwitch || attr.on,\n
Login.c(90): selectedTranscludes = [],\n
Login.c(90): selectedElements = [],\n
Login.c(90): previousElements = [],\n
Login.c(90): selectedScopes = [];\n
Login.c(90): \n
Login.c(90): scope.$watch(watchExpr, function ngSwitchWatchAction(value)
{\n
Login.c(90): var i, ii;\n
Login.c(90): for (i = 0, ii = previousElements.length; i < ii; ++i) {\n
Login.c(90): previousElements[i].remove();\n
Login.c(90): }\n
Login.c(90): previousElements.length = 0;\n
Login.c(90): \n
Login.c(90): for (i = 0, ii = selectedScopes.length; i < ii; ++i) {\n
Login.c(90): var selected = selectedElements[i];\n
Login.c(90): selectedScopes[i].$destroy();\n
Login.c(90): previousElements[i] = selected;\n
Login.c(90): $animate.leave(selected, function() {\n
Login.c(90):
Login.c(90): t=3522ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): previousElements.splice(i, 1);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): selectedElements.length = 0;\n
Login.c(90): selectedScopes.length = 0;\n
Login.c(90): \n
Login.c(90): if ((selectedTranscludes = ngSwitchController.cases['!' +
value] || ngSwitchContro
Login.c(90): ller.cases['?'])) {\n
Login.c(90): scope.$eval(attr.change);\n
Login.c(90): forEach(selectedTranscludes,
function(selectedTransclude) {\n
Login.c(90): var selectedScope = scope.$new();\n
Login.c(90): selectedScopes.push(selectedScope);\n
Login.c(90): selectedTransclude.transclude(selectedScope,
function(caseElement) {\n
Login.c(90): var anchor = selectedTransclude.element;\n
Login.c(90): \n
Login.c(90): selectedElements.push(caseElement);\n
Login.c(90): $animate.enter(caseElement, anchor.parent(),
anchor);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var ngSwitchWhenDirective = ngDirective({\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 800,\n
Login.c(90): require: '^ngSwitch',\n
Login.c(90): link: function(scope, element, attrs, ctrl, $transclude) {\n
Login.c(90): ctrl.cases['!' + attrs.ngSwitchWhen] = (ctrl.cases['!' +
attrs.ngSwitchWhen] || []);\n
Login.c(90): ctrl.cases['!' + attrs.ngSwitchWhen].push({ transclude:
$transclude, element: element
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var ngSwitchDefaultDirective = ngDirective({\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 800,\n
Login.c(90): require: '^ngSwitch',\n
Login.c(90): link: function(scope, element, attr, ctrl, $transclude) {\n
Login.c(90): ctrl.cases['?'] = (ctrl.cases['?'] || []);\n
Login.c(90): ctrl.cases['?'].push({ transclude: $transclude, element:
element });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngTransclude\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Directive that marks the insertion point for the transcluded
DOM of the nearest parent
Login.c(90): directive that uses transclusion.\n
Login.c(90): *\n
Login.c(90): * Any existing content of the element that this directive is
placed on will be removed be
Login.c(90): fore the transcluded content is inserted.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="transcludeExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('transcludeExample', [])\n
Login.c(90): .directive('pane', function(){\n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): transclude: true,\n
Login.c(90): scope: { title:'@' },\n
Login.c(90): template: '<div style="border: 1px solid black;">'
+\n
Login.c(90): '<div style="background-color:
gray">{{title}}</div>' +\n
Login.c(90): '<div ng-transclude></div>' +\n
Login.c(90): '</div>'\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.title = 'Lorem Ipsum';\n
Login.c(90): $scope.text = 'Neque porro quisquam est qui dolorem
ipsum quia dolor...';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <input ng-model="title"><br>\n
Login.c(90): <textarea ng-model="text"></textarea> <br/>\n
Login.c(90): <pane title="{{title}}">{{text}}</pane>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should have transcluded', function() {\n
Login.c(90): var titleElement = element(by.model('title'));\n
Login.c(90): titleElement.clear();\n
Login.c(90): titleElement.sendKeys('TITLE');\n
Login.c(90): var textElement = element(by.model('text'));\n
Login.c(90): textElement.clear();\n
Login.c(90): textElement.sendKeys('TEXT');\n
Login.c(90):
expect(element(by.binding('title')).getText()).toEqual('TITLE');\n
Login.c(90):
expect(element(by.binding('text')).getText()).toEqual('TEXT');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): var ngTranscludeDirective = ngDirective({\n
Login.c(90): link: function($scope, $element, $attrs, controller,
$transclude) {\n
Login.c(90): if (!$transclude) {\n
Login.c(90): throw minErr('ngTransclude')('orphan',\n
Login.c(90): 'Illegal use of ngTransclude directive in the template! '
+\n
Login.c(90): 'No parent directive that requires a transclusion found. '
+\n
Login.c(90): 'Element: {0}',\n
Login.c(90): startingTag($element));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $transclude(function(clone) {\n
Login.c(90): $element.empty();\n
Login.c(90): $element.append(clone);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name script\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Load the content of a `<script>` element into {@link ng.
$templateCache `$templateCache`
Login.c(90): }, so that the\n
Login.c(90): * template can be used by {@link ng.directive:ngInclude
`ngInclude`},\n
Login.c(90): * {@link ngRoute.directive:ngView `ngView`}, or {@link
guide/directive directives}. The t
Login.c(90): ype of the\n
Login.c(90): * `<script>` element must be specified as `text/ng-template`, and
a cache name for the te
Login.c(90): mplate must be\n
Login.c(90): * assigned through the element's `id`, which can then be used as
a directive's `templateU
Login.c(90): rl`.\n
Login.c(90): *\n
Login.c(90): * @param {string} type Must be set to `'text/ng-template'`.\n
Login.c(90): * @param {string} id Cache name of the template.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script type="text/ng-template" id="/tpl.html">\n
Login.c(90): Content of the template.\n
Login.c(90): </script>\n
Login.c(90): \n
Login.c(90): <a ng-click="currentTpl='/tpl.html'" id="tpl-link">Load
inlined template</a>\n
Login.c(90): <div id="tpl-content" ng-include src="currentTpl"></div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should load template defined inside script tag',
function() {\n
Login.c(90): element(by.css('#tpl-link')).click();\n
Login.c(90): expect(element(by.css('#tpl-
content')).getText()).toMatch(/Content of the template
Login.c(90): /);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var scriptDirective = ['$templateCache', function($templateCache)
{\n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): terminal: true,\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): if (attr.type == 'text/ng-template') {\n
Login.c(90): var templateUrl = attr.id,\n
Login.c(90): // IE is not consistent, in scripts we have to read
.text but in other nodes w
Login.c(90): e have to read .textContent\n
Login.c(90): text = element[0].text;\n
Login.c(90): \n
Login.c(90): $templateCache.put(templateUrl, text);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var ngOptionsMinErr = minErr('ngOptions');\n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name select\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML `SELECT` element with angular data-binding.\n
Login.c(90): *\n
Login.c(90): * # `ngOptions`\n
Login.c(90): *\n
Login.c(90): * The `ngOptions` attribute can be used to dynamically generate a
list of `<option>`\n
Login.c(90): * elements for the `<select>` element using the array or object
obtained by evaluating th
Login.c(90): e\n
Login.c(90): * `ngOptions` comprehension_expression.\n
Login.c(90): *\n
Login.c(90): * When an item in the `<select>` menu is selected, the array
element or object property\n
Login.c(90): * represented by the selected option will be bound to the model
identified by the `ngMode
Login.c(90): l`\n
Login.c(90): * directive.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** `ngModel` compares by reference, not value. This is
important when binding to
Login.c(90): an\n
Login.c(90): * array of objects. See an example [in this jsfiddle]
(http://jsfiddle.net/qWzTb/).\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * Optionally, a single hard-coded `<option>` element, with the
value set to an empty stri
Login.c(90): ng, can\n
Login.c(90): * be nested into the `<select>` element. This element will then
represent the `null` or "
Login.c(90): not selected"\n
Login.c(90): * option. See example below for demonstration.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** `ngOptions` provides an iterator facility for the
`<option>` element which sh
Login.c(90): ould be used instead\n
Login.c(90): * of {@link ng.directive:ngRepeat ngRepeat} when you want the\n
Login.c(90): * `select` model to be bound to a non-string value. This is
because an option element can
Login.c(90): only\n
Login.c(90): * be bound to string values at present.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to data-
bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which the
control is published.\n
Login.c(90): * @param {string=} required The control is considered valid only
if value is entered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation constra
Login.c(90): int to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` inste
Login.c(90): ad of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {comprehension_expression=} ngOptions in one of the
following forms:\n
Login.c(90): *\n
Login.c(90): * * for array data sources:\n
Login.c(90): * * `label` **`for`** `value` **`in`** `array`\n
Login.c(90): * * `select` **`as`** `label` **`for`** `value` **`in`**
`array`\n
Login.c(90): * * `label` **`group by`** `group` **`for`** `value`
**`in`** `array`\n
Login.c(90): * * `select` **`as`** `label` **`group by`** `group`
**`for`** `value` **`in`** `arra
Login.c(90): y` **`track by`** `trackexpr`\n
Login.c(90): * * for object data sources:\n
Login.c(90): * * `label` **`for (`**`key` **`,`** `value`**`) in`**
`object`\n
Login.c(90): * * `select` **`as`** `label` **`for (`**`key` **`,`**
`value`**`) in`** `object`\n
Login.c(90): * * `label` **`group by`** `group` **`for (`**`key`**`,`**
`value`**`) in`** `object`
Login.c(90): \n
Login.c(90): * * `select` **`as`** `label` **`group by`** `group`\n
Login.c(90): * **`for` `(`**`key`**`,`** `value`**`) in`** `object`\n
Login.c(90): *\n
Login.c(90): * Where:\n
Login.c(90): *\n
Login.c(90): * * `array` / `object`: an expression which evaluates to an
array / object to iterate o
Login.c(90): ver.\n
Login.c(90): * * `value`: local variable which will refer to each item in
the `array` or each proper
Login.c(90): ty value\n
Login.c(90): * of `object` during iteration.\n
Login.c(90): * * `key`: local variable which will refer to a property name
in `object` during iterat
Login.c(90): ion.\n
Login.c(90): * * `label`: The result of this expression will be the label
for `<option>` element. Th
Login.c(90): e\n
Login.c(90): * `expression` will most likely refer to the `value` variable
(e.g. `value.propertyNa
Login.c(90): me`).\n
Login.c(90): * * `select`: The result of this expression will be bound to
the model of the parent `<
Login.c(90): select>`\n
Login.c(90): * element. If not specified, `select` expression will
default to `value`.\n
Login.c(90): * * `group`: The result of this expression will be used to
group options using the `<op
Login.c(90): tgroup>`\n
Login.c(90): * DOM element.\n
Login.c(90): * * `trackexpr`: Used when working with an array of objects.
The result of this express
Login.c(90): ion will be\n
Login.c(90): * used to identify the objects in the array. The `trackexpr`
will most likely refer
Login.c(90): to the\n
Login.c(90): * `value` variable (e.g. `value.propertyName`).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="selectExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('selectExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.colors = [\n
Login.c(90): {name:'black', shade:'dark'},\n
Login.c(90): {name:'white', shade:'light'},\n
Login.c(90): {name:'red', shade:'dark'},\n
Login.c(90): {name:'blue', shade:'dark'},\n
Login.c(90): {name:'yellow', shade:'light'}\n
Login.c(90): ];\n
Login.c(90): $scope.myColor = $scope.colors[2]; // red\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <ul>\n
Login.c(90): <li ng-repeat="color in colors">\n
Login.c(90): Name: <input ng-model="color.name">\n
Login.c(90): [<a href ng-click="colors.splice($index,
1)">X</a>]\n
Login.c(90): </li>\n
Login.c(90): <li>\n
Login.c(90): [<a href ng-click="colors.push({})">add</a>]\n
Login.c(90): </li>\n
Login.c(90): </ul>\n
Login.c(90): <hr/>\n
Login.c(90): Color (null not allowed):\n
Login.c(90): <select ng-model="myColor" ng-options="color.name for
color in colors"></select>
Login.c(90): <br>\n
Login.c(90): \n
Login.c(90): Color (null allowed):\n
Login.c(90): <span class="nullable">\n
Login.c(90): <select ng-model="myColor" ng-options="color.name for
color in colors">\n
Login.c(90): <option value="">-- choose color --</option>\n
Login.c(90): </select>\n
Login.c(90): </span><br/>\n
Login.c(90): \n
Login.c(90): Color grouped by shade:\n
Login.c(90): <select ng-model="myColor" ng-options="color.name group
by color.shade for color
Login.c(90): in colors">\n
Login.c(90): </select><br/>\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): Select <a href ng-click="myColor = { name:'not in list',
shade: 'other' }">bogus
Login.c(90): </a>.<br>\n
Login.c(90): <hr/>\n
Login.c(90): Currently selected: {{ {selected_color:myColor} }}\n
Login.c(90): <div style="border:solid 1px black; height:20px"\n
Login.c(90): ng-style="{'background-color':myColor.name}">\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-options', function() {\n
Login.c(90):
expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('red'
Login.c(90): );\n
Login.c(90): element.all(by.model('myColor')).first().click();\n
Login.c(90): element.all(by.css('select[ng-model="myColor"]
option')).first().click();\n
Login.c(90):
expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('blac
Login.c(90): k');\n
Login.c(90): element(by.css('.nullable select[ng-
model="myColor"]')).click();\n
Login.c(90): element.all(by.css('.nullable select[ng-
model="myColor"] option')).first().clic
Login.c(90): k();\n
Login.c(90):
expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('null
Login.c(90): ');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var ngOptionsDirective = valueFn({ terminal: true });\n
Login.c(90): // jshint maxlen: false\n
Login.c(90): var selectDirective = ['$compile', '$parse', function($compile,
$parse) {\n
Login.c(90): //000011111111110000000000022222222220000
000000
Login.c(90): t=3548ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90):
00000000000333333333300000000000000444444444444444000000000555555555555555000000066
6666666
Login.c(90): 666666000000000000000777777777700000000000000000008888888888\n
Login.c(90): var NG_OPTIONS_REGEXP = /^\\s*([\\s\\S]+?)(?:\\s+as\\s+([\\s\\S]
+?))?(?:\\s+group\\s+by\\
Login.c(90): s+([\\s\\S]+?))?\\s+for\\s+(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\
$\\w][\\$\\w]*)\\s*,\\s*([
Login.c(90): \\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+([\\s\\S]+?)
(?:\\s+track\\s+by\\s+([\\s\\S]+?))?$/,\n
Login.c(90): nullModelCtrl = {$setViewValue: noop};\n
Login.c(90): // jshint maxlen: 100\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): require: ['select', '?ngModel'],\n
Login.c(90): controller: ['$element', '$scope', '$attrs',
function($element, $scope, $attrs) {\n
Login.c(90): var self = this,\n
Login.c(90): optionsMap = {},\n
Login.c(90): ngModelCtrl = nullModelCtrl,\n
Login.c(90): nullOption,\n
Login.c(90): unknownOption;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.databound = $attrs.ngModel;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.init = function(ngModelCtrl_, nullOption_,
unknownOption_) {\n
Login.c(90): ngModelCtrl = ngModelCtrl_;\n
Login.c(90): nullOption = nullOption_;\n
Login.c(90): unknownOption = unknownOption_;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.addOption = function(value) {\n
Login.c(90): assertNotHasOwnProperty(value, '"option value"');\n
Login.c(90): optionsMap[value] = true;\n
Login.c(90): \n
Login.c(90): if (ngModelCtrl.$viewValue == value) {\n
Login.c(90): $element.val(value);\n
Login.c(90): if (unknownOption.parent()) unknownOption.remove();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.removeOption = function(value) {\n
Login.c(90): if (this.hasOption(value)) {\n
Login.c(90): delete optionsMap[value];\n
Login.c(90): if (ngModelCtrl.$viewValue == value) {\n
Login.c(90): this.renderUnknownOption(value);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.renderUnknownOption = function(val) {\n
Login.c(90): var unknownVal = '? ' + hashKey(val) + ' ?';\n
Login.c(90): unknownOption.val(unknownVal);\n
Login.c(90): $element.prepend(unknownOption);\n
Login.c(90): $element.val(unknownVal);\n
Login.c(90): unknownOption.prop('selected', true); // needed for IE\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.hasOption = function(value) {\n
Login.c(90): return optionsMap.hasOwnProperty(value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.$on('$destroy', function() {\n
Login.c(90): // disable unknown option so that we don't do work when
the whole select is being
Login.c(90): destroyed\n
Login.c(90): self.renderUnknownOption = noop;\n
Login.c(90): });\n
Login.c(90): }],\n
Login.c(90): \n
Login.c(90): link: function(scope, element, attr, ctrls) {\n
Login.c(90): // if ngModel is not defined, we don't need to do anything\n
Login.c(90): if (!ctrls[1]) return;\n
Login.c(90): \n
Login.c(90): var selectCtrl = ctrls[0],\n
Login.c(90): ngModelCtrl = ctrls[1],\n
Login.c(90): multiple = attr.multiple,\n
Login.c(90): optionsExp = attr.ngOptions,\n
Login.c(90): nullOption = false, // if false, user will not be able
to select it (used by ngO
Login.c(90): ptions)\n
Login.c(90): emptyOption,\n
Login.c(90): // we can't just jqLite('<option>') since jqLite is not
smart enough\n
Login.c(90): // to create it in <select> and IE barfs otherwise.\n
Login.c(90): optionTemplate =
jqLite(document.createElement('option')),\n
Login.c(90): optGroupTemplate
=jqLite(document.createElement('optgroup')),\n
Login.c(90): unknownOption = optionTemplate.clone();\n
Login.c(90): \n
Login.c(90): // find "null" option\n
Login.c(90): for(var i = 0, children = element.children(), ii =
children.length; i < ii; i++) {\n
Login.c(90): if (children[i].value === '') {\n
Login.c(90): emptyOption = nullOption = children.eq(i);\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): selectCtrl.init(ngModelCtrl, nullOption, unknownOption);\n
Login.c(90): \n
Login.c(90): // required validator\n
Login.c(90): if (multiple) {\n
Login.c(90): ngModelCtrl.$isEmpty = function(value) {\n
Login.c(90): return !value || value.length === 0;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (optionsExp) setupAsOptions(scope, element,
ngModelCtrl);\n
Login.c(90): else if (multiple) setupAsMultiple(scope, element,
ngModelCtrl);\n
Login.c(90): else setupAsSingle(scope, element, ngModelCtrl,
selectCtrl);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): ////////////////////////////\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function setupAsSingle(scope, selectElement, ngModelCtrl,
selectCtrl) {\n
Login.c(90): ngModelCtrl.$render = function() {\n
Login.c(90): var viewValue = ngModelCtrl.$viewValue;\n
Login.c(90): \n
Login.c(90): if (selectCtrl.hasOption(viewValue)) {\n
Login.c(90): if (unknownOption.parent()) unknownOption.remove();\n
Login.c(90): selectElement.val(viewValue);\n
Login.c(90): if (viewValue === '') emptyOption.prop('selected',
true); // to make IE9 happy
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): if (isUndefined(viewValue) && emptyOption) {\n
Login.c(90): selectElement.val('');\n
Login.c(90): } else {\n
Login.c(90): selectCtrl.renderUnknownOption(viewValue);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): selectElement.on('change', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): if (unknownOption.parent()) unknownOption.remove();\n
Login.c(90): ngModelCtrl.$setViewValue(selectElement.val());\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function setupAsMultiple(scope, selectElement, ctrl) {\n
Login.c(90): var lastView;\n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): var items = new HashMap(ctrl.$viewValue);\n
Login.c(90): forEach(selectElement.find('option'), function(option)
{\n
Login.c(90): option.selected =
isDefined(items.get(option.value));\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // we have to do it on each watch since ngModel watches
reference, but\n
Login.c(90): // we need to work of an array, so we need to see if
anything was inserted/removed
Login.c(90): \n
Login.c(90): scope.$watch(function selectMultipleWatch() {\n
Login.c(90): if (!equals(lastView, ctrl.$viewValue)) {\n
Login.c(90): lastView = shallowCopy(ctrl.$viewValue);\n
Login.c(90): ctrl.$render();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): selectElement.on('change', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): var array = [];\n
Login.c(90): forEach(selectElement.find('option'), function(option)
{\n
Login.c(90): if (option.selected) {\n
Login.c(90): array.push(option.value);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): ctrl.$setViewValue(array);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function setupAsOptions(scope, selectElement, ctrl) {\n
Login.c(90): var match;\n
Login.c(90): \n
Login.c(90): if (!(match = optionsExp.match(NG_OPTIONS_REGEXP))) {\n
Login.c(90): throw ngOptionsMinErr('iexp',\n
Login.c(90): "Expected expression in form of " +\n
Login.c(90): "'_select_ (as _label_)? for (_key_,)?_value_ in
_collection_'" +\n
Login.c(90): " but got '{0}'. Element: {1}",\n
Login.c(90): optionsExp, startingTag(selectElement));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var displayFn = $parse(match[2] || match[1]),\n
Login.c(90): valueName = match[4] || match[6],\n
Login.c(90): keyName = match[5],\n
Login.c(90): groupByFn = $parse(match[3] || ''),\n
Login.c(90): valueFn = $parse(match[2] ? match[1] : valueName),\n
Login.c(90): valuesFn = $parse(match[7]),\n
Login.c(90): track = match[8],\n
Login.c(90): trackFn = track ? $parse(match[8]) : null,\n
Login.c(90): // This is an array of array of existing option groups
in DOM.\n
Login.c(90): // We try to reuse these if possible\n
Login.c(90): // - optionGroupsCache[0] is the options with no
option group\n
Login.c(90): // - optionGroupsCache[?][0] is the parent: either the
SELECT or OPTGROUP elem
Login.c(90): ent\n
Login.c(90): optionGroupsCache = [[{element: selectElement,
label:''}]];\n
Login.c(90): \n
Login.c(90): if (nullOption) {\n
Login.c(90): // compile the element since there might be bindings in
it\n
Login.c(90): $compile(nullOption)(scope);\n
Login.c(90): \n
Login.c(90): // remove the class, which is added automatically
because we recompile the eleme
Login.c(90): nt and it\n
Login.c(90): // becomes the compilation root\n
Login.c(90): nullOption.removeClass('ng-scope');\n
Login.c(90): \n
Login.c(90): // we need to remove it before calling
selectElement.empty() because otherwise I
Login.c(90): E will\n
Login.c(90): // remove the label from the element. wtf?\n
Login.c(90): nullOption.remove();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // clear contents, we'll add what's needed based on the
model\n
Login.c(90): selectElement.empty();\n
Login.c(90): \n
Login.c(90): selectElement.on('change', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): var optionGroup,\n
Login.c(90): collection = valuesFn(scope) || [],\n
Login.c(90): locals = {},\n
Login.c(90): key, value, optionElement, index, groupIndex,
length, groupLength, trackIn
Login.c(90): dex;\n
Login.c(90): \n
Login.c(90): if (multiple) {\n
Login.c(90): value = [];\n
Login.c(90): for (groupIndex = 0, groupLength =
optionGroupsCache.length;\n
Login.c(90): groupIndex < groupLength;\n
Login.c(90): groupIndex++) {\n
Login.c(90): // list of options for that group. (first item has
the parent)\n
Login.c(90): optionGroup = optionGroupsCache[groupIndex];\n
Login.c(90): \n
Login.c(90): for(index = 1, length = optionGroup.length; index
< length; index++) {\n
Login.c(90): if ((optionElement = optionGroup[index].element)
[0].selected) {\n
Login.c(90): key = optionElement.val();\n
Login.c(90): if (keyName) locals[keyName] = key;\n
Login.c(90): if (trackFn) {\n
Login.c(90): for (trackIndex = 0; trackIndex <
collection.length; trackIndex++) {
Login.c(90): \n
Login.c(90): locals[valueName] =
collection[trackIndex];\n
Login.c(90): if (trackFn(scope, locals) == key)
break;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): locals[valueName] = collection[key];\n
Login.c(90): }\n
Login.c(90): value.push(valueFn(scope, locals));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): key = selectElement.val();\n
Login.c(90): if (key == '?') {\n
Login.c(90): value = undefined;\n
Login.c(90): } else if (key === ''){\n
Login.c(90): value = null;\n
Login.c(90): } else {\n
Login.c(90): if (trackFn) {\n
Login.c(90): for (trackIndex = 0; trackIndex <
collection.length; trackIndex++) {\n
Login.c(90): locals[valueName] = collection[trackIndex];\n
Login.c(90): if (trackFn(scope, locals) == key) {\n
Login.c(90): value = valueFn(scope, locals);\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): locals[valueName] = collection[key];\n
Login.c(90): if (keyName) locals[keyName] = key;\n
Login.c(90): value = valueFn(scope, locals);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): ctrl.$setViewValue(value);\n
Login.c(90): render();\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$render = render;\n
Login.c(90): \n
Login.c(90): scope.$watchCollection(valuesFn, render);\n
Login.c(90): scope.$watchCollection(function () {\n
Login.c(90): var locals = {},\n
Login.c(90): values = valuesFn(scope);\n
Login.c(90): if (values) {\n
Login.c(90): var toDisplay = new Array(values.length);\n
Login.c(90): for (var i = 0, ii = values.length; i < ii; i++) {\n
Login.c(90): locals[valueName] = values[i];\n
Login.c(90): toDisplay[i] = displayFn(scope, locals);\n
Login.c(90): }\n
Login.c(90): return toDisplay;\n
Login.c(90): }\n
Login.c(90): }, render);\n
Login.c(90): \n
Login.c(90): if ( multiple ) {\n
Login.c(90): scope.$watchCollection(function() { return ctrl.
$modelValue; }, render);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getSelectedSet() {\n
Login.c(90): var selectedSet = false;\n
Login.c(90): if (multiple) {\n
Login.c(90): var modelValue = ctrl.$modelValue;\n
Login.c(90): if (trackFn && isArray(modelValue)) {\n
Login.c(90): selectedSet = new HashMap([]);\n
Login.c(90): var locals = {};\n
Login.c(90): for (var trackIndex = 0; trackIndex <
modelValue.length; trackIndex++) {\n
Login.c(90): locals[valueName] = modelValue[trackIndex];\n
Login.c(90): selectedSet.put(trackFn(scope, locals),
modelValue[trackIndex]);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): selectedSet = new HashMap(modelValue);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return selectedSet;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function render() {\n
Login.c(90): // Temporary location for the option groups before
we render them\n
Login.c(90): var optionGroups = {'':[]},\n
Login.c(90): optionGroupNames = [''],\n
Login.c(90): optionGroupName,\n
Login.c(90): optionGroup,\n
Login.c(90): option,\n
Login.c(90): existingParent, existingOptions, existingOption,\n
Login.c(90): modelValue = ctrl.$modelValue,\n
Login.c(90): values = valuesFn(scope) || [],\n
Login.c(90): keys = keyName ? sortedKeys(values) : values,\n
Login.c(90): key,\n
Login.c(90): groupLength, length,\n
Login.c(90): groupIndex, index,\n
Login.c(90): locals = {},\n
Login.c(90): selected,\n
Login.c(90): selectedSet = getSelectedSet(),\n
Login.c(90): lastElement,\n
Login.c(90): element,\n
Login.c(90): label;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // We now build up the list of options we need (we merge
later)\n
Login.c(90): for (index = 0; length = keys.length, index < length;
index++) {\n
Login.c(90): \n
Login.c(90): key = index;\n
Login.c(90): if (keyName) {\n
Login.c(90): key = keys[index];\n
Login.c(90): if ( key.charAt(0) === '$' ) continue;\n
Login.c(90): locals[keyName] = key;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): locals[valueName] = values[key];\n
Login.c(90): \n
Login.c(90): optionGroupName = groupByFn(scope, locals) || '';\n
Login.c(90): if (!(optionGroup = optionGroups[optionGroupName]))
{\n
Login.c(90): optionGroup = optionGroups[optionGroupName] = [];\n
Login.c(90): optionGroupNames.push(optionGroupName);\n
Login.c(90):
Login.c(90): t=3576ms: 8433-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): }\n
Login.c(90): if (multiple) {\n
Login.c(90): selected = isDefined(\n
Login.c(90): selectedSet.remove(trackFn ? trackFn(scope,
locals) : valueFn(scope, local
Login.c(90): s))\n
Login.c(90): );\n
Login.c(90): } else {\n
Login.c(90): if (trackFn) {\n
Login.c(90): var modelCast = {};\n
Login.c(90): modelCast[valueName] = modelValue;\n
Login.c(90): selected = trackFn(scope, modelCast) ===
trackFn(scope, locals);\n
Login.c(90): } else {\n
Login.c(90): selected = modelValue === valueFn(scope,
locals);\n
Login.c(90): }\n
Login.c(90): selectedSet = selectedSet || selected; // see if at
least one item is select
Login.c(90): ed\n
Login.c(90): }\n
Login.c(90): label = displayFn(scope, locals); // what will be seen
by the user\n
Login.c(90): \n
Login.c(90): // doing displayFn(scope, locals) || '' overwrites
zero values\n
Login.c(90): label = isDefined(label) ? label : '';\n
Login.c(90): optionGroup.push({\n
Login.c(90): // either the index into array or key from object\n
Login.c(90): id: trackFn ? trackFn(scope, locals) : (keyName ?
keys[index] : index),\n
Login.c(90): label: label,\n
Login.c(90): selected: selected // determine if
we should be selected\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): if (!multiple) {\n
Login.c(90): if (nullOption || modelValue === null) {\n
Login.c(90): // insert null option if we have a placeholder, or
the model is null\n
Login.c(90): optionGroups[''].unshift({id:'', label:'',
selected:!selectedSet});\n
Login.c(90): } else if (!selectedSet) {\n
Login.c(90): // option could not be found, we have to insert the
undefined item\n
Login.c(90): optionGroups[''].unshift({id:'?', label:'',
selected:true});\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Now we need to update the list of DOM nodes to match
the optionGroups we comp
Login.c(90): uted above\n
Login.c(90): for (groupIndex = 0, groupLength =
optionGroupNames.length;\n
Login.c(90): groupIndex < groupLength;\n
Login.c(90): groupIndex++) {\n
Login.c(90): // current option group name or '' if no group\n
Login.c(90): optionGroupName = optionGroupNames[groupIndex];\n
Login.c(90): \n
Login.c(90): // list of options for that group. (first item has the
parent)\n
Login.c(90): optionGroup = optionGroups[optionGroupName];\n
Login.c(90): \n
Login.c(90): if (optionGroupsCache.length <= groupIndex) {\n
Login.c(90): // we need to grow the optionGroups\n
Login.c(90): existingParent = {\n
Login.c(90): element: optGroupTemplate.clone().attr('label',
optionGroupName),\n
Login.c(90): label: optionGroup.label\n
Login.c(90): };\n
Login.c(90): existingOptions = [existingParent];\n
Login.c(90): optionGroupsCache.push(existingOptions);\n
Login.c(90): selectElement.append(existingParent.element);\n
Login.c(90): } else {\n
Login.c(90): existingOptions = optionGroupsCache[groupIndex];\n
Login.c(90): existingParent = existingOptions[0]; // either
SELECT (no group) or OPTGROU
Login.c(90): P element\n
Login.c(90): \n
Login.c(90): // update the OPTGROUP label if not the same.\n
Login.c(90): if (existingParent.label != optionGroupName) {\n
Login.c(90): existingParent.element.attr('label',
existingParent.label = optionGroupNam
Login.c(90): e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): lastElement = null; // start at the beginning\n
Login.c(90): for(index = 0, length = optionGroup.length; index <
length; index++) {\n
Login.c(90): option = optionGroup[index];\n
Login.c(90): if ((existingOption = existingOptions[index+1])) {\n
Login.c(90): // reuse elements\n
Login.c(90): lastElement = existingOption.element;\n
Login.c(90): if (existingOption.label !== option.label) {\n
Login.c(90): lastElement.text(existingOption.label =
option.label);\n
Login.c(90): }\n
Login.c(90): if (existingOption.id !== option.id) {\n
Login.c(90): lastElement.val(existingOption.id =
option.id);\n
Login.c(90): }\n
Login.c(90): // lastElement.prop('selected') provided by jQuery
has side-effects\n
Login.c(90): if (lastElement[0].selected !== option.selected)
{\n
Login.c(90): lastElement.prop('selected',
(existingOption.selected = option.selected)
Login.c(90): );\n
Login.c(90): if (msie) {\n
Login.c(90): // See #7692\n
Login.c(90): // The selected item wouldn't visually update
on IE without this.\n
Login.c(90): // Tested on Win7: IE9, IE10 and IE11. Future
IEs should be tested as
Login.c(90): well\n
Login.c(90): lastElement.prop('selected',
existingOption.selected);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): // grow elements\n
Login.c(90): \n
Login.c(90): // if it's a null option\n
Login.c(90): if (option.id === '' && nullOption) {\n
Login.c(90): // put back the pre-compiled element\n
Login.c(90): element = nullOption;\n
Login.c(90): } else {\n
Login.c(90): // jQuery(v1.4.2) Bug: We should be able to
chain the method calls, but\n
Login.c(90): // in this version of jQuery on some browser the
.text() returns a strin
Login.c(90): g\n
Login.c(90): // rather then the element.\n
Login.c(90): (element = optionTemplate.clone())\n
Login.c(90): .val(option.id)\n
Login.c(90): .prop('selected', option.selected)\n
Login.c(90): .attr('selected', option.selected)\n
Login.c(90): .text(option.label);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): existingOptions.push(existingOption = {\n
Login.c(90): element: element,\n
Login.c(90): label: option.label,\n
Login.c(90): id: option.id,\n
Login.c(90): selected: option.selected\n
Login.c(90): });\n
Login.c(90): if (lastElement) {\n
Login.c(90): lastElement.after(element);\n
Login.c(90): } else {\n
Login.c(90): existingParent.element.append(element);\n
Login.c(90): }\n
Login.c(90): lastElement = element;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // remove any excessive OPTIONs in a group\n
Login.c(90): index++; // increment since the existingOptions[0] is
parent element not OPTIO
Login.c(90): N\n
Login.c(90): while(existingOptions.length > index) {\n
Login.c(90): existingOptions.pop().element.remove();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // remove any excessive OPTGROUPs from select\n
Login.c(90): while(optionGroupsCache.length > groupIndex) {\n
Login.c(90): optionGroupsCache.pop()[0].element.remove();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var optionDirective = ['$interpolate', function($interpolate) {\n
Login.c(90): var nullSelectCtrl = {\n
Login.c(90): addOption: noop,\n
Login.c(90): removeOption: noop\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): priority: 100,\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): if (isUndefined(attr.value)) {\n
Login.c(90): var interpolateFn = $interpolate(element.text(), true);\n
Login.c(90): if (!interpolateFn) {\n
Login.c(90): attr.$set('value', element.text());\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return function (scope, element, attr) {\n
Login.c(90): var selectCtrlName = '$selectController',\n
Login.c(90): parent = element.parent(),\n
Login.c(90): selectCtrl = parent.data(selectCtrlName) ||\n
Login.c(90): parent.parent().data(selectCtrlName); // in case we
are in optgroup\n
Login.c(90): \n
Login.c(90): if (selectCtrl && selectCtrl.databound) {\n
Login.c(90): // For some reason Opera defaults to true and if not
overridden this messes up t
Login.c(90): he repeater.\n
Login.c(90): // We don't want the view to drive the initialization of
the model anyway.\n
Login.c(90): element.prop('selected', false);\n
Login.c(90): } else {\n
Login.c(90): selectCtrl = nullSelectCtrl;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (interpolateFn) {\n
Login.c(90): scope.$watch(interpolateFn, function
interpolateWatchAction(newVal, oldVal) {\n
Login.c(90): attr.$set('value', newVal);\n
Login.c(90): if (newVal !== oldVal)
selectCtrl.removeOption(oldVal);\n
Login.c(90): selectCtrl.addOption(newVal);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): selectCtrl.addOption(attr.value);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): element.on('$destroy', function() {\n
Login.c(90): selectCtrl.removeOption(attr.value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var styleDirective = valueFn({\n
Login.c(90): restrict: 'E',\n
Login.c(90): terminal: true\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (window.angular.bootstrap) {\n
Login.c(90): //AngularJS is already loaded, so we can return here...\n
Login.c(90): console.log('WARNING: Tried to load angular more than
once.');\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //try to bind to jquery now so that one can write
angular.element().read()\n
Login.c(90): //but we will rebind on bootstrap again.\n
Login.c(90): bindJQuery();\n
Login.c(90): \n
Login.c(90): publishExternalAPI(angular);\n
Login.c(90): \n
Login.c(90): jqLite(document).ready(function() {\n
Login.c(90): angularInit(document, bootstrap);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): })(window, document);\n
Login.c(90): \n
Login.c(90): !window.angular.$$csp() &&
window.angular.element(document).find('head').prepend('<style t
Login.c(90): ype="text/css">@charset "UTF-8";[ng\\\\:cloak],[ng-cloak],[data-
ng-cloak],[x-ng-cloak],.ng
Login.c(90): -cloak,.x-ng-cloak,.ng-hide{display:none !
important;}ng\\\\:form{display:block;}.ng-animat
Login.c(90): e-block-transitions{transition:0s all!important;-webkit-
transition:0s all!important;}.ng-h
Login.c(90): ide-add-active,.ng-hide-remove{display:block!
important;}</style>');
Login.c(90): t=3587ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"131976-1416253777000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:37 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 131976\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=3604ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): /**\n
Login.c(90): * State-based routing for AngularJS\n
Login.c(90): * @version v0.2.11\n
Login.c(90): * @link http://angular-ui.github.com/\n
Login.c(90): * @license MIT License, http://www.opensource.org/licenses/MIT\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /* commonjs package manager support (eg componentjs) */\n
Login.c(90): if (typeof module !== "undefined" && typeof exports !==
"undefined" && module.exports ===
Login.c(90): exports){\n
Login.c(90): module.exports = 'ui.router';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): (function (window, angular, undefined) {\n
Login.c(90): /*jshint globalstrict:true*/\n
Login.c(90): /*global angular:false*/\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): var isDefined = angular.isDefined,\n
Login.c(90): isFunction = angular.isFunction,\n
Login.c(90): isString = angular.isString,\n
Login.c(90): isObject = angular.isObject,\n
Login.c(90): isArray = angular.isArray,\n
Login.c(90): forEach = angular.forEach,\n
Login.c(90): extend = angular.extend,\n
Login.c(90): copy = angular.copy;\n
Login.c(90): \n
Login.c(90): function inherit(parent, extra) {\n
Login.c(90): return extend(new (extend(function() {}, { prototype: parent }))
(), extra);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function merge(dst) {\n
Login.c(90): forEach(arguments, function(obj) {\n
Login.c(90): if (obj !== dst) {\n
Login.c(90): forEach(obj, function(value, key) {\n
Login.c(90): if (!dst.hasOwnProperty(key)) dst[key] = value;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return dst;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Finds the common ancestor path between two states.\n
Login.c(90): *\n
Login.c(90): * @param {Object} first The first state.\n
Login.c(90): * @param {Object} second The second state.\n
Login.c(90): * @return {Array} Returns an array of state names in descending
order, not including the
Login.c(90): root.\n
Login.c(90): */\n
Login.c(90): function ancestors(first, second) {\n
Login.c(90): var path = [];\n
Login.c(90): \n
Login.c(90): for (var n in first.path) {\n
Login.c(90): if (first.path[n] !== second.path[n]) break;\n
Login.c(90): path.push(first.path[n]);\n
Login.c(90): }\n
Login.c(90): return path;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * IE8-safe wrapper for `Object.keys()`.\n
Login.c(90): *\n
Login.c(90): * @param {Object} object A JavaScript object.\n
Login.c(90): * @return {Array} Returns the keys of the object as an array.\n
Login.c(90): */\n
Login.c(90): function objectKeys(object) {\n
Login.c(90): if (Object.keys) {\n
Login.c(90): return Object.keys(object);\n
Login.c(90): }\n
Login.c(90): var result = [];\n
Login.c(90): \n
Login.c(90): angular.forEach(object, function(val, key) {\n
Login.c(90): result.push(key);\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * IE8-safe wrapper for `Array.prototype.indexOf()`.\n
Login.c(90): *\n
Login.c(90): * @param {Array} array A JavaScript array.\n
Login.c(90): * @param {*} value A value to search the array for.\n
Login.c(90): * @return {Number} Returns the array index value of `value`, or
`-1` if not present.\n
Login.c(90): */\n
Login.c(90): function arraySearch(array, value) {\n
Login.c(90): if (Array.prototype.indexOf) {\n
Login.c(90): return array.indexOf(value, Number(arguments[2]) || 0);\n
Login.c(90): }\n
Login.c(90): var len = array.length >>> 0, from = Number(arguments[2]) ||
0;\n
Login.c(90): from = (from < 0) ? Math.ceil(from) : Math.floor(from);\n
Login.c(90): \n
Login.c(90): if (from < 0) from += len;\n
Login.c(90): \n
Login.c(90): for (; from < len; from++) {\n
Login.c(90): if (from in array && array[from] === value) return from;\n
Login.c(90): }\n
Login.c(90): return -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Merges a set of parameters with all parameters inherited
between the common parents of
Login.c(90): the\n
Login.c(90): * current state and a given destination state.\n
Login.c(90): *\n
Login.c(90): * @param {Object} currentParams The value of the current state
parameters ($stateParams).
Login.c(90): \n
Login.c(90): * @param {Object} newParams The set of parameters which will be
composited with inherited
Login.c(90): params.\n
Login.c(90): * @param {Object} $current Internal definition of object
representing the current state.\n
Login.c(90): * @param {Object} $to Internal definition of object representing
state to transition to.\n
Login.c(90): */\n
Login.c(90): function inheritParams(currentParams, newParams, $current, $to)
{\n
Login.c(90): var parents = ancestors($current, $to), parentParams, inherited
= {}, inheritList = [];\n
Login.c(90): \n
Login.c(90): for (var i in parents) {\n
Login.c(90): if (!parents[i].params) continue;\n
Login.c(90): parentParams = objectKeys(parents[i].params);\n
Login.c(90): if (!parentParams.length) continue;\n
Login.c(90): \n
Login.c(90): for (var j in parentParams) {\n
Login.c(90): if (arraySearch(inheritList, parentParams[j]) >= 0)
continue;\n
Login.c(90): inheritList.push(parentParams[j]);\n
Login.c(90): inherited[parentParams[j]] =
currentParams[parentParams[j]];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return extend({}, inherited, newParams);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Performs a non-strict comparison of the subset of two objects,
defined by a list of key
Login.c(90): s.\n
Login.c(90): *\n
Login.c(90): * @param {Object} a The first object.\n
Login.c(90): * @param {Object} b The second object.\n
Login.c(90): * @param {Array} keys The list of keys within each object to
compare. If the list is empt
Login.c(90): y or not specified,\n
Login.c(90): * it defaults to the list of keys in `a`.\n
Login.c(90): * @return {Boolean} Returns `true` if the keys match, otherwise
`false`.\n
Login.c(90): */\n
Login.c(90): function equalForKeys(a, b, keys) {\n
Login.c(90): if (!keys) {\n
Login.c(90): keys = [];\n
Login.c(90): for (var n in a) keys.push(n); // Used instead of
Object.keys() for IE8 compatibility\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var i=0; i<keys.length; i++) {\n
Login.c(90): var k = keys[i];\n
Login.c(90): if (a[k] != b[k]) return false; // Not '===', values aren't
necessarily normalized\n
Login.c(90): }\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns the subset of an object, based on a list of keys.\n
Login.c(90): *\n
Login.c(90): * @param {Array} keys\n
Login.c(90): * @param {Object} values\n
Login.c(90): * @return {Boolean} Returns a subset of `values`.\n
Login.c(90): */\n
Login.c(90): function filterByKeys(keys, values) {\n
Login.c(90): var filtered = {};\n
Login.c(90): \n
Login.c(90): forEach(keys, function (name) {\n
Login.c(90): filtered[name] = values[name];\n
Login.c(90): });\n
Login.c(90): return filtered;\n
Login.c(90): }\n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router.util\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router.util sub-module\n
Login.c(90): *\n
Login.c(90): * This module is a dependency of other sub-modules. Do not
include this module as a depen
Login.c(90): dency\n
Login.c(90): * in your angular app (use {@link ui.router} module instead).\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): angular.module('ui.router.util', ['ng']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router.router\n
Login.c(90): * \n
Login.c(90): * @requires ui.router.util\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router.router sub-module\n
Login.c(90): *\n
Login.c(90): * This module is a dependency of other sub-modules. Do not
include this module as a depen
Login.c(90): dency\n
Login.c(90): * in your angular app (use {@link ui.router} module instead).\n
Login.c(90): */\n
Login.c(90): angular.module('ui.router.router', ['ui.router.util']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router.state\n
Login.c(90): * \n
Login.c(90): * @requires ui.router.router\n
Login.c(90): * @requires ui.router.util\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router.state sub-module\n
Login.c(90): *\n
Login.c(90): * This module is a dependency of the main ui.router module. Do
not include this module as
Login.c(90): a dependency\n
Login.c(90): * in your angular app (use {@link ui.router} module instead).\n
Login.c(90): * \n
Login.c(90): */\n
Login.c(90): angular.module('ui.router.state', ['ui.router.router',
'ui.router.util']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router\n
Login.c(90): * \n
Login.c(90): * ## The main module for ui.router \n
Login.c(90): * There are several sub-modules included with the ui.router
module, however only this mod
Login.c(90): ule is needed\n
Login.c(90): * as a dependency within your angular app. The other modules are
for organization purpose
Login.c(90): s. \n
Login.c(90): *\n
Login.c(90): * The modules are:\n
Login.c(90): * * ui.router - the main "umbrella" module\n
Login.c(90): * * ui.router.router - \n
Login.c(90): * \n
Login.c(90): * *You'll need to include **only** this module as the dependency
within your angular app.
Login.c(90): *\n
Login.c(90): * \n
Login.c(90): * <pre>\n
Login.c(90): * <!doctype html>\n
Login.c(90): * <html ng-app="myApp">\n
Login.c(90): * <head>\n
Login.c(90): * <script src="js/angular.js"></script>\n
Login.c(90): * <!-- Include the ui-router script -->\n
Login.c(90): * <script src="js/angular-ui-router.min.js"></script>\n
Login.c(90): * <script>\n
Login.c(90): * // ...and add 'ui.router' as a dependency\n
Login.c(90): * var myApp = angular.module('myApp', ['ui.router']);\n
Login.c(90): * </script>\n
Login.c(90): * </head>\n
Login.c(90): * <body>\n
Login.c(90): * </body>\n
Login.c(90): * </html>\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): angular.module('ui.router', ['ui.router.state']);\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.compat', ['ui.router']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.$resolve\n
Login.c(90): *\n
Login.c(90): * @requires $q\n
Login.c(90): * @requires $injector\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Manages resolution of (acyclic) graphs of promises.\n
Login.c(90): */\n
Login.c(90): $Resolve.$inject = ['$q', '$injector'];\n
Login.c(90): function $Resolve( $q, $injector) {\n
Login.c(90): \n
Login.c(90): var VISIT_IN_PROGRESS = 1,\n
Login.c(90): VISIT_DONE = 2,\n
Login.c(90): NOTHING = {},\n
Login.c(90): NO_DEPENDENCIES = [],\n
Login.c(90): NO_LOCALS = NOTHING,\n
Login.c(90): NO_PARENT = extend($q.when(NOTHING), { $$promises: NOTHING,
$$values: NOTHING });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$resolve#study\n
Login.c(90): * @methodOf ui.router.util.$resolve\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Studies a set of invocables that are likely to be used
multiple times.\n
Login.c(90): * <pre>\n
Login.c(90): * $resolve.study(invocables)(locals, parent, self)\n
Login.c(90): * </pre>\n
Login.c(90): * is equivalent to\n
Login.c(90): * <pre>\n
Login.c(90): * $resolve.resolve(invocables, locals, parent, self)\n
Login.c(90): * </pre>\n
Login.c(90): * but the former is more efficient (in fact `resolve` just
calls `study` \n
Login.c(90): * internally).\n
Login.c(90): *\n
Login.c(90): * @param {object} invocables Invocable objects\n
Login.c(90): * @return {function} a function to pass in locals, parent and
self\n
Login.c(90): */\n
Login.c(90): this.study = function (invocables) {\n
Login.c(90): if (!isObject(invocables)) throw new Error("'invocables' must
be an object");\n
Login.c(90): \n
Login.c(90): // Perform a topological sort of invocables to build an
ordered plan\n
Login.c(90): var plan = [], cycle = [], visited = {};\n
Login.c(90): function visit(value, key) {\n
Login.c(90): if (visited[key] === VISIT_DONE) return;\n
Login.c(90): \n
Login.c(90): cycle.push(key);\n
Login.c(90): if (visited[key] === VISIT_IN_PROGRESS) {\n
Login.c(90): cycle.splice(0, cycle.indexOf(key));\n
Login.c(90): throw new Error("Cyclic dependency: " + cycle.join(" ->
"));\n
Login.c(90): }\n
Login.c(90): visited[key] = VISIT_IN_PROGRESS;\n
Login.c(90): \n
Login.c(90): if (isString(value)) {\n
Login.c(90): plan.push(key, [ function() { return $injector.get(value);
}], NO_DEPENDENCIES);\n
Login.c(90): } else {\n
Login.c(90): var params = $injector.annotate(value);\n
Login.c(90): forEach(params, funct
Login.c(90): t=3617ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ion (param) {\n
Login.c(90): if (param !== key && invocables.hasOwnProperty(param))
visit(invocables[param],
Login.c(90): param);\n
Login.c(90): });\n
Login.c(90): plan.push(key, value, params);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): cycle.pop();\n
Login.c(90): visited[key] = VISIT_DONE;\n
Login.c(90): }\n
Login.c(90): forEach(invocables, visit);\n
Login.c(90): invocables = cycle = visited = null; // plan is all that's
required\n
Login.c(90): \n
Login.c(90): function isResolve(value) {\n
Login.c(90): return isObject(value) && value.then && value.$$promises;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return function (locals, parent, self) {\n
Login.c(90): if (isResolve(locals) && self === undefined) {\n
Login.c(90): self = parent; parent = locals; locals = null;\n
Login.c(90): }\n
Login.c(90): if (!locals) locals = NO_LOCALS;\n
Login.c(90): else if (!isObject(locals)) {\n
Login.c(90): throw new Error("'locals' must be an object");\n
Login.c(90): } \n
Login.c(90): if (!parent) parent = NO_PARENT;\n
Login.c(90): else if (!isResolve(parent)) {\n
Login.c(90): throw new Error("'parent' must be a promise returned by
$resolve.resolve()");\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // To complete the overall resolution, we have to wait for
the parent\n
Login.c(90): // promise and for the promise for each invokable in our
plan.\n
Login.c(90): var resolution = $q.defer(),\n
Login.c(90): result = resolution.promise,\n
Login.c(90): promises = result.$$promises = {},\n
Login.c(90): values = extend({}, locals),\n
Login.c(90): wait = 1 + plan.length/3,\n
Login.c(90): merged = false;\n
Login.c(90): \n
Login.c(90): function done() {\n
Login.c(90): // Merge parent values we haven't got yet and publish our
own $$values\n
Login.c(90): if (!--wait) {\n
Login.c(90): if (!merged) merge(values, parent.$$values); \n
Login.c(90): result.$$values = values;\n
Login.c(90): result.$$promises = true; // keep for isResolve()\n
Login.c(90): delete result.$$inheritedValues;\n
Login.c(90): resolution.resolve(values);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function fail(reason) {\n
Login.c(90): result.$$failure = reason;\n
Login.c(90): resolution.reject(reason);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Short-circuit if parent has already failed\n
Login.c(90): if (isDefined(parent.$$failure)) {\n
Login.c(90): fail(parent.$$failure);\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (parent.$$inheritedValues) {\n
Login.c(90): merge(values, parent.$$inheritedValues);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Merge parent values if the parent has already resolved,
or merge\n
Login.c(90): // parent promises and wait if the parent resolve is still
in progress.\n
Login.c(90): if (parent.$$values) {\n
Login.c(90): merged = merge(values, parent.$$values);\n
Login.c(90): result.$$inheritedValues = parent.$$values;\n
Login.c(90): done();\n
Login.c(90): } else {\n
Login.c(90): if (parent.$$inheritedValues) {\n
Login.c(90): result.$$inheritedValues = parent.$$inheritedValues;\n
Login.c(90): } \n
Login.c(90): extend(promises, parent.$$promises);\n
Login.c(90): parent.then(done, fail);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Process each invocable in the plan, but ignore any where
a local of the same name
Login.c(90): exists.\n
Login.c(90): for (var i=0, ii=plan.length; i<ii; i+=3) {\n
Login.c(90): if (locals.hasOwnProperty(plan[i])) done();\n
Login.c(90): else invoke(plan[i], plan[i+1], plan[i+2]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function invoke(key, invocable, params) {\n
Login.c(90): // Create a deferred for this invocation. Failures will
propagate to the resolutio
Login.c(90): n as well.\n
Login.c(90): var invocation = $q.defer(), waitParams = 0;\n
Login.c(90): function onfailure(reason) {\n
Login.c(90): invocation.reject(reason);\n
Login.c(90): fail(reason);\n
Login.c(90): }\n
Login.c(90): // Wait for any parameter that we have a promise for
(either from parent or from t
Login.c(90): his\n
Login.c(90): // resolve; in that case study() will have made sure it's
ordered before us in the
Login.c(90): plan).\n
Login.c(90): forEach(params, function (dep) {\n
Login.c(90): if (promises.hasOwnProperty(dep) && !
locals.hasOwnProperty(dep)) {\n
Login.c(90): waitParams++;\n
Login.c(90): promises[dep].then(function (result) {\n
Login.c(90): values[dep] = result;\n
Login.c(90): if (!(--waitParams)) proceed();\n
Login.c(90): }, onfailure);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (!waitParams) proceed();\n
Login.c(90): function proceed() {\n
Login.c(90): if (isDefined(result.$$failure)) return;\n
Login.c(90): try {\n
Login.c(90): invocation.resolve($injector.invoke(invocable, self,
values));\n
Login.c(90): invocation.promise.then(function (result) {\n
Login.c(90): values[key] = result;\n
Login.c(90): done();\n
Login.c(90): }, onfailure);\n
Login.c(90): } catch (e) {\n
Login.c(90): onfailure(e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // Publish promise synchronously; invocations further down
in the plan may depend
Login.c(90): on it.\n
Login.c(90): promises[key] = invocation.promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$resolve#resolve\n
Login.c(90): * @methodOf ui.router.util.$resolve\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Resolves a set of invocables. An invocable is a function to
be invoked via \n
Login.c(90): * `$injector.invoke()`, and can have an arbitrary number of
dependencies. \n
Login.c(90): * An invocable can either return a value directly,\n
Login.c(90): * or a `$q` promise. If a promise is returned it will be
resolved and the \n
Login.c(90): * resulting value will be used instead. Dependencies of
invocables are resolved \n
Login.c(90): * (in this order of precedence)\n
Login.c(90): *\n
Login.c(90): * - from the specified `locals`\n
Login.c(90): * - from another invocable that is part of this `$resolve`
call\n
Login.c(90): * - from an invocable that is inherited from a `parent` call to
`$resolve` \n
Login.c(90): * (or recursively\n
Login.c(90): * - from any ancestor `$resolve` of that parent).\n
Login.c(90): *\n
Login.c(90): * The return value of `$resolve` is a promise for an object
that contains \n
Login.c(90): * (in this order of precedence)\n
Login.c(90): *\n
Login.c(90): * - any `locals` (if specified)\n
Login.c(90): * - the resolved return values of all injectables\n
Login.c(90): * - any values inherited from a `parent` call to `$resolve` (if
specified)\n
Login.c(90): *\n
Login.c(90): * The promise will resolve after the `parent` promise (if any)
and all promises \n
Login.c(90): * returned by injectables have been resolved. If any
invocable \n
Login.c(90): * (or `$injector.invoke`) throws an exception, or if a promise
returned by an \n
Login.c(90): * invocable is rejected, the `$resolve` promise is immediately
rejected with the \n
Login.c(90): * same error. A rejection of a `parent` promise (if specified)
will likewise be \n
Login.c(90): * propagated immediately. Once the `$resolve` promise has been
rejected, no \n
Login.c(90): * further invocables will be called.\n
Login.c(90): * \n
Login.c(90): * Cyclic dependencies between invocables are not permitted and
will caues `$resolve`\n
Login.c(90): * to throw an error. As a special case, an injectable can
depend on a parameter \n
Login.c(90): * with the same name as the injectable, which will be fulfilled
from the `parent` \n
Login.c(90): * injectable of the same name. This allows inherited values to
be decorated. \n
Login.c(90): * Note that in this case any other injectable in the same
`$resolve` with the same\n
Login.c(90): * dependency would see the decorated value, not the inherited
value.\n
Login.c(90): *\n
Login.c(90): * Note that missing dependencies -- unlike cyclic dependencies
-- will cause an \n
Login.c(90): * (asynchronous) rejection of the `$resolve` promise rather
than a (synchronous) \n
Login.c(90): * exception.\n
Login.c(90): *\n
Login.c(90): * Invocables are invoked eagerly as soon as all dependencies
are available. \n
Login.c(90): * This is true even for dependencies inherited from a `parent`
call to `$resolve`.\n
Login.c(90): *\n
Login.c(90): * As a special case, an invocable can be a string, in which
case it is taken to \n
Login.c(90): * be a service name to be passed to `$injector.get()`. This is
supported primarily \n
Login.c(90): * for backwards-compatibility with the `resolve` property of
`$routeProvider` \n
Login.c(90): * routes.\n
Login.c(90): *\n
Login.c(90): * @param {object} invocables functions to invoke or \n
Login.c(90): * `$injector` services to fetch.\n
Login.c(90): * @param {object} locals values to make available to the
injectables\n
Login.c(90): * @param {object} parent a promise returned by another call to
`$resolve`.\n
Login.c(90): * @param {object} self the `this` for the invoked methods\n
Login.c(90): * @return {object} Promise for an object that contains the
resolved return value\n
Login.c(90): * of all invocables, as well as any inherited and local
values.\n
Login.c(90): */\n
Login.c(90): this.resolve = function (invocables, locals, parent, self) {\n
Login.c(90): return this.study(invocables)(locals, parent, self);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.util').service('$resolve', $Resolve);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @requires $http\n
Login.c(90): * @requires $templateCache\n
Login.c(90): * @requires $injector\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Service. Manages loading of templates.\n
Login.c(90): */\n
Login.c(90): $TemplateFactory.$inject = ['$http', '$templateCache',
'$injector'];\n
Login.c(90): function $TemplateFactory( $http, $templateCache, $injector)
{\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromConfig\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a template from a configuration object. \n
Login.c(90): *\n
Login.c(90): * @param {object} config Configuration object for which to load
a template. \n
Login.c(90): * The following properties are search in the specified order,
and the first one \n
Login.c(90): * that is defined is used to create the template:\n
Login.c(90): *\n
Login.c(90): * @param {string|object} config.template html string template
or function to \n
Login.c(90): * load via {@link ui.router.util.$templateFactory#fromString
fromString}.\n
Login.c(90): * @param {string|object} config.templateUrl url to load or a
function returning \n
Login.c(90): * the url to load via {@link ui.router.util.
$templateFactory#fromUrl fromUrl}.\n
Login.c(90): * @param {Function} config.templateProvider function to invoke
via \n
Login.c(90): * {@link ui.router.util.$templateFactory#fromProvider
fromProvider}.\n
Login.c(90): * @param {object} params Parameters to pass to the template
function.\n
Login.c(90): * @param {object} locals Locals to pass to `invoke` if the
template is loaded \n
Login.c(90): * via a `templateProvider`. Defaults to `{ params: params }`.\n
Login.c(90): *\n
Login.c(90): * @return {string|object} The template html as a string, or a
promise for \n
Login.c(90): * that string,or `null` if no template is configured.\n
Login.c(90): */\n
Login.c(90): this.fromConfig = function (config, params, locals) {\n
Login.c(90): return (\n
Login.c(90): isDefined(config.template) ?
this.fromString(config.template, params) :\n
Login.c(90): isDefined(config.templateUrl) ?
this.fromUrl(config.templateUrl, params) :\n
Login.c(90): isDefined(config.templateProvider) ?
this.fromProvider(config.templateProvider, para
Login.c(90): ms, locals) :\n
Login.c(90): null\n
Login.c(90): );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromString\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a template from a string or a function returning a
string.\n
Login.c(90): *\n
Login.c(90): * @param {string|object} template html template as a string or
function that \n
Login.c(90): * returns an html template as a string.\n
Login.c(90): * @param {object} params Parameters to pass to the template
function.\n
Login.c(90): *\n
Login.c(90): * @return {string|object} The template html as a string, or a
promise for that \n
Login.c(90): * string.\n
Login.c(90): */\n
Login.c(90): this.fromString = function (template, params) {\n
Login.c(90): return isFunction(template) ? template(params) : template;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromUrl\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): * \n
Login.c(90): * @description\n
Login.c(90): * Loads a template from the a URL via `$http` and
`$templateCache`.\n
Login.c(90): *\n
Login.c(90): * @param {string|Function} url url of the template to load, or
a function \n
Login.c(90): * that returns a url.\n
Login.c(90): * @param {Object} params Parameters to pass to the url
function.\n
Login.c(90): * @return {string|Promise.<string>} The template html as a
string, or a promise \n
Login.c(90): * for that string.\n
Login.c(90): */\n
Login.c(90): this.fromUrl = function (url, params) {\n
Login.c(90): if (isFunction(url)) url = url(params);\n
Login.c(90): if (url == null) return null;\n
Login.c(90): else return $http\n
Login.c(90): .get(url, { cache: $templateCache })\n
Login.c(90): .then(function(response) { return response.data; });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromProvider\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a template by invoking an injectable provider
function.\n
Login.c(90): *\n
Login.c(90): * @param {Function} provider Function to invoke via
`$injector.invoke`\n
Login.c(90): * @param {Object} params Parameters for the template.\n
Login.c(90): * @param {Object} locals Locals to pass to `invoke`. Defaults
to \n
Login.c(90): * `{ params: params }`.\n
Login.c(90): * @return {string|Promise.<string>} The template html as a
string, or a promise \n
Login.c(90): * for that string.\n
Login.c(90): */\n
Login.c(90): this.fromProvider = function (provider, params, locals) {\n
Login.c(90): return $injector.invoke(provider, null, locals || { params:
params });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.util').service('$templateFactory',
$TemplateFactory);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Matches URLs against patterns and extracts named parameters
from the path or the search
Login.c(90): \n
Login.c(90): * part of the URL. A URL pattern consists of a path pattern,
optionally followed by '?' a
Login.c(90): nd a list\n
Login.c(90): * of search parameters. Multiple search parameter names are
separated by '&'. Search para
Login.c(90): meters\n
Login.c(90): * do not influence whether or n
Login.c(90): t=3645ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ot a URL is matched, but their values are passed through into\n
Login.c(90): * the matched parameters returned by {@link
ui.router.util.type:UrlMatcher#methods_exec e
Login.c(90): xec}.\n
Login.c(90): * \n
Login.c(90): * Path parameter placeholders can be specified using simple
colon/catch-all syntax or cur
Login.c(90): ly brace\n
Login.c(90): * syntax, which optionally allows a regular expression for the
parameter to be specified:
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * * `':'` name - colon placeholder\n
Login.c(90): * * `'*'` name - catch-all placeholder\n
Login.c(90): * * `'{' name '}'` - curly placeholder\n
Login.c(90): * * `'{' name ':' regexp '}'` - curly placeholder with regexp.
Should the regexp itself c
Login.c(90): ontain\n
Login.c(90): * curly braces, they must be in matched pairs or escaped with a
backslash.\n
Login.c(90): *\n
Login.c(90): * Parameter names may contain only word characters (latin
letters, digits, and underscore
Login.c(90): ) and\n
Login.c(90): * must be unique within the pattern (across both path and search
parameters). For colon \n
Login.c(90): * placeholders or curly placeholders without an explicit regexp,
a path parameter matches
Login.c(90): any\n
Login.c(90): * number of characters other than '/'. For catch-all placeholders
the path parameter matc
Login.c(90): hes\n
Login.c(90): * any number of characters.\n
Login.c(90): * \n
Login.c(90): * Examples:\n
Login.c(90): * \n
Login.c(90): * * `'/hello/'` - Matches only if the path is exactly '/hello/'.
There is no special trea
Login.c(90): tment for\n
Login.c(90): * trailing slashes, and patterns have to match the entire path,
not just a prefix.\n
Login.c(90): * * `'/user/:id'` - Matches '/user/bob' or '/user/1234!!!' or
even '/user/' but not '/use
Login.c(90): r' or\n
Login.c(90): * '/user/bob/details'. The second path segment will be captured
as the parameter 'id'.\n
Login.c(90): * * `'/user/{id}'` - Same as the previous example, but using
curly brace syntax.\n
Login.c(90): * * `'/user/{id:[^/]*}'` - Same as the previous example.\n
Login.c(90): * * `'/user/{id:[0-9a-fA-F]{1,8}}'` - Similar to the previous
example, but only matches i
Login.c(90): f the id\n
Login.c(90): * parameter consists of 1 to 8 hex digits.\n
Login.c(90): * * `'/files/{path:.*}'` - Matches any URL starting with
'/files/' and captures the rest
Login.c(90): of the\n
Login.c(90): * path into the parameter 'path'.\n
Login.c(90): * * `'/files/*path'` - ditto.\n
Login.c(90): *\n
Login.c(90): * @param {string} pattern The pattern to compile into a
matcher.\n
Login.c(90): * @param {Object} config A configuration object hash:\n
Login.c(90): *\n
Login.c(90): * * `caseInsensitive` - `true` if URL matching should be case
insensitive, otherwise `fal
Login.c(90): se`, the default value (for backward compatibility) is `false`.\n
Login.c(90): * * `strict` - `false` if matching against a URL with a trailing
slash should be treated
Login.c(90): as equivalent to a URL without a trailing slash, the default value
is `true`.\n
Login.c(90): *\n
Login.c(90): * @property {string} prefix A static prefix of this pattern. The
matcher guarantees that
Login.c(90): any\n
Login.c(90): * URL matching this matcher (i.e. any string for which {@link
ui.router.util.type:UrlMa
Login.c(90): tcher#methods_exec exec()} returns\n
Login.c(90): * non-null) will start with this prefix.\n
Login.c(90): *\n
Login.c(90): * @property {string} source The pattern that was passed into the
constructor\n
Login.c(90): *\n
Login.c(90): * @property {string} sourcePath The path portion of the source
property\n
Login.c(90): *\n
Login.c(90): * @property {string} sourceSearch The search portion of the
source property\n
Login.c(90): *\n
Login.c(90): * @property {string} regex The constructed regex that will be
used to match against the
Login.c(90): url when \n
Login.c(90): * it is time to determine which url will match.\n
Login.c(90): *\n
Login.c(90): * @returns {Object} New `UrlMatcher` object\n
Login.c(90): */\n
Login.c(90): function UrlMatcher(pattern, config) {\n
Login.c(90): config = angular.isObject(config) ? config : {};\n
Login.c(90): \n
Login.c(90): // Find all placeholders and create a compiled pattern, using
either classic or curly sy
Login.c(90): ntax:\n
Login.c(90): // '*' name\n
Login.c(90): // ':' name\n
Login.c(90): // '{' name '}'\n
Login.c(90): // '{' name ':' regexp '}'\n
Login.c(90): // The regular expression is somewhat complicated due to the
need to allow curly braces\n
Login.c(90): // inside the regular expression. The placeholder regexp breaks
down as follows:\n
Login.c(90): // ([:*])(\\w+) classic placeholder ($1 / $2)\n
Login.c(90): // \\{(\\w+)(?:\\:( ... ))?\\} curly brace placeholder ($3)
with optional regexp ..
Login.c(90): . ($4)\n
Login.c(90): // (?: ... | ... | ... )+ the regexp consists of any
number of atoms, an atom bein
Login.c(90): g either\n
Login.c(90): // [^{}\\\\]+ - anything other than curly
braces or backslash\n
Login.c(90): // \\\\. - a backslash escape\n
Login.c(90): // \\{(?:[^{}\\\\]+|\\\\.)*\\} - a matched set of curly
braces containing other a
Login.c(90): toms\n
Login.c(90): var placeholder = /([:*])(\\w+)|\\{(\\w+)(?:\\:((?:[^{}\\\\]
+|\\\\.|\\{(?:[^{}\\\\]+|\\\\
Login.c(90): .)*\\})+))?\\}/g,\n
Login.c(90): compiled = '^', last = 0, m,\n
Login.c(90): segments = this.segments = [],\n
Login.c(90): params = this.params = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * [Internal] Gets the decoded representation of a value if the
value is defined, otherw
Login.c(90): ise, returns the\n
Login.c(90): * default value, which may be the result of an injectable
function.\n
Login.c(90): */\n
Login.c(90): function $value(value) {\n
Login.c(90): /*jshint validthis: true */\n
Login.c(90): return isDefined(value) ? this.type.decode(value) :
$UrlMatcherFactory.$$getDefaultVal
Login.c(90): ue(this);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addParameter(id, type, config) {\n
Login.c(90): if (!/^\\w+(-+\\w+)*$/.test(id)) throw new Error("Invalid
parameter name '" + id + "'
Login.c(90): in pattern '" + pattern + "'");\n
Login.c(90): if (params[id]) throw new Error("Duplicate parameter name '" +
id + "' in pattern '" +
Login.c(90): pattern + "'");\n
Login.c(90): params[id] = extend({ type: type || new Type(), $value: $value
}, config);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function quoteRegExp(string, pattern, isOptional) {\n
Login.c(90): var result = string.replace(/[\\\\\\[\\]\\^$*+?.()|{}]/g,
"\\\\$&");\n
Login.c(90): if (!pattern) return result;\n
Login.c(90): var flag = isOptional ? '?' : '';\n
Login.c(90): return result + flag + '(' + pattern + ')' + flag;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function paramConfig(param) {\n
Login.c(90): if (!config.params || !config.params[param]) return {};\n
Login.c(90): var cfg = config.params[param];\n
Login.c(90): return isObject(cfg) ? cfg : { value: cfg };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.source = pattern;\n
Login.c(90): \n
Login.c(90): // Split into static segments separated by path parameter
placeholders.\n
Login.c(90): // The number of segments is always 1 more than the number of
parameters.\n
Login.c(90): var id, regexp, segment, type, cfg;\n
Login.c(90): \n
Login.c(90): while ((m = placeholder.exec(pattern))) {\n
Login.c(90): id = m[2] || m[3]; // IE[78] returns '' for unmatched
groups instead of null\n
Login.c(90): regexp = m[4] || (m[1] == '*' ? '.*' : '[^/]*');\n
Login.c(90): segment = pattern.substring(last, m.index);\n
Login.c(90): type = this.$types[regexp] || new Type({ pattern: new
RegExp(regexp) });\n
Login.c(90): cfg = paramConfig(id);\n
Login.c(90): \n
Login.c(90): if (segment.indexOf('?') >= 0) break; // we're into the search
part\n
Login.c(90): \n
Login.c(90): compiled += quoteRegExp(segment, type.$subPattern(),
isDefined(cfg.value));\n
Login.c(90): addParameter(id, type, cfg);\n
Login.c(90): segments.push(segment);\n
Login.c(90): last = placeholder.lastIndex;\n
Login.c(90): }\n
Login.c(90): segment = pattern.substring(last);\n
Login.c(90): \n
Login.c(90): // Find any search parameter names and remove them from the last
segment\n
Login.c(90): var i = segment.indexOf('?');\n
Login.c(90): \n
Login.c(90): if (i >= 0) {\n
Login.c(90): var search = this.sourceSearch = segment.substring(i);\n
Login.c(90): segment = segment.substring(0, i);\n
Login.c(90): this.sourcePath = pattern.substring(0, last + i);\n
Login.c(90): \n
Login.c(90): // Allow parameters to be separated by '?' as well as '&' to
make concat() easier\n
Login.c(90): forEach(search.substring(1).split(/[&?]/), function(key) {\n
Login.c(90): addParameter(key, null, paramConfig(key));\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): this.sourcePath = pattern;\n
Login.c(90): this.sourceSearch = '';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): compiled += quoteRegExp(segment) + (config.strict === false ?
'\\/?' : '') + '$';\n
Login.c(90): segments.push(segment);\n
Login.c(90): \n
Login.c(90): this.regexp = new RegExp(compiled, config.caseInsensitive ?
'i' : undefined);\n
Login.c(90): this.prefix = segments[0];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#concat\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns a new matcher for a pattern constructed by appending
the path part and adding t
Login.c(90): he\n
Login.c(90): * search parameters of the specified pattern to this pattern. The
current pattern is not\n
Login.c(90): * modified. This can be understood as creating a pattern for URLs
that are relative to (o
Login.c(90): r\n
Login.c(90): * suffixes of) the current pattern.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * The following two matchers are equivalent:\n
Login.c(90): * <pre>\n
Login.c(90): * new UrlMatcher('/user/{id}?q').concat('/details?date');\n
Login.c(90): * new UrlMatcher('/user/{id}/details?q&date');\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} pattern The pattern to append.\n
Login.c(90): * @param {Object} config An object hash of the configuration for
the matcher.\n
Login.c(90): * @returns {UrlMatcher} A matcher for the concatenated
pattern.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.concat = function (pattern, config) {\n
Login.c(90): // Because order of search parameters is irrelevant, we can add
our own search\n
Login.c(90): // parameters to the end of the new pattern. Parse the new
pattern by itself\n
Login.c(90): // and then join the bits together, but it's much easier to do
this on a string level.\n
Login.c(90): return new UrlMatcher(this.sourcePath + pattern +
this.sourceSearch, config);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): UrlMatcher.prototype.toString = function () {\n
Login.c(90): return this.source;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#exec\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Tests the specified path against this matcher, and returns an
object containing the cap
Login.c(90): tured\n
Login.c(90): * parameter values, or null if the path does not match. The
returned object contains the
Login.c(90): values\n
Login.c(90): * of any search parameters that are mentioned in the pattern, but
their value may be null
Login.c(90): if\n
Login.c(90): * they are not present in `searchParams`. This means that search
parameters are always tr
Login.c(90): eated\n
Login.c(90): * as optional.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * new UrlMatcher('/user/{id}?q&r').exec('/user/bob', {\n
Login.c(90): * x: '1', q: 'hello'\n
Login.c(90): * });\n
Login.c(90): * // returns { id: 'bob', q: 'hello', r: null }\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} path The URL path to match, e.g.
`$location.path()`.\n
Login.c(90): * @param {Object} searchParams URL search parameters, e.g.
`$location.search()`.\n
Login.c(90): * @returns {Object} The captured parameter values.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.exec = function (path, searchParams) {\n
Login.c(90): var m = this.regexp.exec(path);\n
Login.c(90): if (!m) return null;\n
Login.c(90): searchParams = searchParams || {};\n
Login.c(90): \n
Login.c(90): var params = this.parameters(), nTotal = params.length,\n
Login.c(90): nPath = this.segments.length - 1,\n
Login.c(90): values = {}, i, cfg, param;\n
Login.c(90): \n
Login.c(90): if (nPath !== m.length - 1) throw new Error("Unbalanced capture
group in route '" + this
Login.c(90): .source + "'");\n
Login.c(90): \n
Login.c(90): for (i = 0; i < nPath; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): cfg = this.params[param];\n
Login.c(90): values[param] = cfg.$value(m[i + 1]);\n
Login.c(90): }\n
Login.c(90): for (/**/; i < nTotal; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): cfg = this.params[param];\n
Login.c(90): values[param] = cfg.$value(searchParams[param]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return values;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#parameters\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns the names of all path and search parameters of this
pattern in an unspecified o
Login.c(90): rder.\n
Login.c(90): * \n
Login.c(90): * @returns {Array.<string>} An array of parameter names. Must be
treated as read-only. I
Login.c(90): f the\n
Login.c(90): * pattern has no parameters, an empty array is returned.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.parameters = function (param) {\n
Login.c(90): if (!isDefined(param)) return objectKeys(this.params);\n
Login.c(90): return this.params[param] || null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#validate\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Checks an object hash of parameters to validate their
correctness according to the para
Login.c(90): meter\n
Login.c(90): * types of this `UrlMatcher`.\n
Login.c(90): *\n
Login.c(90): * @param {Object} params The object hash of parameters to
validate.\n
Login.c(90): * @returns {boolean} Returns `true` if `params` validates,
otherwise `false`.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.validates = function (params) {\n
Login.c(90): var result = true, isOptional, cfg, self = this;\n
Login.c(90): \n
Login.c(90): forEach(params, function(val, key) {\n
Login.c(90): if (!self.params[key]) return;\n
Login.c(90): cfg = self.params[key];\n
Login.c(90): isOptional = !val && isDefined(cfg.value);\n
Login.c(90): result = result && (isOptional || cfg.type.is(val));\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#format\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a URL that matches this pattern by substituting the
specified values\n
Login.c(90): * for the path and search parameters. Null values for path
parameters are\n
Login.c(90): * treated as empty strings.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * new UrlMatcher('/user/{id}?q').format({ id:'bob', q:'yes' });\n
Login.c(90): * // returns '/user/bob?q=yes'\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {Object} values the values to substitute for the
parameters in this pattern.\n
Login.c(90): * @returns {string} the formatted URL (path and optionally
search part).\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.format = function (values) {\n
Login.c(90): var segments = this.segments, params = this.parameters();\n
Login.c(90): \n
Login.c(90): if (!values) return segments.join('').replace('//', '/');\n
Login.c(90): \n
Login.c(90): var nPath = segments.length - 1, nTotal = params.length,\n
Login.c(90): result = segments[0], i, search, value, param, cfg, array;\n
Login.c(90): \n
Login.c(90): if (!this.validates(values)) return null;\n
Login.c(90): \n
Login.c(90): for (i = 0; i < nPath; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): value = values[param];\n
Login.c(90): cfg = this.params[param];\n
Login.c(90): \n
Login.c(90): if (!isDefined(value) && (segments[i] === '/' |
Login.c(90): t=3659ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): | segments[i + 1] === '/')) continue;\n
Login.c(90): if (value != null) result +=
encodeURIComponent(cfg.type.encode(value));\n
Login.c(90): result += segments[i + 1];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (/**/; i < nTotal; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): value = values[param];\n
Login.c(90): if (value == null) continue;\n
Login.c(90): array = isArray(value);\n
Login.c(90): \n
Login.c(90): if (array) {\n
Login.c(90): value = value.map(encodeURIComponent).join('&' + param +
'=');\n
Login.c(90): }\n
Login.c(90): result += (search ? '&' : '?') + param + '=' + (array ?
value : encodeURIComponent(val
Login.c(90): ue));\n
Login.c(90): search = true;\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): UrlMatcher.prototype.$types = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Implements an interface to define custom parameter types that
can be decoded from and e
Login.c(90): ncoded to\n
Login.c(90): * string parameters matched in a URL. Used by {@link
ui.router.util.type:UrlMatcher `UrlM
Login.c(90): atcher`}\n
Login.c(90): * objects when matching or formatting URLs, or comparing or
validating parameter values.\n
Login.c(90): *\n
Login.c(90): * See {@link ui.router.util.$urlMatcherFactory#methods_type
`$urlMatcherFactory#type()`}
Login.c(90): for more\n
Login.c(90): * information on registering custom types.\n
Login.c(90): *\n
Login.c(90): * @param {Object} config A configuration object hash that
includes any method in `Type`'
Login.c(90): s public\n
Login.c(90): * interface, and/or `pattern`, which should contain a
custom regular expression us
Login.c(90): ed to match\n
Login.c(90): * string parameters originating from a URL.\n
Login.c(90): *\n
Login.c(90): * @property {RegExp} pattern The regular expression pattern used
to match values of this
Login.c(90): type when\n
Login.c(90): * coming from a substring of a URL.\n
Login.c(90): *\n
Login.c(90): * @returns {Object} Returns a new `Type` object.\n
Login.c(90): */\n
Login.c(90): function Type(config) {\n
Login.c(90): extend(this, config);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#is\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Detects whether a value is of a particular type. Accepts a
native (decoded) value\n
Login.c(90): * and determines whether it matches the current `Type` object.\n
Login.c(90): *\n
Login.c(90): * @param {*} val The value to check.\n
Login.c(90): * @param {string} key Optional. If the type check is happening
in the context of a speci
Login.c(90): fic\n
Login.c(90): * {@link ui.router.util.type:UrlMatcher `UrlMatcher`}
object, this is the name of
Login.c(90): the\n
Login.c(90): * parameter in which `val` is stored. Can be used for
meta-programming of `Type` o
Login.c(90): bjects.\n
Login.c(90): * @returns {Boolean} Returns `true` if the value matches the
type, otherwise `false`.\n
Login.c(90): */\n
Login.c(90): Type.prototype.is = function(val, key) {\n
Login.c(90): return true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#encode\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Encodes a custom/native type value to a string that can be
embedded in a URL. Note that
Login.c(90): the\n
Login.c(90): * return value does *not* need to be URL-safe (i.e. passed
through `encodeURIComponent()`
Login.c(90): ), it\n
Login.c(90): * only needs to be a representation of `val` that has been
coerced to a string.\n
Login.c(90): *\n
Login.c(90): * @param {*} val The value to encode.\n
Login.c(90): * @param {string} key The name of the parameter in which `val`
is stored. Can be used fo
Login.c(90): r\n
Login.c(90): * meta-programming of `Type` objects.\n
Login.c(90): * @returns {string} Returns a string representation of `val`
that can be encoded in a UR
Login.c(90): L.\n
Login.c(90): */\n
Login.c(90): Type.prototype.encode = function(val, key) {\n
Login.c(90): return val;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#decode\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Converts a string URL parameter value to a custom/native
value.\n
Login.c(90): *\n
Login.c(90): * @param {string} val The URL parameter value to decode.\n
Login.c(90): * @param {string} key The name of the parameter in which `val`
is stored. Can be used fo
Login.c(90): r\n
Login.c(90): * meta-programming of `Type` objects.\n
Login.c(90): * @returns {*} Returns a custom representation of the URL
parameter value.\n
Login.c(90): */\n
Login.c(90): Type.prototype.decode = function(val, key) {\n
Login.c(90): return val;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#equals\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines whether two decoded values are equivalent.\n
Login.c(90): *\n
Login.c(90): * @param {*} a A value to compare against.\n
Login.c(90): * @param {*} b A value to compare against.\n
Login.c(90): * @returns {Boolean} Returns `true` if the values are
equivalent/equal, otherwise `false
Login.c(90): `.\n
Login.c(90): */\n
Login.c(90): Type.prototype.equals = function(a, b) {\n
Login.c(90): return a == b;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Type.prototype.$subPattern = function() {\n
Login.c(90): var sub = this.pattern.toString();\n
Login.c(90): return sub.substr(1, sub.length - 2);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Type.prototype.pattern = /.*/;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Factory for {@link ui.router.util.type:UrlMatcher `UrlMatcher`}
instances. The factory\n
Login.c(90): * is also available to providers under the name
`$urlMatcherFactoryProvider`.\n
Login.c(90): */\n
Login.c(90): function $UrlMatcherFactory() {\n
Login.c(90): \n
Login.c(90): var isCaseInsensitive = false, isStrictMode = true;\n
Login.c(90): \n
Login.c(90): var enqueue = true, typeQueue = [], injector, defaultTypes = {\n
Login.c(90): int: {\n
Login.c(90): decode: function(val) {\n
Login.c(90): return parseInt(val, 10);\n
Login.c(90): },\n
Login.c(90): is: function(val) {\n
Login.c(90): if (!isDefined(val)) return false;\n
Login.c(90): return this.decode(val.toString()) === val;\n
Login.c(90): },\n
Login.c(90): pattern: /\\d+/\n
Login.c(90): },\n
Login.c(90): bool: {\n
Login.c(90): encode: function(val) {\n
Login.c(90): return val ? 1 : 0;\n
Login.c(90): },\n
Login.c(90): decode: function(val) {\n
Login.c(90): return parseInt(val, 10) === 0 ? false : true;\n
Login.c(90): },\n
Login.c(90): is: function(val) {\n
Login.c(90): return val === true || val === false;\n
Login.c(90): },\n
Login.c(90): pattern: /0|1/\n
Login.c(90): },\n
Login.c(90): string: {\n
Login.c(90): pattern: /[^\\/]*/\n
Login.c(90): },\n
Login.c(90): date: {\n
Login.c(90): equals: function (a, b) {\n
Login.c(90): return a.toISOString() === b.toISOString();\n
Login.c(90): },\n
Login.c(90): decode: function (val) {\n
Login.c(90): return new Date(val);\n
Login.c(90): },\n
Login.c(90): encode: function (val) {\n
Login.c(90): return [\n
Login.c(90): val.getFullYear(),\n
Login.c(90): ('0' + (val.getMonth() + 1)).slice(-2),\n
Login.c(90): ('0' + val.getDate()).slice(-2)\n
Login.c(90): ].join("-");\n
Login.c(90): },\n
Login.c(90): pattern: /[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|
3[0-1])/\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function getDefaultConfig() {\n
Login.c(90): return {\n
Login.c(90): strict: isStrictMode,\n
Login.c(90): caseInsensitive: isCaseInsensitive\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function isInjectable(value) {\n
Login.c(90): return (isFunction(value) || (isArray(value) &&
isFunction(value[value.length - 1])));
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * [Internal] Get the default value of a parameter, which may be
an injectable function.
Login.c(90): \n
Login.c(90): */\n
Login.c(90): $UrlMatcherFactory.$$getDefaultValue = function(config) {\n
Login.c(90): if (!isInjectable(config.value)) return config.value;\n
Login.c(90): if (!injector) throw new Error("Injectable functions cannot be
called at configuration
Login.c(90): time");\n
Login.c(90): return injector.invoke(config.value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#caseInsensitive\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines whether URL matching should be case sensitive (the
default behavior), or not.
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * @param {boolean} value `false` to match URL in a case
sensitive manner; otherwise `tr
Login.c(90): ue`;\n
Login.c(90): */\n
Login.c(90): this.caseInsensitive = function(value) {\n
Login.c(90): isCaseInsensitive = value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#strictMode\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines whether URLs should match trailing slashes, or not
(the default behavior).\n
Login.c(90): *\n
Login.c(90): * @param {boolean} value `false` to match trailing slashes in
URLs, otherwise `true`.\n
Login.c(90): */\n
Login.c(90): this.strictMode = function(value) {\n
Login.c(90): isStrictMode = value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#compile\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a {@link ui.router.util.type:UrlMatcher `UrlMatcher`}
for the specified patte
Login.c(90): rn.\n
Login.c(90): * \n
Login.c(90): * @param {string} pattern The URL pattern.\n
Login.c(90): * @param {Object} config The config object hash.\n
Login.c(90): * @returns {UrlMatcher} The UrlMatcher.\n
Login.c(90): */\n
Login.c(90): this.compile = function (pattern, config) {\n
Login.c(90): return new UrlMatcher(pattern, extend(getDefaultConfig(),
config));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#isMatcher\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns true if the specified object is a `UrlMatcher`, or
false otherwise.\n
Login.c(90): *\n
Login.c(90): * @param {Object} object The object to perform the type check
against.\n
Login.c(90): * @returns {Boolean} Returns `true` if the object matches the
`UrlMatcher` interface,
Login.c(90): by\n
Login.c(90): * implementing all the same methods.\n
Login.c(90): */\n
Login.c(90): this.isMatcher = function (o) {\n
Login.c(90): if (!isObject(o)) return false;\n
Login.c(90): var result = true;\n
Login.c(90): \n
Login.c(90): forEach(UrlMatcher.prototype, function(val, name) {\n
Login.c(90): if (isFunction(val)) {\n
Login.c(90): result = result && (isDefined(o[name]) &&
isFunction(o[name]));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#type\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a custom {@link ui.router.util.type:Type `Type`}
object that can be used to
Login.c(90): \n
Login.c(90): * generate URLs with typed parameters.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The type name.\n
Login.c(90): * @param {Object|Function} def The type definition. See\n
Login.c(90): * {@link ui.router.util.type:Type `Type`} for
information on the values accepted
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @returns {Object} Returns `$urlMatcherFactoryProvider`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This is a simple example of a custom type that encodes and
decodes items from an\n
Login.c(90): * array, using the array index as the URL-encoded value:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * var list = ['John', 'Paul', 'George', 'Ringo'];\n
Login.c(90): *\n
Login.c(90): * $urlMatcherFactoryProvider.type('listItem', {\n
Login.c(90): * encode: function(item) {\n
Login.c(90): * // Represent the list item in the URL using its
corresponding index\n
Login.c(90): * return list.indexOf(item);\n
Login.c(90): * },\n
Login.c(90): * decode: function(item) {\n
Login.c(90): * // Look up the list item by index\n
Login.c(90): * return list[parseInt(item, 10)];\n
Login.c(90): * },\n
Login.c(90): * is: function(item) {\n
Login.c(90): * // Ensure the item is valid by checking to see that it
appears\n
Login.c(90): * // in the list\n
Login.c(90): * return list.indexOf(item) > -1;\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * $stateProvider.state('list', {\n
Login.c(90): * url: "/list/{item:listItem}",\n
Login.c(90): * controller: function($scope, $stateParams) {\n
Login.c(90): * console.log($stateParams.item);\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // ...\n
Login.c(90): *\n
Login.c(90): * // Changes URL to '/list/3', logs "Ringo" to the console\n
Login.c(90): * $state.go('list', { item: "Ringo" });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * This is a more complex example of a type that relies on
dependency injection to\n
Login.c(90): * interact with services, and uses the parameter name from the
URL to infer how to\n
Login.c(90): * handle encoding and decoding parameter values:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * // Defines a custom type that gets a value from a service,\n
Login.c(90): * // where each service gets different types of values from\n
Login.c(90): * // a backend API:\n
Login.c(90): * $urlMatcherFactoryProvider.type('dbObject', function(Users,
Posts) {\n
Login.c(90): *\n
Login.c(90): * // Matches up services to URL parameter names\n
Login.c(90): * var services = {\n
Login.c(90): * user: Users,\n
Login.c(90): * post: Posts\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * return {\n
Login.c(90): * encode: function(object) {\n
Login.c(90): * // Represent the object in the URL using its unique
ID\n
Login.c(90): * return object.id;\n
Login.c(90): * },\n
Login.c(90): * decode: function(value, key) {\n
Login.c(90): * // Look up the object by ID, using the parameter\n
Login.c(90): * // name (key) to call the correct service\n
Login.c(90): * return services[key].findById(value);\n
Login.c(90): * },\n
Login.c(90): * is: function(object, key) {\n
Login.c(90): * // Check that object is a valid dbObject\n
Login.c(90): * return angular.isObject(object) && object.id &&
services[key];\n
Login.c(90): * }\n
Login.c(90): * equals: function(a, b) {\n
Login.c(90): * // Check the equality of decoded objects by comparing\n
Login.c(90): * // their unique IDs\n
Login.c(90): * return a.id === b.id;\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // In a config() block, you can then attach URLs with\n
Login.c(90): * // type-annotated parameters:\n
Login.c(90): * $stateProvider.state('users', {\n
Login.c(90): * url: "/users",\n
Login.c(90): * // ...\n
Login.c(90): * }).state('users.item', {\n
Login.c(90): * url: "/{user:dbObject}",\n
Login.c(90): * controller: function($scope, $stateParams) {\n
Login.c(90): * // $stateParams.user will now be an object returned
from\n
Login.c(90): * // the Users service\n
Login.c(90): * },\n
Login.c(90): * // ...\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): this.type = function (name, def) {\n
Login.c(90): if (!isDefined(def)) return UrlMatcher.prototype.
$types[name];\n
Login.c(90): typeQueue.push({ name: name, def: def });\n
Login.c(90): if (!enqueue) flushTypeQueue();\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /* No need to document $get, since it returns this */\n
Login.c(90): this.$get = ['$injector', function ($injector) {\n
Login.c(90): injector = $injector;\n
Login.c(90): enqueue = false;\n
Login.c(90): UrlMatcher.prototype.$types = {};\n
Login.c(90): flushTypeQueue();\n
Login.c(90): \n
Login.c(90): forEach(defaultTypes, function(type, name) {\n
Login.c(90): if (!UrlMatcher.prot
Login.c(90): t=3676ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): otype.$types[name]) UrlMatcher.prototype.$types[name] = new
Type(type);\n
Login.c(90): });\n
Login.c(90): return this;\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): // To ensure proper order of operations in object configuration,
and to allow internal\n
Login.c(90): // types to be overridden, `flushTypeQueue()` waits until
`$urlMatcherFactory` is inject
Login.c(90): ed\n
Login.c(90): // before actually wiring up and assigning type definitions\n
Login.c(90): function flushTypeQueue() {\n
Login.c(90): forEach(typeQueue, function(type) {\n
Login.c(90): if (UrlMatcher.prototype.$types[type.name]) {\n
Login.c(90): throw new Error("A type named '" + type.name + "' has
already been defined.");\n
Login.c(90): }\n
Login.c(90): var def = new Type(isInjectable(type.def) ?
injector.invoke(type.def) : type.def);\n
Login.c(90): UrlMatcher.prototype.$types[type.name] = def;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Register as a provider so it's available to other providers\n
Login.c(90): angular.module('ui.router.util').provider('$urlMatcherFactory',
$UrlMatcherFactory);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.util.$urlMatcherFactoryProvider\n
Login.c(90): * @requires $locationProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `$urlRouterProvider` has the responsibility of watching
`$location`. \n
Login.c(90): * When `$location` changes it runs through a list of rules one by
one until a \n
Login.c(90): * match is found. `$urlRouterProvider` is used behind the scenes
anytime you specify \n
Login.c(90): * a url in a state configuration. All urls are compiled into a
UrlMatcher object.\n
Login.c(90): *\n
Login.c(90): * There are several methods on `$urlRouterProvider` that make it
useful to use directly\n
Login.c(90): * in your module config.\n
Login.c(90): */\n
Login.c(90): $UrlRouterProvider.$inject = ['$locationProvider',
'$urlMatcherFactoryProvider'];\n
Login.c(90): function $UrlRouterProvider( $locationProvider,
$urlMatcherFactory) {\n
Login.c(90): var rules = [], otherwise = null, interceptDeferred = false,
listener;\n
Login.c(90): \n
Login.c(90): // Returns a string that is a prefix of all strings matching the
RegExp\n
Login.c(90): function regExpPrefix(re) {\n
Login.c(90): var prefix = /^\\^((?:\\\\[^a-zA-Z0-9]|[^\\\\\\[\\]\\^$*+?.()|
{}]+)*)/.exec(re.source)
Login.c(90): ;\n
Login.c(90): return (prefix != null) ? prefix[1].replace(/\\\\(.)/g,
"$1") : '';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Interpolates matched values into a String.replace()-style
pattern\n
Login.c(90): function interpolate(pattern, match) {\n
Login.c(90): return pattern.replace(/\\$(\\$|\\d{1,2})/, function (m, what)
{\n
Login.c(90): return match[what === '$' ? 0 : Number(what)];\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#rule\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines rules that are used by `$urlRouterProvider` to find
matches for\n
Login.c(90): * specific URLs.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): * // Here's an example of how you might allow case
insensitive urls\n
Login.c(90): * $urlRouterProvider.rule(function ($injector, $location) {\n
Login.c(90): * var path = $location.path(),\n
Login.c(90): * normalized = path.toLowerCase();\n
Login.c(90): *\n
Login.c(90): * if (path !== normalized) {\n
Login.c(90): * return normalized;\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {object} rule Handler function that takes `$injector`
and `$location`\n
Login.c(90): * services as arguments. You can use them to return a valid
path as a string.\n
Login.c(90): *\n
Login.c(90): * @return {object} `$urlRouterProvider` - `$urlRouterProvider`
instance\n
Login.c(90): */\n
Login.c(90): this.rule = function (rule) {\n
Login.c(90): if (!isFunction(rule)) throw new Error("'rule' must be a
function");\n
Login.c(90): rules.push(rule);\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#otherwise\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines a path that is used when an invalid route is
requested.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): * // if the path doesn't match any of the urls you
configured\n
Login.c(90): * // otherwise will take care of routing the user to the\n
Login.c(90): * // specified url\n
Login.c(90): * $urlRouterProvider.otherwise('/index');\n
Login.c(90): *\n
Login.c(90): * // Example of using function rule as param\n
Login.c(90): * $urlRouterProvider.otherwise(function ($injector,
$location) {\n
Login.c(90): * return '/a/valid/url';\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} rule The url path you want to redirect
to or a function \n
Login.c(90): * rule that returns the url path. The function version is
passed two params: \n
Login.c(90): * `$injector` and `$location` services, and must return a url
string.\n
Login.c(90): *\n
Login.c(90): * @return {object} `$urlRouterProvider` - `$urlRouterProvider`
instance\n
Login.c(90): */\n
Login.c(90): this.otherwise = function (rule) {\n
Login.c(90): if (isString(rule)) {\n
Login.c(90): var redirect = rule;\n
Login.c(90): rule = function () { return redirect; };\n
Login.c(90): }\n
Login.c(90): else if (!isFunction(rule)) throw new Error("'rule' must be a
function");\n
Login.c(90): otherwise = rule;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function handleIfMatch($injector, handler, match) {\n
Login.c(90): if (!match) return false;\n
Login.c(90): var result = $injector.invoke(handler, handler, { $match:
match });\n
Login.c(90): return isDefined(result) ? result : true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#when\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a handler for a given url matching. if handle is a
string, it is\n
Login.c(90): * treated as a redirect, and is interpolated according to the
syntax of match\n
Login.c(90): * (i.e. like `String.replace()` for `RegExp`, or like a
`UrlMatcher` pattern otherwise)
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * If the handler is a function, it is injectable. It gets
invoked if `$location`\n
Login.c(90): * matches. You have the option of inject the match object as
`$match`.\n
Login.c(90): *\n
Login.c(90): * The handler can return\n
Login.c(90): *\n
Login.c(90): * - **falsy** to indicate that the rule didn't match after all,
then `$urlRouter`\n
Login.c(90): * will continue trying to find another one that matches.\n
Login.c(90): * - **string** which is treated as a redirect and passed to
`$location.url()`\n
Login.c(90): * - **void** or any **truthy** value tells `$urlRouter` that
the url was handled.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): * $urlRouterProvider.when($state.url, function ($match,
$stateParams) {\n
Login.c(90): * if ($state.$current.navigable !== state ||\n
Login.c(90): * !equalForKeys($match, $stateParams) {\n
Login.c(90): * $state.transitionTo(state, $match, false);\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} what The incoming path that you want
to redirect.\n
Login.c(90): * @param {string|object} handler The path you want to redirect
your user to.\n
Login.c(90): */\n
Login.c(90): this.when = function (what, handler) {\n
Login.c(90): var redirect, handlerIsString = isString(handler);\n
Login.c(90): if (isString(what)) what = $urlMatcherFactory.compile(what);\n
Login.c(90): \n
Login.c(90): if (!handlerIsString && !isFunction(handler) && !
isArray(handler))\n
Login.c(90): throw new Error("invalid 'handler' in when()");\n
Login.c(90): \n
Login.c(90): var strategies = {\n
Login.c(90): matcher: function (what, handler) {\n
Login.c(90): if (handlerIsString) {\n
Login.c(90): redirect = $urlMatcherFactory.compile(handler);\n
Login.c(90): handler = ['$match', function ($match) { return
redirect.format($match); }];\n
Login.c(90): }\n
Login.c(90): return extend(function ($injector, $location) {\n
Login.c(90): return handleIfMatch($injector, handler,
what.exec($location.path(), $location.s
Login.c(90): earch()));\n
Login.c(90): }, {\n
Login.c(90): prefix: isString(what.prefix) ? what.prefix : ''\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): regex: function (what, handler) {\n
Login.c(90): if (what.global || what.sticky) throw new Error("when()
RegExp must not be global
Login.c(90): or sticky");\n
Login.c(90): \n
Login.c(90): if (handlerIsString) {\n
Login.c(90): redirect = handler;\n
Login.c(90): handler = ['$match', function ($match) { return
interpolate(redirect, $match); }
Login.c(90): ];\n
Login.c(90): }\n
Login.c(90): return extend(function ($injector, $location) {\n
Login.c(90): return handleIfMatch($injector, handler,
what.exec($location.path()));\n
Login.c(90): }, {\n
Login.c(90): prefix: regExpPrefix(what)\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var check = { matcher: $urlMatcherFactory.isMatcher(what),
regex: what instanceof RegE
Login.c(90): xp };\n
Login.c(90): \n
Login.c(90): for (var n in check) {\n
Login.c(90): if (check[n]) return this.rule(strategies[n](what,
handler));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): throw new Error("invalid 'what' in when()");\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#deferIntercept\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Disables (or enables) deferring location change
interception.\n
Login.c(90): *\n
Login.c(90): * If you wish to customize the behavior of syncing the URL (for
example, if you wish to
Login.c(90): \n
Login.c(90): * defer a transition but maintain the current URL), call this
method at configuration t
Login.c(90): ime.\n
Login.c(90): * Then, at run time, call `$urlRouter.listen()` after you have
configured your own\n
Login.c(90): * `$locationChangeSuccess` event handler.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): *\n
Login.c(90): * // Prevent $urlRouter from automatically intercepting URL
changes;\n
Login.c(90): * // this allows you to configure custom behavior in
between\n
Login.c(90): * // location changes and route synchronization:\n
Login.c(90): * $urlRouterProvider.deferIntercept();\n
Login.c(90): *\n
Login.c(90): * }).run(function ($rootScope, $urlRouter, UserService) {\n
Login.c(90): *\n
Login.c(90): * $rootScope.$on('$locationChangeSuccess', function(e) {\n
Login.c(90): * // UserService is an example service for managing user
state\n
Login.c(90): * if (UserService.isLoggedIn()) return;\n
Login.c(90): *\n
Login.c(90): * // Prevent $urlRouter's default handler from firing\n
Login.c(90): * e.preventDefault();\n
Login.c(90): *\n
Login.c(90): * UserService.handleLogin().then(function() {\n
Login.c(90): * // Once the user has logged in, sync the current URL\n
Login.c(90): * // to the router:\n
Login.c(90): * $urlRouter.sync();\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // Configures $urlRouter's listener *after* your custom
listener\n
Login.c(90): * $urlRouter.listen();\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {boolean} defer Indicates whether to defer location
change interception. Passi
Login.c(90): ng\n
Login.c(90): no parameter is equivalent to `true`.\n
Login.c(90): */\n
Login.c(90): this.deferIntercept = function (defer) {\n
Login.c(90): if (defer === undefined) defer = true;\n
Login.c(90): interceptDeferred = defer;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @requires $location\n
Login.c(90): * @requires $rootScope\n
Login.c(90): * @requires $injector\n
Login.c(90): * @requires $browser\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): this.$get = $get;\n
Login.c(90): $get.$inject = ['$location', '$rootScope', '$injector',
'$browser'];\n
Login.c(90): function $get( $location, $rootScope, $injector,
$browser) {\n
Login.c(90): \n
Login.c(90): var baseHref = $browser.baseHref(), location =
$location.url();\n
Login.c(90): \n
Login.c(90): function appendBasePath(url, isHtml5, absolute) {\n
Login.c(90): if (baseHref === '/') return url;\n
Login.c(90): if (isHtml5) return baseHref.slice(0, -1) + url;\n
Login.c(90): if (absolute) return baseHref.slice(1) + url;\n
Login.c(90): return url;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // TODO: Optimize groups of rules with non-empty prefix into
some sort of decision tre
Login.c(90): e\n
Login.c(90): function update(evt) {\n
Login.c(90): if (evt && evt.defaultPrevented) return;\n
Login.c(90): \n
Login.c(90): function check(rule) {\n
Login.c(90): var handled = rule($injector, $location);\n
Login.c(90): \n
Login.c(90): if (!handled) return false;\n
Login.c(90): if (isString(handled)) $location.replace().url(handled);\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): var n = rules.length, i;\n
Login.c(90): \n
Login.c(90): for (i = 0; i < n; i++) {\n
Login.c(90): if (check(rules[i])) return;\n
Login.c(90): }\n
Login.c(90): // always check otherwise last to allow dynamic updates to
the set of rules\n
Login.c(90): if (otherwise) check(otherwise);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function listen() {\n
Login.c(90): listener = listener || $rootScope.
$on('$locationChangeSuccess', update);\n
Login.c(90): return listener;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!interceptDeferred) listen();\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouter#sync\n
Login.c(90): * @methodOf ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Triggers an update; the same update that happens when the
address bar url changes
Login.c(90): , aka `$locationChangeSuccess`.\n
Login.c(90): * This method is useful when you need to use
`preventDefault()` on the `$locationCh
Login.c(90): angeSuccess` event,\n
Login.c(90): * perform some custom logic (route protection, auth,
config, redirection, etc) and
Login.c(90): then finally proceed\n
Login.c(90): * with the transition by calling `$urlRouter.sync()`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * angular.module('app', ['ui.router'])\n
Login.c(90): * .run(function($rootScope, $urlRouter) {\n
Login.c(90): * $rootScope.$on('$locationChangeSuccess',
function(evt) {\n
Login.c(90): * // Halt state change from even starting\n
Login.c(90): * evt.preventDefault();\n
Login.c(90): * // Perform custom logic\n
Login.c(90): * var meetsRequirement =
Login.c(90): t=3691ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ...\n
Login.c(90): * // Continue with the update and state transition if
logic allows\n
Login.c(90): * if (meetsRequirement) $urlRouter.sync();\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): sync: function() {\n
Login.c(90): update();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): listen: function() {\n
Login.c(90): return listen();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): update: function(read) {\n
Login.c(90): if (read) {\n
Login.c(90): location = $location.url();\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if ($location.url() === location) return;\n
Login.c(90): \n
Login.c(90): $location.url(location);\n
Login.c(90): $location.replace();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): push: function(urlMatcher, params, options) {\n
Login.c(90): $location.url(urlMatcher.format(params || {}));\n
Login.c(90): if (options && options.replace) $location.replace();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouter#href\n
Login.c(90): * @methodOf ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A URL generation method that returns the compiled URL for
a given\n
Login.c(90): * {@link ui.router.util.type:UrlMatcher `UrlMatcher`},
populated with the provided
Login.c(90): parameters.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * $bob = $urlRouter.href(new UrlMatcher("/about/:person"),
{\n
Login.c(90): * person: "bob"\n
Login.c(90): * });\n
Login.c(90): * // $bob == "/about/bob";\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {UrlMatcher} urlMatcher The `UrlMatcher` object
which is used as the templ
Login.c(90): ate of the URL to generate.\n
Login.c(90): * @param {object=} params An object of parameter values to
fill the matcher's requi
Login.c(90): red parameters.\n
Login.c(90): * @param {object=} options Options object. The options
are:\n
Login.c(90): *\n
Login.c(90): * - **`absolute`** - {boolean=false}, If true will
generate an absolute url, e.g.
Login.c(90): "http://www.example.com/fullurl".\n
Login.c(90): *\n
Login.c(90): * @returns {string} Returns the fully compiled URL, or
`null` if `params` fail vali
Login.c(90): dation against `urlMatcher`\n
Login.c(90): */\n
Login.c(90): href: function(urlMatcher, params, options) {\n
Login.c(90): if (!urlMatcher.validates(params)) return null;\n
Login.c(90): \n
Login.c(90): var isHtml5 = $locationProvider.html5Mode();\n
Login.c(90): var url = urlMatcher.format(params);\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!isHtml5 && url !== null) {\n
Login.c(90): url = "#" + $locationProvider.hashPrefix() + url;\n
Login.c(90): }\n
Login.c(90): url = appendBasePath(url, isHtml5, options.absolute);\n
Login.c(90): \n
Login.c(90): if (!options.absolute || !url) {\n
Login.c(90): return url;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var slash = (!isHtml5 && url ? '/' : ''), port =
$location.port();\n
Login.c(90): port = (port === 80 || port === 443 ? '' : ':' + port);\n
Login.c(90): \n
Login.c(90): return [$location.protocol(), '://', $location.host(),
port, slash, url].join('');
Login.c(90): \n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.router').provider('$urlRouter',
$UrlRouterProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$stateProvider\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.router.$urlRouterProvider\n
Login.c(90): * @requires ui.router.util.$urlMatcherFactoryProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The new `$stateProvider` works similar to Angular's v1 router,
but it focuses purely\n
Login.c(90): * on state.\n
Login.c(90): *\n
Login.c(90): * A state corresponds to a "place" in the application in terms of
the overall UI and\n
Login.c(90): * navigation. A state describes (via the controller / template /
view properties) what\n
Login.c(90): * the UI looks like and does at that place.\n
Login.c(90): *\n
Login.c(90): * States often have things in common, and the primary way of
factoring out these\n
Login.c(90): * commonalities in this model is via the state hierarchy, i.e.
parent/child states aka\n
Login.c(90): * nested states.\n
Login.c(90): *\n
Login.c(90): * The `$stateProvider` provides interfaces to declare these
states for your app.\n
Login.c(90): */\n
Login.c(90): $StateProvider.$inject = ['$urlRouterProvider',
'$urlMatcherFactoryProvider'];\n
Login.c(90): function $StateProvider( $urlRouterProvider,
$urlMatcherFactory) {\n
Login.c(90): \n
Login.c(90): var root, states = {}, $state, queue = {}, abstractKey =
'abstract';\n
Login.c(90): \n
Login.c(90): // Builds state properties from definition passed to
registerState()\n
Login.c(90): var stateBuilder = {\n
Login.c(90): \n
Login.c(90): // Derive parent state from a hierarchical name only if
'parent' is not explicitly def
Login.c(90): ined.\n
Login.c(90): // state.children = [];\n
Login.c(90): // if (parent) parent.children.push(state);\n
Login.c(90): parent: function(state) {\n
Login.c(90): if (isDefined(state.parent) && state.parent) return
findState(state.parent);\n
Login.c(90): // regex matches any valid composite state name\n
Login.c(90): // would match "contact.list" but not "contacts"\n
Login.c(90): var compositeName = /^(.+)\\.[^.]+$/.exec(state.name);\n
Login.c(90): return compositeName ? findState(compositeName[1]) : root;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // inherit 'data' from parent and override by own values (if
any)\n
Login.c(90): data: function(state) {\n
Login.c(90): if (state.parent && state.parent.data) {\n
Login.c(90): state.data = state.self.data = extend({},
state.parent.data, state.data);\n
Login.c(90): }\n
Login.c(90): return state.data;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Build a URLMatcher if necessary, either via a relative or
absolute URL\n
Login.c(90): url: function(state) {\n
Login.c(90): var url = state.url, config = { params: state.params ||
{} };\n
Login.c(90): \n
Login.c(90): if (isString(url)) {\n
Login.c(90): if (url.charAt(0) == '^') return
$urlMatcherFactory.compile(url.substring(1), conf
Login.c(90): ig);\n
Login.c(90): return (state.parent.navigable || root).url.concat(url,
config);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!url || $urlMatcherFactory.isMatcher(url)) return url;\n
Login.c(90): throw new Error("Invalid url '" + url + "' in state '" +
state + "'");\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Keep track of the closest ancestor state that has a URL
(i.e. is navigable)\n
Login.c(90): navigable: function(state) {\n
Login.c(90): return state.url ? state : (state.parent ?
state.parent.navigable : null);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Derive parameters for this state and ensure they're a
super-set of parent's paramet
Login.c(90): ers\n
Login.c(90): params: function(state) {\n
Login.c(90): if (!state.params) {\n
Login.c(90): return state.url ? state.url.params :
state.parent.params;\n
Login.c(90): }\n
Login.c(90): return state.params;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // If there is no explicit multi-view configuration, make one
up so we don't have\n
Login.c(90): // to handle both cases in the view directive later. Note that
having an explicit\n
Login.c(90): // 'views' property will mean the default unnamed view
properties are ignored. This\n
Login.c(90): // is also a good time to resolve view names to absolute
names, so everything is a\n
Login.c(90): // straight lookup at link time.\n
Login.c(90): views: function(state) {\n
Login.c(90): var views = {};\n
Login.c(90): \n
Login.c(90): forEach(isDefined(state.views) ? state.views : { '':
state }, function (view, name)
Login.c(90): {\n
Login.c(90): if (name.indexOf('@') < 0) name += '@' +
state.parent.name;\n
Login.c(90): views[name] = view;\n
Login.c(90): });\n
Login.c(90): return views;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): ownParams: function(state) {\n
Login.c(90): state.params = state.params || {};\n
Login.c(90): \n
Login.c(90): if (!state.parent) {\n
Login.c(90): return objectKeys(state.params);\n
Login.c(90): }\n
Login.c(90): var paramNames = {}; forEach(state.params, function (v, k) {
paramNames[k] = true; }
Login.c(90): );\n
Login.c(90): \n
Login.c(90): forEach(state.parent.params, function (v, k) {\n
Login.c(90): if (!paramNames[k]) {\n
Login.c(90): throw new Error("Missing required parameter '" + k + "'
in state '" + state.name
Login.c(90): + "'");\n
Login.c(90): }\n
Login.c(90): paramNames[k] = false;\n
Login.c(90): });\n
Login.c(90): var ownParams = [];\n
Login.c(90): \n
Login.c(90): forEach(paramNames, function (own, p) {\n
Login.c(90): if (own) ownParams.push(p);\n
Login.c(90): });\n
Login.c(90): return ownParams;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Keep a full path from the root down to this state as this
is needed for state activ
Login.c(90): ation.\n
Login.c(90): path: function(state) {\n
Login.c(90): return state.parent ? state.parent.path.concat(state) :
[]; // exclude root from pat
Login.c(90): h\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Speed up $state.contains() as it's used a lot\n
Login.c(90): includes: function(state) {\n
Login.c(90): var includes = state.parent ? extend({},
state.parent.includes) : {};\n
Login.c(90): includes[state.name] = true;\n
Login.c(90): return includes;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): $delegates: {}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function isRelative(stateName) {\n
Login.c(90): return stateName.indexOf(".") === 0 || stateName.indexOf("^")
=== 0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function findState(stateOrName, base) {\n
Login.c(90): if (!stateOrName) return undefined;\n
Login.c(90): \n
Login.c(90): var isStr = isString(stateOrName),\n
Login.c(90): name = isStr ? stateOrName : stateOrName.name,\n
Login.c(90): path = isRelative(name);\n
Login.c(90): \n
Login.c(90): if (path) {\n
Login.c(90): if (!base) throw new Error("No reference point given for
path '" + name + "'");\n
Login.c(90): var rel = name.split("."), i = 0, pathLength = rel.length,
current = base;\n
Login.c(90): \n
Login.c(90): for (; i < pathLength; i++) {\n
Login.c(90): if (rel[i] === "" && i === 0) {\n
Login.c(90): current = base;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): if (rel[i] === "^") {\n
Login.c(90): if (!current.parent) throw new Error("Path '" + name +
"' not valid for state '"
Login.c(90): + base.name + "'");\n
Login.c(90): current = current.parent;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): rel = rel.slice(i).join(".");\n
Login.c(90): name = current.name + (current.name && rel ? "." : "") +
rel;\n
Login.c(90): }\n
Login.c(90): var state = states[name];\n
Login.c(90): \n
Login.c(90): if (state && (isStr || (!isStr && (state === stateOrName ||
state.self === stateOrName
Login.c(90): )))) {\n
Login.c(90): return state;\n
Login.c(90): }\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function queueState(parentName, state) {\n
Login.c(90): if (!queue[parentName]) {\n
Login.c(90): queue[parentName] = [];\n
Login.c(90): }\n
Login.c(90): queue[parentName].push(state);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function registerState(state) {\n
Login.c(90): // Wrap a new object around the state so we can store our
private details easily.\n
Login.c(90): state = inherit(state, {\n
Login.c(90): self: state,\n
Login.c(90): resolve: state.resolve || {},\n
Login.c(90): toString: function() { return this.name; }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var name = state.name;\n
Login.c(90): if (!isString(name) || name.indexOf('@') >= 0) throw new
Error("State must have a vali
Login.c(90): d name");\n
Login.c(90): if (states.hasOwnProperty(name)) throw new Error("State '" +
name + "'' is already def
Login.c(90): ined");\n
Login.c(90): \n
Login.c(90): // Get parent name\n
Login.c(90): var parentName = (name.indexOf('.') !== -1) ?
name.substring(0, name.lastIndexOf('.'))
Login.c(90): \n
Login.c(90): : (isString(state.parent)) ? state.parent\n
Login.c(90): : '';\n
Login.c(90): \n
Login.c(90): // If parent is not registered yet, add state to queue and
register later\n
Login.c(90): if (parentName && !states[parentName]) {\n
Login.c(90): return queueState(parentName, state.self);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var key in stateBuilder) {\n
Login.c(90): if (isFunction(stateBuilder[key])) state[key] =
stateBuilder[key](state, stateBuilde
Login.c(90): r.$delegates[key]);\n
Login.c(90): }\n
Login.c(90): states[name] = state;\n
Login.c(90): \n
Login.c(90): // Register the state in the global state list and with
$urlRouter if necessary.\n
Login.c(90): if (!state[abstractKey] && state.url) {\n
Login.c(90): $urlRouterProvider.when(state.url, ['$match',
'$stateParams', function ($match, $sta
Login.c(90): teParams) {\n
Login.c(90): if ($state.$current.navigable != state || !
equalForKeys($match, $stateParams)) {\n
Login.c(90): $state.transitionTo(state, $match, { location:
false });\n
Login.c(90): }\n
Login.c(90): }]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Register any queued children\n
Login.c(90): if (queue[name]) {\n
Login.c(90): for (var i = 0; i < queue[name].length; i++) {\n
Login.c(90): registerState(queue[name][i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return state;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Checks text to see if it looks like a glob.\n
Login.c(90): function isGlob (text) {\n
Login.c(90): return text.indexOf('*') > -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Returns true if glob matches current $state name.\n
Login.c(90): function doesStateMatchGlob (glob) {\n
Login.c(90): var globSegments = glob.split('.'),\n
Login.c(90): segments = $state.$current.name.split('.');\n
Login.c(90): \n
Login.c(90): //match greedy starts\n
Login.c(90): if (globSegments[0] === '**') {\n
Login.c(90): segments =
segments.slice(segments.indexOf(globSegments[1]));\n
Login.c(90): segments.unshift('**');\n
Login.c(90): }\n
Login.c(90): //match greedy ends\n
Login.c(90): if (globSegments[globSegments.length - 1] === '**') {\n
Login.c(90):
segments.splice(segments.indexOf(globSegments[globSegments.length - 2]) + 1, Number
Login.c(90): .MAX_VALUE);\n
Login.c(90): segments.push('**');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (globSegments.length != segments.length) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //match single stars\n
Login.c(90): for (var i = 0, l = globSegments.length; i < l; i++) {\n
Login.c(90): if (globSegments[i] === '*') {\n
Login.c(90): segments[i] = '*';\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return segments.join('') === globSegments.join('');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Implicit root state that is always active\n
Login.c(90): root = registerState({\n
Login.c(90): name: '',\n
Login.c(90): url: '^',\n
Login.c(90): views: null,\n
Login.c(90): 'abstract': true\n
Login.c(90): });\n
Login.c(90): root.navigable = null;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$stateProvider#decorator\n
Login.c(90): * @methodOf ui.router.state.$stateProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Allows you to extend (carefully) or override (at your own
peril) the \n
Login.c(90): * `stateBuilder` object used internally by `$stateProvider`.
This can be used \n
Login.c(90): * to add custom functionality to ui-router, for example
inferring templateUrl \n
Login.c(90): * based on the state name.\n
Login.c(90): *\n
Login.c(90): * When passing only a name, it returns the current (original or
decorated) builder\n
Login.c(90): * function that matches `name`.\n
Login.c(90): *\n
Login.c(90): * The builder functions that can be decorated are listed below.
Though not all\n
Login.c(90): * necessarily have a good use case for decoration, that is up
to you to decide.\n
Login.c(90): *\n
Login.c(90): * In addition, users can attach custom decorators, which will
generate new \n
Login.c(90): * properties within the state's internal definition. The
Login.c(90): t=3707ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): re is currently no clear \n
Login.c(90): * use-case for this beyond accessing internal states (i.e.
$state.$current), \n
Login.c(90): * however, expect this to become increasingly relevant as we
introduce additional \n
Login.c(90): * meta-programming features.\n
Login.c(90): *\n
Login.c(90): * **Warning**: Decorators should not be interdependent because
the order of \n
Login.c(90): * execution of the builder functions in non-deterministic.
Builder functions \n
Login.c(90): * should only be dependent on the state definition object and
super function.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * Existing builder functions and current return values:\n
Login.c(90): *\n
Login.c(90): * - **parent** `{object}` - returns the parent state object.\n
Login.c(90): * - **data** `{object}` - returns state data, including any
inherited data that is not\n
Login.c(90): * overridden by own values (if any).\n
Login.c(90): * - **url** `{object}` - returns a {@link
ui.router.util.type:UrlMatcher UrlMatcher}\n
Login.c(90): * or `null`.\n
Login.c(90): * - **navigable** `{object}` - returns closest ancestor state
that has a URL (aka is \n
Login.c(90): * navigable).\n
Login.c(90): * - **params** `{object}` - returns an array of state params
that are ensured to \n
Login.c(90): * be a super-set of parent's params.\n
Login.c(90): * - **views** `{object}` - returns a views object where each
key is an absolute view \n
Login.c(90): * name (i.e. "viewName@stateName") and each value is the
config object \n
Login.c(90): * (template, controller) for the view. Even when you don't
use the views object \n
Login.c(90): * explicitly on a state config, one is still created for you
internally.\n
Login.c(90): * So by decorating this builder function you have access to
decorating template \n
Login.c(90): * and controller properties.\n
Login.c(90): * - **ownParams** `{object}` - returns an array of params that
belong to the state, \n
Login.c(90): * not including any params defined by ancestor states.\n
Login.c(90): * - **path** `{string}` - returns the full path from the root
down to this state. \n
Login.c(90): * Needed for state activation.\n
Login.c(90): * - **includes** `{object}` - returns an object that includes
every state that \n
Login.c(90): * would pass a `$state.includes()` test.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * // Override the internal 'views' builder with a function that
takes the state\n
Login.c(90): * // definition, and a reference to the internal function being
overridden:\n
Login.c(90): * $stateProvider.decorator('views', function (state, parent)
{\n
Login.c(90): * var result = {},\n
Login.c(90): * views = parent(state);\n
Login.c(90): *\n
Login.c(90): * angular.forEach(views, function (config, name) {\n
Login.c(90): * var autoName = (state.name + '.' + name).replace('.',
'/');\n
Login.c(90): * config.templateUrl = config.templateUrl || '/partials/' +
autoName + '.html';\n
Login.c(90): * result[name] = config;\n
Login.c(90): * });\n
Login.c(90): * return result;\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * $stateProvider.state('home', {\n
Login.c(90): * views: {\n
Login.c(90): * 'contact.list': { controller: 'ListController' },\n
Login.c(90): * 'contact.item': { controller: 'ItemController' }\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // ...\n
Login.c(90): *\n
Login.c(90): * $state.go('home');\n
Login.c(90): * // Auto-populates list and item views with
/partials/home/contact/list.html,\n
Login.c(90): * // and /partials/home/contact/item.html, respectively.\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the builder function to
decorate. \n
Login.c(90): * @param {object} func A function that is responsible for
decorating the original \n
Login.c(90): * builder function. The function receives two parameters:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - state - The state config object.\n
Login.c(90): * - `{object}` - super - The original builder function.\n
Login.c(90): *\n
Login.c(90): * @return {object} $stateProvider - $stateProvider instance\n
Login.c(90): */\n
Login.c(90): this.decorator = decorator;\n
Login.c(90): function decorator(name, func) {\n
Login.c(90): /*jshint validthis: true */\n
Login.c(90): if (isString(name) && !isDefined(func)) {\n
Login.c(90): return stateBuilder[name];\n
Login.c(90): }\n
Login.c(90): if (!isFunction(func) || !isString(name)) {\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): if (stateBuilder[name] && !stateBuilder.$delegates[name]) {\n
Login.c(90): stateBuilder.$delegates[name] = stateBuilder[name];\n
Login.c(90): }\n
Login.c(90): stateBuilder[name] = func;\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$stateProvider#state\n
Login.c(90): * @methodOf ui.router.state.$stateProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a state configuration under a given state name. The
stateConfig object\n
Login.c(90): * has the following acceptable properties.\n
Login.c(90): *\n
Login.c(90): * <a id='template'></a>\n
Login.c(90): *\n
Login.c(90): * - **`template`** - {string|function=} - html template as a
string or a function that
Login.c(90): returns\n
Login.c(90): * an html template as a string which should be used by the
uiView directives. This pr
Login.c(90): operty \n
Login.c(90): * takes precedence over templateUrl.\n
Login.c(90): * \n
Login.c(90): * If `template` is a function, it will be called with the
following parameters:\n
Login.c(90): *\n
Login.c(90): * - {array.<object>} - state parameters extracted from
the current $location.pa
Login.c(90): th() by\n
Login.c(90): * applying the current state\n
Login.c(90): *\n
Login.c(90): * <a id='templateUrl'></a>\n
Login.c(90): *\n
Login.c(90): * - **`templateUrl`** - {string|function=} - path or function
that returns a path to an
Login.c(90): html \n
Login.c(90): * template that should be used by uiView.\n
Login.c(90): * \n
Login.c(90): * If `templateUrl` is a function, it will be called with the
following parameters:\n
Login.c(90): *\n
Login.c(90): * - {array.<object>} - state parameters extracted from
the current $location.pa
Login.c(90): th() by \n
Login.c(90): * applying the current state\n
Login.c(90): *\n
Login.c(90): * <a id='templateProvider'></a>\n
Login.c(90): *\n
Login.c(90): * - **`templateProvider`** - {function=} - Provider function
that returns HTML content\n
Login.c(90): * string.\n
Login.c(90): *\n
Login.c(90): * <a id='controller'></a>\n
Login.c(90): *\n
Login.c(90): * - **`controller`** - {string|function=} - Controller fn that
should be associated wi
Login.c(90): th newly \n
Login.c(90): * related scope or the name of a registered controller if
passed as a string.\n
Login.c(90): *\n
Login.c(90): * <a id='controllerProvider'></a>\n
Login.c(90): *\n
Login.c(90): * - **`controllerProvider`** - {function=} - Injectable
provider function that returns\n
Login.c(90): * the actual controller or string.\n
Login.c(90): *\n
Login.c(90): * <a id='controllerAs'></a>\n
Login.c(90): * \n
Login.c(90): * - **`controllerAs`** \xE2\x80\x93 {string=} \xE2\x80\x93 A
controller alias name. If
Login.c(90): present the controller will be \n
Login.c(90): * published to scope under the controllerAs name.\n
Login.c(90): *\n
Login.c(90): * <a id='resolve'></a>\n
Login.c(90): *\n
Login.c(90): * - **`resolve`** - {object.<string, function>=} - An
optional map of dependencie
Login.c(90): s which \n
Login.c(90): * should be injected into the controller. If any of these
dependencies are promises,
Login.c(90): \n
Login.c(90): * the router will wait for them all to be resolved or one to
be rejected before the \n
Login.c(90): * controller is instantiated. If all the promises are
resolved successfully, the valu
Login.c(90): es \n
Login.c(90): * of the resolved promises are injected and
$stateChangeSuccess event is fired. If an
Login.c(90): y \n
Login.c(90): * of the promises are rejected the $stateChangeError event is
fired. The map object i
Login.c(90): s:\n
Login.c(90): * \n
Login.c(90): * - key - {string}: name of dependency to be injected into
controller\n
Login.c(90): * - factory - {string|function}: If string then it is alias
for service. Otherwise if
Login.c(90): function, \n
Login.c(90): * it is injected and return value it treated as dependency.
If result is a promise,
Login.c(90): it is \n
Login.c(90): * resolved before its value is injected into controller.\n
Login.c(90): *\n
Login.c(90): * <a id='url'></a>\n
Login.c(90): *\n
Login.c(90): * - **`url`** - {string=} - A url with optional parameters.
When a state is navigated o
Login.c(90): r\n
Login.c(90): * transitioned to, the `$stateParams` service will be
populated with any \n
Login.c(90): * parameters that were passed.\n
Login.c(90): *\n
Login.c(90): * <a id='params'></a>\n
Login.c(90): *\n
Login.c(90): * - **`params`** - {object=} - An array of parameter names or
regular expressions. Only
Login.c(90): \n
Login.c(90): * use this within a state if you are not using url. Otherwise
you can specify your\n
Login.c(90): * parameters within the url. When a state is navigated or
transitioned to, the \n
Login.c(90): * $stateParams service will be populated with any parameters
that were passed.\n
Login.c(90): *\n
Login.c(90): * <a id='views'></a>\n
Login.c(90): *\n
Login.c(90): * - **`views`** - {object=} - Use the views property to set up
multiple views or to tar
Login.c(90): get views\n
Login.c(90): * manually/explicitly.\n
Login.c(90): *\n
Login.c(90): * <a id='abstract'></a>\n
Login.c(90): *\n
Login.c(90): * - **`abstract`** - {boolean=} - An abstract state will never
be directly activated, \n
Login.c(90): * but can provide inherited properties to its common children
states.\n
Login.c(90): *\n
Login.c(90): * <a id='onEnter'></a>\n
Login.c(90): *\n
Login.c(90): * - **`onEnter`** - {object=} - Callback function for when a
state is entered. Good way
Login.c(90): \n
Login.c(90): * to trigger an action or dispatch an event, such as opening
a dialog.\n
Login.c(90): * If minifying your scripts, make sure to use the
`['injection1', 'injection2', functio
Login.c(90): n(injection1, injection2){}]` syntax.\n
Login.c(90): *\n
Login.c(90): * <a id='onExit'></a>\n
Login.c(90): *\n
Login.c(90): * - **`onExit`** - {object=} - Callback function for when a
state is exited. Good way t
Login.c(90): o\n
Login.c(90): * trigger an action or dispatch an event, such as opening a
dialog.\n
Login.c(90): * If minifying your scripts, make sure to use the
`['injection1', 'injection2', functio
Login.c(90): n(injection1, injection2){}]` syntax.\n
Login.c(90): *\n
Login.c(90): * <a id='reloadOnSearch'></a>\n
Login.c(90): *\n
Login.c(90): * - **`reloadOnSearch = true`** - {boolean=} - If `false`, will
not retrigger the same
Login.c(90): state \n
Login.c(90): * just because a search/query parameter has changed (via
$location.search() or $locat
Login.c(90): ion.hash()). \n
Login.c(90): * Useful for when you'd like to modify $location.search()
without triggering a reload
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * <a id='data'></a>\n
Login.c(90): *\n
Login.c(90): * - **`data`** - {object=} - Arbitrary data object, useful for
custom configuration.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * // Some state name examples\n
Login.c(90): *\n
Login.c(90): * // stateName can be a single top-level name (must be
unique).\n
Login.c(90): * $stateProvider.state("home", {});\n
Login.c(90): *\n
Login.c(90): * // Or it can be a nested state name. This state is a child of
the \n
Login.c(90): * // above "home" state.\n
Login.c(90): * $stateProvider.state("home.newest", {});\n
Login.c(90): *\n
Login.c(90): * // Nest states as deeply as needed.\n
Login.c(90): * $stateProvider.state("home.newest.abc.xyz.inception", {});\n
Login.c(90): *\n
Login.c(90): * // state() returns $stateProvider, so you can chain state
declarations.\n
Login.c(90): * $stateProvider\n
Login.c(90): * .state("home", {})\n
Login.c(90): * .state("about", {})\n
Login.c(90): * .state("contacts", {});\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} name A unique state name, e.g. "home",
"about", "contacts". \n
Login.c(90): * To create a parent/child state use a dot, e.g. "about.sales",
"home.newest".\n
Login.c(90): * @param {object} definition State configuration object.\n
Login.c(90): */\n
Login.c(90): this.state = state;\n
Login.c(90): function state(name, definition) {\n
Login.c(90): /*jshint validthis: true */\n
Login.c(90): if (isObject(name)) definition = name;\n
Login.c(90): else definition.name = name;\n
Login.c(90): registerState(definition);\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @requires $rootScope\n
Login.c(90): * @requires $q\n
Login.c(90): * @requires ui.router.state.$view\n
Login.c(90): * @requires $injector\n
Login.c(90): * @requires ui.router.util.$resolve\n
Login.c(90): * @requires ui.router.state.$stateParams\n
Login.c(90): * @requires ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @property {object} params A param object, e.g. {sectionId:
section.id)}, that \n
Login.c(90): * you'd like to test against the current active state.\n
Login.c(90): * @property {object} current A reference to the state's config
object. However \n
Login.c(90): * you passed it in. Useful for accessing custom data.\n
Login.c(90): * @property {object} transition Currently pending transition. A
promise that'll \n
Login.c(90): * resolve or reject.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `$state` service is responsible for representing states as
well as transitioning\n
Login.c(90): * between them. It also provides interfaces to ask for current
state or even states\n
Login.c(90): * you're coming from.\n
Login.c(90): */\n
Login.c(90): this.$get = $get;\n
Login.c(90): $get.$inject = ['$rootScope', '$q', '$view', '$injector',
'$resolve', '$stateParams', '$
Login.c(90): urlRouter'];\n
Login.c(90): function $get( $rootScope, $q, $view, $injector,
$resolve, $stateParams, $
Login.c(90): urlRouter) {\n
Login.c(90): \n
Login.c(90): var TransitionSuperseded = $q.reject(new Error('transition
superseded'));\n
Login.c(90): var TransitionPrevented = $q.reject(new Error('transition
prevented'));\n
Login.c(90): var TransitionAborted = $q.reject(new Error('transition
aborted'));\n
Login.c(90): var TransitionFailed = $q.reject(new Error('transition
failed'));\n
Login.c(90): \n
Login.c(90): // Handles the case where a state which is the target of a
transition is not found, an
Login.c(90): d the user\n
Login.c(90): // can optionally retry or defer the transition\n
Login.c(90): function handleRedirect(redirect, state, params, options) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateNotFound\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired when a requested state **cannot be found** using
the provided state name du
Login.c(90): ring transition.\n
Login.c(90): * The event is broadcast allowing any handlers a single
chance to deal with the err
Login.c(90): or (usually by\n
Login.c(90): * lazy-loading the unfound state). A special `unfoundState`
object is passed to the
Login.c(90): listener handler,\n
Login.c(90): * you can see its three properties in the example. You can
use `event.preventDefaul
Login.c(90): t()` to abort the\n
Login.c(90): * transition and the promise returned from `go` will be
rejected with a `'transitio
Login.c(90): n aborted'` value.\n
Login.c(90): *\n
Login.c(90): * @param
Login.c(90): t=3720ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): {Object} event Event object.\n
Login.c(90): * @param {Object} unfoundState Unfound State information.
Contains: `to, toParams,
Login.c(90): options` properties.\n
Login.c(90): * @param {State} fromState Current state object.\n
Login.c(90): * @param {Object} fromParams Current state params.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * // somewhere, assume lazy.state has not been defined\n
Login.c(90): * $state.go("lazy.state", {a:1, b:2}, {inherit:false});\n
Login.c(90): *\n
Login.c(90): * // somewhere else\n
Login.c(90): * $scope.$on('$stateNotFound',\n
Login.c(90): * function(event, unfoundState, fromState, fromParams){\n
Login.c(90): * console.log(unfoundState.to); // "lazy.state"\n
Login.c(90): * console.log(unfoundState.toParams); // {a:1, b:2}\n
Login.c(90): * console.log(unfoundState.options); // {inherit:false}
+ default options\n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): var evt = $rootScope.$broadcast('$stateNotFound', redirect,
state, params);\n
Login.c(90): \n
Login.c(90): if (evt.defaultPrevented) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): return TransitionAborted;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!evt.retry) {\n
Login.c(90): return null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Allow the handler to return a promise to defer state
lookup retry\n
Login.c(90): if (options.$retry) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): return TransitionFailed;\n
Login.c(90): }\n
Login.c(90): var retryTransition = $state.transition =
$q.when(evt.retry);\n
Login.c(90): \n
Login.c(90): retryTransition.then(function() {\n
Login.c(90): if (retryTransition !== $state.transition) return
TransitionSuperseded;\n
Login.c(90): redirect.options.$retry = true;\n
Login.c(90): return $state.transitionTo(redirect.to, redirect.toParams,
redirect.options);\n
Login.c(90): }, function() {\n
Login.c(90): return TransitionAborted;\n
Login.c(90): });\n
Login.c(90): $urlRouter.update();\n
Login.c(90): \n
Login.c(90): return retryTransition;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): root.locals = { resolve: null, globals: { $stateParams:
{} } };\n
Login.c(90): \n
Login.c(90): $state = {\n
Login.c(90): params: {},\n
Login.c(90): current: root.self,\n
Login.c(90): $current: root,\n
Login.c(90): transition: null\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#reload\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A method that force reloads the current state. All resolves
are re-resolved, events
Login.c(90): are not re-fired, \n
Login.c(90): * and controllers reinstantiated (bug with controllers
reinstantiating right now, fix
Login.c(90): ing soon).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app angular.module('app', ['ui.router']);\n
Login.c(90): *\n
Login.c(90): * app.controller('ctrl', function ($scope, $state) {\n
Login.c(90): * $scope.reload = function(){\n
Login.c(90): * $state.reload();\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * `reload()` is just an alias for:\n
Login.c(90): * <pre>\n
Login.c(90): * $state.transitionTo($state.current, $stateParams, { \n
Login.c(90): * reload: true, inherit: false, notify: false \n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): $state.reload = function reload() {\n
Login.c(90): $state.transitionTo($state.current, $stateParams, { reload:
true, inherit: false, no
Login.c(90): tify: false });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#go\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Convenience method for transitioning to a new state.
`$state.go` calls \n
Login.c(90): * `$state.transitionTo` internally but automatically sets
options to \n
Login.c(90): * `{ location: true, inherit: true, relative: $state.
$current, notify: true }`. \n
Login.c(90): * This allows you to easily use an absolute or relative to
path and specify \n
Login.c(90): * only the parameters you'd like to update (while letting
unspecified parameters \n
Login.c(90): * inherit from the currently active ancestor states).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router']);\n
Login.c(90): *\n
Login.c(90): * app.controller('ctrl', function ($scope, $state) {\n
Login.c(90): * $scope.changeState = function () {\n
Login.c(90): * $state.go('contact.detail');\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): * <img src='../ngdoc_assets/StateGoExamples.png'/>\n
Login.c(90): *\n
Login.c(90): * @param {string} to Absolute state name or relative state
path. Some examples:\n
Login.c(90): *\n
Login.c(90): * - `$state.go('contact.detail')` - will go to the
`contact.detail` state\n
Login.c(90): * - `$state.go('^')` - will go to a parent state\n
Login.c(90): * - `$state.go('^.sibling')` - will go to a sibling state\n
Login.c(90): * - `$state.go('.child.grandchild')` - will go to grandchild
state\n
Login.c(90): *\n
Login.c(90): * @param {object=} params A map of the parameters that will
be sent to the state, \n
Login.c(90): * will populate $stateParams. Any parameters that are not
specified will be inherited
Login.c(90): from currently \n
Login.c(90): * defined parameters. This allows, for example, going to a
sibling state that shares
Login.c(90): parameters\n
Login.c(90): * specified in a parent state. Parameter inheritance only
works between common ancest
Login.c(90): or states, I.e.\n
Login.c(90): * transitioning to a sibling will get you the parameters for
all parents, transitioni
Login.c(90): ng to a child\n
Login.c(90): * will get you all current parameters, etc.\n
Login.c(90): * @param {object=} options Options object. The options are:\n
Login.c(90): *\n
Login.c(90): * - **`location`** - {boolean=true|string=} - If `true` will
update the url in the lo
Login.c(90): cation bar, if `false`\n
Login.c(90): * will not. If string, must be `"replace"`, which will
update url and also replace
Login.c(90): last history record.\n
Login.c(90): * - **`inherit`** - {boolean=true}, If `true` will inherit
url parameters from curren
Login.c(90): t url.\n
Login.c(90): * - **`relative`** - {object=$state.$current}, When
transitioning with relative path
Login.c(90): (e.g '^'), \n
Login.c(90): * defines which state to be relative from.\n
Login.c(90): * - **`notify`** - {boolean=true}, If `true` will broadcast
$stateChangeStart and $st
Login.c(90): ateChangeSuccess events.\n
Login.c(90): * - **`reload`** (v0.2.5) - {boolean=false}, If `true` will
force transition even if
Login.c(90): the state or params \n
Login.c(90): * have not changed, aka a reload of the same state. It
differs from reloadOnSearch
Login.c(90): because you'd\n
Login.c(90): * use this when you want to force a reload when
*everything* is the same, includin
Login.c(90): g search params.\n
Login.c(90): *\n
Login.c(90): * @returns {promise} A promise representing the state of the
new transition.\n
Login.c(90): *\n
Login.c(90): * Possible success values:\n
Login.c(90): *\n
Login.c(90): * - $state.current\n
Login.c(90): *\n
Login.c(90): * <br/>Possible rejection values:\n
Login.c(90): *\n
Login.c(90): * - 'transition superseded' - when a newer transition has
been started after this one
Login.c(90): \n
Login.c(90): * - 'transition prevented' - when `event.preventDefault()`
has been called in a `$sta
Login.c(90): teChangeStart` listener\n
Login.c(90): * - 'transition aborted' - when `event.preventDefault()` has
been called in a `$state
Login.c(90): NotFound` listener or\n
Login.c(90): * when a `$stateNotFound` `event.retry` promise errors.\n
Login.c(90): * - 'transition failed' - when a state has been
unsuccessfully found after 2 tries.\n
Login.c(90): * - *resolve error* - when an error has occurred with a
`resolve`\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $state.go = function go(to, params, options) {\n
Login.c(90): return $state.transitionTo(to, params, extend({ inherit:
true, relative: $state.$cur
Login.c(90): rent }, options));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#transitionTo\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Low-level method for transitioning to a new state. {@link
ui.router.state.$state#me
Login.c(90): thods_go $state.go}\n
Login.c(90): * uses `transitionTo` internally. `$state.go` is recommended
in most situations.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router']);\n
Login.c(90): *\n
Login.c(90): * app.controller('ctrl', function ($scope, $state) {\n
Login.c(90): * $scope.changeState = function () {\n
Login.c(90): * $state.transitionTo('contact.detail');\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} to State name.\n
Login.c(90): * @param {object=} toParams A map of the parameters that will
be sent to the state,\n
Login.c(90): * will populate $stateParams.\n
Login.c(90): * @param {object=} options Options object. The options are:\n
Login.c(90): *\n
Login.c(90): * - **`location`** - {boolean=true|string=} - If `true` will
update the url in the lo
Login.c(90): cation bar, if `false`\n
Login.c(90): * will not. If string, must be `"replace"`, which will
update url and also replace
Login.c(90): last history record.\n
Login.c(90): * - **`inherit`** - {boolean=false}, If `true` will inherit
url parameters from curre
Login.c(90): nt url.\n
Login.c(90): * - **`relative`** - {object=}, When transitioning with
relative path (e.g '^'), \n
Login.c(90): * defines which state to be relative from.\n
Login.c(90): * - **`notify`** - {boolean=true}, If `true` will broadcast
$stateChangeStart and $st
Login.c(90): ateChangeSuccess events.\n
Login.c(90): * - **`reload`** (v0.2.5) - {boolean=false}, If `true` will
force transition even if
Login.c(90): the state or params \n
Login.c(90): * have not changed, aka a reload of the same state. It
differs from reloadOnSearch
Login.c(90): because you'd\n
Login.c(90): * use this when you want to force a reload when
*everything* is the same, includin
Login.c(90): g search params.\n
Login.c(90): *\n
Login.c(90): * @returns {promise} A promise representing the state of the
new transition. See\n
Login.c(90): * {@link ui.router.state.$state#methods_go $state.go}.\n
Login.c(90): */\n
Login.c(90): $state.transitionTo = function transitionTo(to, toParams,
options) {\n
Login.c(90): toParams = toParams || {};\n
Login.c(90): options = extend({\n
Login.c(90): location: true, inherit: false, relative: null, notify:
true, reload: false, $retr
Login.c(90): y: false\n
Login.c(90): }, options || {});\n
Login.c(90): \n
Login.c(90): var from = $state.$current, fromParams = $state.params,
fromPath = from.path;\n
Login.c(90): var evt, toState = findState(to, options.relative);\n
Login.c(90): \n
Login.c(90): if (!isDefined(toState)) {\n
Login.c(90): var redirect = { to: to, toParams: toParams, options:
options };\n
Login.c(90): var redirectResult = handleRedirect(redirect, from.self,
fromParams, options);\n
Login.c(90): \n
Login.c(90): if (redirectResult) {\n
Login.c(90): return redirectResult;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Always retry once if the $stateNotFound was not
prevented\n
Login.c(90): // (handles either redirect changed or state lazy-
definition)\n
Login.c(90): to = redirect.to;\n
Login.c(90): toParams = redirect.toParams;\n
Login.c(90): options = redirect.options;\n
Login.c(90): toState = findState(to, options.relative);\n
Login.c(90): \n
Login.c(90): if (!isDefined(toState)) {\n
Login.c(90): if (!options.relative) throw new Error("No such state '"
+ to + "'");\n
Login.c(90): throw new Error("Could not resolve '" + to + "' from
state '" + options.relative
Login.c(90): + "'");\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (toState[abstractKey]) throw new Error("Cannot transition
to abstract state '" +
Login.c(90): to + "'");\n
Login.c(90): if (options.inherit) toParams = inheritParams($stateParams,
toParams || {}, $state.$
Login.c(90): current, toState);\n
Login.c(90): to = toState;\n
Login.c(90): \n
Login.c(90): var toPath = to.path;\n
Login.c(90): \n
Login.c(90): // Starting from the root of the path, keep all levels that
haven't changed\n
Login.c(90): var keep = 0, state = toPath[keep], locals = root.locals,
toLocals = [];\n
Login.c(90): \n
Login.c(90): if (!options.reload) {\n
Login.c(90): while (state && state === fromPath[keep] &&
equalForKeys(toParams, fromParams, sta
Login.c(90): te.ownParams)) {\n
Login.c(90): locals = toLocals[keep] = state.locals;\n
Login.c(90): keep++;\n
Login.c(90): state = toPath[keep];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // If we're going to the same state and all locals are kept,
we've got nothing to do
Login.c(90): .\n
Login.c(90): // But clear 'transition', as we still want to cancel any
other pending transitions.
Login.c(90): \n
Login.c(90): // TODO: We may not want to bump 'transition' if we're
called from a location change
Login.c(90): \n
Login.c(90): // that we've initiated ourselves, because we might
accidentally abort a legitimate\n
Login.c(90): // transition initiated from code?\n
Login.c(90): if (shouldTriggerReload(to, from, locals, options)) {\n
Login.c(90): if (to.self.reloadOnSearch !== false)
$urlRouter.update();\n
Login.c(90): $state.transition = null;\n
Login.c(90): return $q.when($state.current);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Filter parameters before we pass them to event handlers
etc.\n
Login.c(90): toParams = filterByKeys(objectKeys(to.params), toParams ||
{});\n
Login.c(90): \n
Login.c(90): // Broadcast start event and cancel the transition if
requested\n
Login.c(90): if (options.notify) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateChangeStart\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired when the state transition **begins**. You can use
`event.preventDefault()
Login.c(90): `\n
Login.c(90): * to prevent the transition from happening and then the
transition promise will b
Login.c(90): e\n
Login.c(90): * rejected with a `'transition prevented'` value.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {State} toState The state being transitioned
to.\n
Login.c(90): * @param {Object} toParams The params supplied to the
`toState`.\n
Login.c(90): * @param {State} fromState The current state, pre-
transition.\n
Login.c(90): * @param {Object} fromParams The params supplied to the
`fromState`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * $rootScope.$on('$stateChangeStart',\n
Login.c(90): * function(event, toState, toParams, fromState,
fromParams){\n
Login.c(90): * event.preventDefault();\n
Login.c(90): *
Login.c(90): t=3733ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): // transitionTo() promise will be rejected with\n
Login.c(90): * // a 'transition prevented' error\n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): if ($rootScope.$broadcast('$stateChangeStart', to.self,
toParams, from.self, fromP
Login.c(90): arams).defaultPrevented) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): return TransitionPrevented;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Resolve locals for the remaining states, but don't update
any global state just\n
Login.c(90): // yet -- if anything fails to resolve the current state
needs to remain untouched.\n
Login.c(90): // We also set up an inheritance chain for the locals here.
This allows the view dir
Login.c(90): ective\n
Login.c(90): // to quickly look up the correct definition for each view
in the current state. Eve
Login.c(90): n\n
Login.c(90): // though we create the locals object itself outside
resolveState(), it is initially
Login.c(90): \n
Login.c(90): // empty and gets filled asynchronously. We need to keep
track of the promise for th
Login.c(90): e\n
Login.c(90): // (fully resolved) current locals, and pass this down the
chain.\n
Login.c(90): var resolved = $q.when(locals);\n
Login.c(90): \n
Login.c(90): for (var l = keep; l < toPath.length; l++, state =
toPath[l]) {\n
Login.c(90): locals = toLocals[l] = inherit(locals);\n
Login.c(90): resolved = resolveState(state, toParams, state === to,
resolved, locals);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Once everything is resolved, we are ready to perform the
actual transition\n
Login.c(90): // and return a promise for the new state. We also keep
track of what the\n
Login.c(90): // current promise is, so that we can detect overlapping
transitions and\n
Login.c(90): // keep only the outcome of the last transition.\n
Login.c(90): var transition = $state.transition = resolved.then(function
() {\n
Login.c(90): var l, entering, exiting;\n
Login.c(90): \n
Login.c(90): if ($state.transition !== transition) return
TransitionSuperseded;\n
Login.c(90): \n
Login.c(90): // Exit 'from' states not kept\n
Login.c(90): for (l = fromPath.length - 1; l >= keep; l--) {\n
Login.c(90): exiting = fromPath[l];\n
Login.c(90): if (exiting.self.onExit) {\n
Login.c(90): $injector.invoke(exiting.self.onExit, exiting.self,
exiting.locals.globals);\n
Login.c(90): }\n
Login.c(90): exiting.locals = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Enter 'to' states not kept\n
Login.c(90): for (l = keep; l < toPath.length; l++) {\n
Login.c(90): entering = toPath[l];\n
Login.c(90): entering.locals = toLocals[l];\n
Login.c(90): if (entering.self.onEnter) {\n
Login.c(90): $injector.invoke(entering.self.onEnter, entering.self,
entering.locals.globals
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Run it again, to catch any transitions in callbacks\n
Login.c(90): if ($state.transition !== transition) return
TransitionSuperseded;\n
Login.c(90): \n
Login.c(90): // Update globals in $state\n
Login.c(90): $state.$current = to;\n
Login.c(90): $state.current = to.self;\n
Login.c(90): $state.params = toParams;\n
Login.c(90): copy($state.params, $stateParams);\n
Login.c(90): $state.transition = null;\n
Login.c(90): \n
Login.c(90): if (options.location && to.navigable) {\n
Login.c(90): $urlRouter.push(to.navigable.url,
to.navigable.locals.globals.$stateParams, {\n
Login.c(90): replace: options.location === 'replace'\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateChangeSuccess\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired once the state transition is **complete**.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {State} toState The state being transitioned
to.\n
Login.c(90): * @param {Object} toParams The params supplied to the
`toState`.\n
Login.c(90): * @param {State} fromState The current state, pre-
transition.\n
Login.c(90): * @param {Object} fromParams The params supplied to the
`fromState`.\n
Login.c(90): */\n
Login.c(90): $rootScope.$broadcast('$stateChangeSuccess', to.self,
toParams, from.self, fromP
Login.c(90): arams);\n
Login.c(90): }\n
Login.c(90): $urlRouter.update(true);\n
Login.c(90): \n
Login.c(90): return $state.current;\n
Login.c(90): }, function (error) {\n
Login.c(90): if ($state.transition !== transition) return
TransitionSuperseded;\n
Login.c(90): \n
Login.c(90): $state.transition = null;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateChangeError\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired when an **error occurs** during transition. It's
important to note that i
Login.c(90): f you\n
Login.c(90): * have any errors in your resolve functions (javascript
errors, non-existent serv
Login.c(90): ices, etc)\n
Login.c(90): * they will not throw traditionally. You must listen for
this $stateChangeError e
Login.c(90): vent to\n
Login.c(90): * catch **ALL** errors.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {State} toState The state being transitioned
to.\n
Login.c(90): * @param {Object} toParams The params supplied to the
`toState`.\n
Login.c(90): * @param {State} fromState The current state, pre-
transition.\n
Login.c(90): * @param {Object} fromParams The params supplied to the
`fromState`.\n
Login.c(90): * @param {Error} error The resolve error object.\n
Login.c(90): */\n
Login.c(90): evt = $rootScope.$broadcast('$stateChangeError', to.self,
toParams, from.self, fro
Login.c(90): mParams, error);\n
Login.c(90): \n
Login.c(90): if (!evt.defaultPrevented) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return $q.reject(error);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return transition;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#is\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Similar to {@link ui.router.state.$state#methods_includes
$state.includes},\n
Login.c(90): * but only checks for the full state name. If params is
supplied then it will be \n
Login.c(90): * tested for strict equality against the current active
params object, so all params
Login.c(90): \n
Login.c(90): * must match with none missing and no extras.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * $state.$current.name = 'contacts.details.item';\n
Login.c(90): *\n
Login.c(90): * // absolute name\n
Login.c(90): * $state.is('contact.details.item'); // returns true\n
Login.c(90): * $state.is(contactDetailItemStateObject); // returns true\n
Login.c(90): *\n
Login.c(90): * // relative name (. and ^), typically from a template\n
Login.c(90): * // E.g. from the 'contacts.details' template\n
Login.c(90): * <div ng-class="{highlighted:
$state.is('.item')}">Item</div>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} stateName The state name (absolute
or relative) or state obj
Login.c(90): ect you'd like to check.\n
Login.c(90): * @param {object=} params A param object, e.g. `{sectionId:
section.id}`, that you'd
Login.c(90): like \n
Login.c(90): * to test against the current active state.\n
Login.c(90): * @returns {boolean} Returns true if it is the state.\n
Login.c(90): */\n
Login.c(90): $state.is = function is(stateOrName, params) {\n
Login.c(90): var state = findState(stateOrName);\n
Login.c(90): \n
Login.c(90): if (!isDefined(state)) {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ($state.$current !== state) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return isDefined(params) && params !== null ?
angular.equals($stateParams, params) :
Login.c(90): true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#includes\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A method to determine if the current active state is equal
to or is the child of th
Login.c(90): e\n
Login.c(90): * state stateName. If any params are passed then they will be
tested for a match as w
Login.c(90): ell.\n
Login.c(90): * Not all the parameters need to be passed, just the ones
you'd like to test for equa
Login.c(90): lity.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Partial and relative names\n
Login.c(90): * <pre>\n
Login.c(90): * $state.$current.name = 'contacts.details.item';\n
Login.c(90): *\n
Login.c(90): * // Using partial names\n
Login.c(90): * $state.includes("contacts"); // returns true\n
Login.c(90): * $state.includes("contacts.details"); // returns true\n
Login.c(90): * $state.includes("contacts.details.item"); // returns true\n
Login.c(90): * $state.includes("contacts.list"); // returns false\n
Login.c(90): * $state.includes("about"); // returns false\n
Login.c(90): *\n
Login.c(90): * // Using relative names (. and ^), typically from a
template\n
Login.c(90): * // E.g. from the 'contacts.details' template\n
Login.c(90): * <div ng-class="{highlighted:
$state.includes('.item')}">Item</div>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * Basic globbing patterns\n
Login.c(90): * <pre>\n
Login.c(90): * $state.$current.name = 'contacts.details.item.url';\n
Login.c(90): *\n
Login.c(90): * $state.includes("*.details.*.*"); // returns true\n
Login.c(90): * $state.includes("*.details.**"); // returns true\n
Login.c(90): * $state.includes("**.item.**"); // returns true\n
Login.c(90): * $state.includes("*.details.item.url"); // returns true\n
Login.c(90): * $state.includes("*.details.*.url"); // returns true\n
Login.c(90): * $state.includes("*.details.*"); // returns false\n
Login.c(90): * $state.includes("item.**"); // returns false\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} stateOrName A partial name, relative name,
or glob pattern\n
Login.c(90): * to be searched for within the current state name.\n
Login.c(90): * @param {object} params A param object, e.g. `{sectionId:
section.id}`,\n
Login.c(90): * that you'd like to test against the current active state.\n
Login.c(90): * @returns {boolean} Returns true if it does include the
state\n
Login.c(90): */\n
Login.c(90): $state.includes = function includes(stateOrName, params) {\n
Login.c(90): if (isString(stateOrName) && isGlob(stateOrName)) {\n
Login.c(90): if (!doesStateMatchGlob(stateOrName)) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): stateOrName = $state.$current.name;\n
Login.c(90): }\n
Login.c(90): var state = findState(stateOrName);\n
Login.c(90): \n
Login.c(90): if (!isDefined(state)) {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): if (!isDefined($state.$current.includes[state.name])) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): return equalForKeys(params, $stateParams);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#href\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A url generation method that returns the compiled url for
the given state populated
Login.c(90): with the given params.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * expect($state.href("about.person", { person:
"bob" })).toEqual("/about/bob");\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} stateOrName The state name or state
object you'd like to gen
Login.c(90): erate a url from.\n
Login.c(90): * @param {object=} params An object of parameter values to
fill the state's required
Login.c(90): parameters.\n
Login.c(90): * @param {object=} options Options object. The options are:\n
Login.c(90): *\n
Login.c(90): * - **`lossy`** - {boolean=true} - If true, and if there is
no url associated with t
Login.c(90): he state provided in the\n
Login.c(90): * first parameter, then the constructed href url will be
built from the first navi
Login.c(90): gable ancestor (aka\n
Login.c(90): * ancestor with a valid url).\n
Login.c(90): * - **`inherit`** - {boolean=true}, If `true` will inherit
url parameters from curren
Login.c(90): t url.\n
Login.c(90): * - **`relative`** - {object=$state.$current}, When
transitioning with relative path
Login.c(90): (e.g '^'), \n
Login.c(90): * defines which state to be relative from.\n
Login.c(90): * - **`absolute`** - {boolean=false}, If true will generate
an absolute url, e.g. "h
Login.c(90): ttp://www.example.com/fullurl".\n
Login.c(90): * \n
Login.c(90): * @returns {string} compiled state url\n
Login.c(90): */\n
Login.c(90): $state.href = function href(stateOrName, params, options) {\n
Login.c(90): options = extend({\n
Login.c(90): lossy: true,\n
Login.c(90): inherit: true,\n
Login.c(90): absolute: false,\n
Login.c(90): relative: $state.$current\n
Login.c(90): }, options || {});\n
Login.c(90): \n
Login.c(90): var state = findState(stateOrName, options.relative);\n
Login.c(90): \n
Login.c(90): if (!isDefined(state)) return null;\n
Login.c(90): if (options.inherit) params = inheritParams($stateParams,
params || {}, $state.$curr
Login.c(90): ent, state);\n
Login.c(90): \n
Login.c(90): var nav = (state && options.lossy) ? state.navigable :
state;\n
Login.c(90): \n
Login.c(90): if (!nav || !nav.url) {\n
Login.c(90): return null;\n
Login.c(90): }\n
Login.c(90): return $urlRouter.href(nav.url,
filterByKeys(objectKeys(state.params), params || {})
Login.c(90): , {\n
Login.c(90): absolute: options.absolute\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#get\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns the state configuration object for any specific
state or all states.\n
Login.c(90): *\n
Login.c(90): * @param {string|Sbject=} stateOrName (absolute or relative)
If provided, will only g
Login.c(90): et the config for\n
Login.c(90): * the requested state. If not provided, returns an array of
ALL state configs.\n
Login.c(90): * @returns {Object|Array} State configuration object or array
of all objects.\n
Login.c(90): */\n
Login.c(90): $state.get = function (stateOrName, context) {\n
Login.c(90): if (arguments.length === 0) return
objectKeys(states).map(function(name) { return st
Login.c(90): ates[name].self; });\n
Login.c(90): var state = findState(stateOrName, context);\n
Login.c(90): return (state && state.self) ? state.self : null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function resolveState(state, params, paramsAreFiltered,
inherited, dst) {\n
Login.c(90): // Make a restricted $stateParams with only the parameters
that apply to this state
Login.c(90): if\n
Login.c(90): // necessary. In addition to being available to the
controller and onEnter/onExit ca
Login.c(90): llbacks,\n
Login.c(90): // w
Login.c(90): t=3747ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): e also need $stateParams to be available for any $injector calls
we make during the\n
Login.c(90): // dependency resolution process.\n
Login.c(90): var $stateParams = (paramsAreFiltered) ? params :
filterByKeys(objectKeys(state.para
Login.c(90): ms), params);\n
Login.c(90): var locals = { $stateParams: $stateParams };\n
Login.c(90): \n
Login.c(90): // Resolve 'global' dependencies for the state, i.e. those
not specific to a view.\n
Login.c(90): // We're also including $stateParams in this; that way the
parameters are restricted
Login.c(90): \n
Login.c(90): // to the set that should be visible to the state, and are
independent of when we up
Login.c(90): date\n
Login.c(90): // the global $state and $stateParams values.\n
Login.c(90): dst.resolve = $resolve.resolve(state.resolve, locals,
dst.resolve, state);\n
Login.c(90): var promises = [dst.resolve.then(function (globals) {\n
Login.c(90): dst.globals = globals;\n
Login.c(90): })];\n
Login.c(90): if (inherited) promises.push(inherited);\n
Login.c(90): \n
Login.c(90): // Resolve template and dependencies for all views.\n
Login.c(90): forEach(state.views, function (view, name) {\n
Login.c(90): var injectables = (view.resolve && view.resolve !==
state.resolve ? view.resolve :
Login.c(90): {});\n
Login.c(90): injectables.$template = [ function () {\n
Login.c(90): return $view.load(name, { view: view, locals: locals,
params: $stateParams }) ||
Login.c(90): '';\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): promises.push($resolve.resolve(injectables, locals,
dst.resolve, state).then(funct
Login.c(90): ion (result) {\n
Login.c(90): // References to the controller (only instantiated at
link time)\n
Login.c(90): if (isFunction(view.controllerProvider) ||
isArray(view.controllerProvider)) {\n
Login.c(90): var injectLocals = angular.extend({}, injectables,
locals);\n
Login.c(90): result.$$controller =
$injector.invoke(view.controllerProvider, null, injectLo
Login.c(90): cals);\n
Login.c(90): } else {\n
Login.c(90): result.$$controller = view.controller;\n
Login.c(90): }\n
Login.c(90): // Provide access to the state itself for internal use\n
Login.c(90): result.$$state = state;\n
Login.c(90): result.$$controllerAs = view.controllerAs;\n
Login.c(90): dst[name] = result;\n
Login.c(90): }));\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Wait for all the promises and then return the activation
object\n
Login.c(90): return $q.all(promises).then(function (values) {\n
Login.c(90): return dst;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return $state;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function shouldTriggerReload(to, from, locals, options) {\n
Login.c(90): if (to === from && ((locals === from.locals && !
options.reload) || (to.self.reloadOnSe
Login.c(90): arch === false))) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state')\n
Login.c(90): .value('$stateParams', {})\n
Login.c(90): .provider('$state', $StateProvider);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): $ViewProvider.$inject = [];\n
Login.c(90): function $ViewProvider() {\n
Login.c(90): \n
Login.c(90): this.$get = $get;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$view\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.util.$templateFactory\n
Login.c(90): * @requires $rootScope\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $get.$inject = ['$rootScope', '$templateFactory'];\n
Login.c(90): function $get( $rootScope, $templateFactory) {\n
Login.c(90): return {\n
Login.c(90): // $view.load('full.viewName', { template: ...,
controller: ..., resolve: ..., async
Login.c(90): : false, params: ... })\n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$view#load\n
Login.c(90): * @methodOf ui.router.state.$view\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * @param {string} name name\n
Login.c(90): * @param {object} options option object.\n
Login.c(90): */\n
Login.c(90): load: function load(name, options) {\n
Login.c(90): var result, defaults = {\n
Login.c(90): template: null, controller: null, view: null, locals:
null, notify: true, async:
Login.c(90): true, params: {}\n
Login.c(90): };\n
Login.c(90): options = extend(defaults, options);\n
Login.c(90): \n
Login.c(90): if (options.view) {\n
Login.c(90): result = $templateFactory.fromConfig(options.view,
options.params, options.local
Login.c(90): s);\n
Login.c(90): }\n
Login.c(90): if (result && options.notify) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$viewContentLoading\n
Login.c(90): * @eventOf ui.router.state.$view\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Fired once the view **begins loading**, *before* the
DOM is rendered.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {Object} viewConfig The view config properties
(template, controller, et
Login.c(90): c).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * $scope.$on('$viewContentLoading',\n
Login.c(90): * function(event, viewConfig){\n
Login.c(90): * // Access to all the view config properties.\n
Login.c(90): * // and one special property 'targetView'\n
Login.c(90): * // viewConfig.targetView\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): $rootScope.$broadcast('$viewContentLoading', options);\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state').provider('$view',
$ViewProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$uiViewScrollProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Provider that returns the {@link ui.router.state.$uiViewScroll}
service function.\n
Login.c(90): */\n
Login.c(90): function $ViewScrollProvider() {\n
Login.c(90): \n
Login.c(90): var useAnchorScroll = false;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$uiViewScrollProvider#useAnchorScroll\n
Login.c(90): * @methodOf ui.router.state.$uiViewScrollProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Reverts back to using the core [`$anchorScroll`]
(http://docs.angularjs.org/api/ng.$an
Login.c(90): chorScroll) service for\n
Login.c(90): * scrolling based on the url anchor.\n
Login.c(90): */\n
Login.c(90): this.useAnchorScroll = function () {\n
Login.c(90): useAnchorScroll = true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$uiViewScroll\n
Login.c(90): *\n
Login.c(90): * @requires $anchorScroll\n
Login.c(90): * @requires $timeout\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * When called with a jqLite element, it scrolls the element
into view (after a\n
Login.c(90): * `$timeout` so the DOM has time to refresh).\n
Login.c(90): *\n
Login.c(90): * If you prefer to rely on `$anchorScroll` to scroll the view
to the anchor,\n
Login.c(90): * this can be enabled by calling {@link ui.router.state.
$uiViewScrollProvider#methods_u
Login.c(90): seAnchorScroll `$uiViewScrollProvider.useAnchorScroll()`}.\n
Login.c(90): */\n
Login.c(90): this.$get = ['$anchorScroll', '$timeout', function
($anchorScroll, $timeout) {\n
Login.c(90): if (useAnchorScroll) {\n
Login.c(90): return $anchorScroll;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return function ($element) {\n
Login.c(90): $timeout(function () {\n
Login.c(90): $element[0].scrollIntoView();\n
Login.c(90): }, 0, false);\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state').provider('$uiViewScroll',
$ViewScrollProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-view\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires $compile\n
Login.c(90): * @requires $controller\n
Login.c(90): * @requires $injector\n
Login.c(90): * @requires ui.router.state.$uiViewScroll\n
Login.c(90): * @requires $document\n
Login.c(90): *\n
Login.c(90): * @restrict ECA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The ui-view directive tells $state where to place your
templates.\n
Login.c(90): *\n
Login.c(90): * @param {string=} ui-view A view name. The name should be unique
amongst the other views
Login.c(90): in the\n
Login.c(90): * same state. You can have views of the same name that live in
different states.\n
Login.c(90): *\n
Login.c(90): * @param {string=} autoscroll It allows you to set the scroll
behavior of the browser win
Login.c(90): dow\n
Login.c(90): * when a view is populated. By default, $anchorScroll is
overridden by ui-router's custom
Login.c(90): scroll\n
Login.c(90): * service, {@link ui.router.state.$uiViewScroll}. This custom
service let's you\n
Login.c(90): * scroll ui-view elements into view when they are populated
during a state activation.\n
Login.c(90): *\n
Login.c(90): * *Note: To revert back to old [`$anchorScroll`]
(http://docs.angularjs.org/api/ng.$anchor
Login.c(90): Scroll)\n
Login.c(90): * functionality, call
`$uiViewScrollProvider.useAnchorScroll()`.*\n
Login.c(90): *\n
Login.c(90): * @param {string=} onload Expression to evaluate whenever the
view updates.\n
Login.c(90): * \n
Login.c(90): * @example\n
Login.c(90): * A view can be unnamed or named. \n
Login.c(90): * <pre>\n
Login.c(90): * <!-- Unnamed -->\n
Login.c(90): * <div ui-view></div> \n
Login.c(90): * \n
Login.c(90): * <!-- Named -->\n
Login.c(90): * <div ui-view="viewName"></div>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * You can only have one unnamed view within any template (or root
html). If you are only
Login.c(90): using a \n
Login.c(90): * single view and it is unnamed then you can populate it like
so:\n
Login.c(90): * <pre>\n
Login.c(90): * <div ui-view></div> \n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * The above is a convenient shortcut equivalent to specifying
your view explicitly with t
Login.c(90): he {@link ui.router.state.$stateProvider#views `views`}\n
Login.c(90): * config property, by name, in this case an empty name:\n
Login.c(90): * <pre>\n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * views: {\n
Login.c(90): * "": {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * }\n
Login.c(90): * } \n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * But typically you'll only use the views property if you name
your view or have more tha
Login.c(90): n one view \n
Login.c(90): * in the same template. There's not really a compelling reason to
name a view if its the
Login.c(90): only one, \n
Login.c(90): * but you could if you wanted, like so:\n
Login.c(90): * <pre>\n
Login.c(90): * <div ui-view="main"></div>\n
Login.c(90): * </pre> \n
Login.c(90): * <pre>\n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * views: {\n
Login.c(90): * "main": {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * }\n
Login.c(90): * } \n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * Really though, you'll use views to set up multiple views:\n
Login.c(90): * <pre>\n
Login.c(90): * <div ui-view></div>\n
Login.c(90): * <div ui-view="chart"></div> \n
Login.c(90): * <div ui-view="data"></div> \n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * <pre>\n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * views: {\n
Login.c(90): * "": {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * },\n
Login.c(90): * "chart": {\n
Login.c(90): * template: "<chart_thing/>"\n
Login.c(90): * },\n
Login.c(90): * "data": {\n
Login.c(90): * template: "<data_thing/>"\n
Login.c(90): * }\n
Login.c(90): * } \n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * Examples for `autoscroll`:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * <!-- If autoscroll present with no expression,\n
Login.c(90): * then scroll ui-view into view -->\n
Login.c(90): * <ui-view autoscroll/>\n
Login.c(90): *\n
Login.c(90): * <!-- If autoscroll present with valid expression,\n
Login.c(90): * then scroll ui-view into view if expression evaluates to
true -->\n
Login.c(90): * <ui-view autoscroll='true'/>\n
Login.c(90): * <ui-view autoscroll='false'/>\n
Login.c(90): * <ui-view autoscroll='scopeVariable'/>\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): $ViewDirective.$inject = ['$state', '$injector',
'$uiViewScroll'];\n
Login.c(90): function $ViewDirective( $state, $injector, $uiViewScroll)
{\n
Login.c(90): \n
Login.c(90): function getService() {\n
Login.c(90): return ($injector.has) ? function(service) {\n
Login.c(90): return $injector.has(service) ? $injector.get(service) :
null;\n
Login.c(90): } : function(service) {\n
Login.c(90): try {\n
Login.c(90): return $injector.get(service);\n
Login.c(90): } catch (e) {\n
Login.c(90): return null;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var service = getService(),\n
Login.c(90): $animator = service('$animator'),\n
Login.c(90): $animate = service('$animate');\n
Login.c(90): \n
Login.c(90): // Returns a set of DOM manipulation functions based on which
Angular version\n
Login.c(90): // it should use\n
Login.c(90): function getRenderer(attrs, scope) {\n
Login.c(90): var statics = function() {\n
Login.c(90): return {\n
Login.c(90): enter: function (element, target, cb)
{ target.after(element); cb(); },\n
Login.c(90): leave: function (element, cb) { element.remove();
cb(); }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if ($animate) {\n
Login.c(90): return {\n
Login.c(90): enter: function(element, target, cb)
{ $animate.enter(element, null, target, cb);
Login.c(90): },\n
Login.c(90): leave: function(element, cb) { $animate.leave(element,
cb); }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ($animator) {\n
Login.c(90): var animate = $animator && $animator(scope, attrs);\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): enter: function(element, target, cb)
{animate.enter(element, null, target); cb();
Login.c(90): },\n
Login.c(90): leave: function(element, cb) { animate.leave(element);
cb(); }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return statics();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var directive = {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): terminal: true,\n
Login.c(90): priority: 400,\n
Login.c(90): transclude: 'element',\n
Login.c(90): compile: function (tElement, tAttrs, $transclude) {\n
Login.c(90): return function (scope, $element, attrs) {\n
Login.c(90): var previousEl, currentEl, currentScope, latestLocals,\n
Login.c(90): onloadExp = attrs.onload || '',\n
Login.c(90): autoScrollExp = attrs.autoscroll,\n
Login.c(90): renderer = getRenderer(attrs, scope);\n
Login.c(90): \n
Login.c(90): scope.$on('$stateChangeSuccess', function() {\n
Login.c(90): updateView(false);\n
Login.c(90): });\n
Login.c(90): scope.$on('$viewContentLoading', function() {\n
Login.c(90): updateView(false);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): updateView(true);\n
Login.c(90): \n
Login.c(90): function cleanupLastView() {\n
Login.c(90): if (previousEl) {\n
Login.c(90): previousEl.remove();\n
Login.c(90): previousEl = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (currentScope) {\n
Login.c(90): currentScope.$destroy();\n
Login.c(90): currentScope = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (currentEl) {\n
Login.c(90): renderer.leave(currentEl, function() {\n
Login.c(90): previousEl = null;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): previousEl = currentEl;\n
Login.c(90): currentEl = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function updateView(firstTime) {\n
Login.c(90): var newScope,\n
Login.c(90): name = getUiViewName(attrs,
$element.inheritedData('$uiView')),\n
Login.c(90): previousLocals = name && $state.$current && $state.
$current.locals[name];\n
Login.c(90): \n
Login.c(90): if (!firstTime && previousLocals === latestLocals)
return; // nothing to do\n
Login.c(90): newScope = scope.$new();\n
Login.c(90): latestLocals = $state.$current.locals[name];\n
Login.c(90): \n
Login.c(90): var clone = $transclude(new
Login.c(90): t=3765ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): Scope, function(clone) {\n
Login.c(90): renderer.enter(clone, $element, function
onUiViewEnter() {\n
Login.c(90): if (angular.isDefined(autoScrollExp) && !
autoScrollExp || scope.$eval(autoSc
Login.c(90): rollExp)) {\n
Login.c(90): $uiViewScroll(clone);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): cleanupLastView();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): currentEl = clone;\n
Login.c(90): currentScope = newScope;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.directive:ui-
view#$viewContentLoaded\n
Login.c(90): * @eventOf ui.router.state.directive:ui-view\n
Login.c(90): * @eventType emits on ui-view directive scope\n
Login.c(90): * @description *\n
Login.c(90): * Fired once the view is **loaded**, *after* the DOM is
rendered.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): */\n
Login.c(90): currentScope.$emit('$viewContentLoaded');\n
Login.c(90): currentScope.$eval(onloadExp);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return directive;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $ViewDirectiveFill.$inject = ['$compile', '$controller',
'$state'];\n
Login.c(90): function $ViewDirectiveFill ($compile, $controller, $state) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): priority: -400,\n
Login.c(90): compile: function (tElement) {\n
Login.c(90): var initial = tElement.html();\n
Login.c(90): return function (scope, $element, attrs) {\n
Login.c(90): var current = $state.$current,\n
Login.c(90): name = getUiViewName(attrs,
$element.inheritedData('$uiView')),\n
Login.c(90): locals = current && current.locals[name];\n
Login.c(90): \n
Login.c(90): if (! locals) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $element.data('$uiView', { name: name, state: locals.$
$state });\n
Login.c(90): $element.html(locals.$template ? locals.$template :
initial);\n
Login.c(90): \n
Login.c(90): var link = $compile($element.contents());\n
Login.c(90): \n
Login.c(90): if (locals.$$controller) {\n
Login.c(90): locals.$scope = scope;\n
Login.c(90): var controller = $controller(locals.$$controller,
locals);\n
Login.c(90): if (locals.$$controllerAs) {\n
Login.c(90): scope[locals.$$controllerAs] = controller;\n
Login.c(90): }\n
Login.c(90): $element.data('$ngControllerController', controller);\n
Login.c(90): $element.children().data('$ngControllerController',
controller);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): link(scope);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Shared ui-view code for both directives:\n
Login.c(90): * Given attributes and inherited $uiView data, return the view's
name\n
Login.c(90): */\n
Login.c(90): function getUiViewName(attrs, inherited) {\n
Login.c(90): var name = attrs.uiView || attrs.name || '';\n
Login.c(90): return name.indexOf('@') >= 0 ? name : (name + '@' +
(inherited ? inherited.state.name
Login.c(90): : ''));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state').directive('uiView',
$ViewDirective);\n
Login.c(90): angular.module('ui.router.state').directive('uiView',
$ViewDirectiveFill);\n
Login.c(90): \n
Login.c(90): function parseStateRef(ref, current) {\n
Login.c(90): var preparsed = ref.match(/^\\s*({[^}]*})\\s*$/), parsed;\n
Login.c(90): if (preparsed) ref = current + '(' + preparsed[1] + ')';\n
Login.c(90): parsed = ref.replace(/\\n/g, " ").match(/^([^(]+?)\\s*(\\
((.*)\\))?$/);\n
Login.c(90): if (!parsed || parsed.length !== 4) throw new Error("Invalid
state ref '" + ref + "'");\n
Login.c(90): return { state: parsed[1], paramExpr: parsed[3] || null };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function stateContext(el) {\n
Login.c(90): var stateData = el.parent().inheritedData('$uiView');\n
Login.c(90): \n
Login.c(90): if (stateData && stateData.state && stateData.state.name) {\n
Login.c(90): return stateData.state;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-sref\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires $timeout\n
Login.c(90): *\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A directive that binds a link (`<a>` tag) to a state. If the
state has an associated \n
Login.c(90): * URL, the directive will automatically generate & update the
`href` attribute via \n
Login.c(90): * the {@link ui.router.state.$state#methods_href $state.href()}
method. Clicking \n
Login.c(90): * the link will trigger a state transition with optional
parameters. \n
Login.c(90): *\n
Login.c(90): * Also middle-clicking, right-clicking, and ctrl-clicking on the
link will be \n
Login.c(90): * handled natively by the browser.\n
Login.c(90): *\n
Login.c(90): * You can also use relative state paths within ui-sref, just like
the relative \n
Login.c(90): * paths passed to `$state.go()`. You just need to be aware that
the path is relative\n
Login.c(90): * to the state that the link lives in, in other words the state
that loaded the \n
Login.c(90): * template containing the link.\n
Login.c(90): *\n
Login.c(90): * You can specify options to pass to {@link ui.router.state.
$state#go $state.go()}\n
Login.c(90): * using the `ui-sref-opts` attribute. Options are restricted to
`location`, `inherit`,\n
Login.c(90): * and `reload`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here's an example of how you'd use ui-sref and how it would
compile. If you have the \n
Login.c(90): * following template:\n
Login.c(90): * <pre>\n
Login.c(90): * <a ui-sref="home">Home</a> | <a ui-sref="about">About</a> | <a
ui-sref="{page: 2}">Next
Login.c(90): page</a>\n
Login.c(90): * \n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a ui-sref="contacts.detail({ id:
contact.id })">{{ contact.name }}</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * Then the compiled html would be (assuming Html5Mode is off and
current state is contact
Login.c(90): s):\n
Login.c(90): * <pre>\n
Login.c(90): * <a href="#/home" ui-sref="home">Home</a> | <a href="#/about"
ui-sref="about">About</a>
Login.c(90): | <a href="#/contacts?page=2" ui-sref="{page: 2}">Next page</a>\n
Login.c(90): * \n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a href="#/contacts/1" ui-sref="contacts.detail({ id:
contact.id })">Joe</a>\n
Login.c(90): * </li>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a href="#/contacts/2" ui-sref="contacts.detail({ id:
contact.id })">Alice</a>\n
Login.c(90): * </li>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a href="#/contacts/3" ui-sref="contacts.detail({ id:
contact.id })">Bob</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): *\n
Login.c(90): * <a ui-sref="home" ui-sref-opts="{reload: true}">Home</a>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} ui-sref 'stateName' can be any valid absolute
or relative state\n
Login.c(90): * @param {Object} ui-sref-opts options to pass to {@link
ui.router.state.$state#go $state
Login.c(90): .go()}\n
Login.c(90): */\n
Login.c(90): $StateRefDirective.$inject = ['$state', '$timeout'];\n
Login.c(90): function $StateRefDirective($state, $timeout) {\n
Login.c(90): var allowedOptions = ['location', 'inherit', 'reload'];\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'A',\n
Login.c(90): require: ['?^uiSrefActive', '?^uiSrefActiveEq'],\n
Login.c(90): link: function(scope, element, attrs, uiSrefActive) {\n
Login.c(90): var ref = parseStateRef(attrs.uiSref,
$state.current.name);\n
Login.c(90): var params = null, url = null, base = stateContext(element)
|| $state.$current;\n
Login.c(90): var isForm = element[0].nodeName === "FORM";\n
Login.c(90): var attr = isForm ? "action" : "href", nav = true;\n
Login.c(90): \n
Login.c(90): var options = { relative: base, inherit: true };\n
Login.c(90): var optionsOverride = scope.$eval(attrs.uiSrefOpts) || {};\n
Login.c(90): \n
Login.c(90): angular.forEach(allowedOptions, function(option) {\n
Login.c(90): if (option in optionsOverride) {\n
Login.c(90): options[option] = optionsOverride[option];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var update = function(newVal) {\n
Login.c(90): if (newVal) params = newVal;\n
Login.c(90): if (!nav) return;\n
Login.c(90): \n
Login.c(90): var newHref = $state.href(ref.state, params, options);\n
Login.c(90): \n
Login.c(90): var activeDirective = uiSrefActive[1] ||
uiSrefActive[0];\n
Login.c(90): if (activeDirective) {\n
Login.c(90): activeDirective.$$setStateInfo(ref.state, params);\n
Login.c(90): }\n
Login.c(90): if (newHref === null) {\n
Login.c(90): nav = false;\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): element[0][attr] = newHref;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (ref.paramExpr) {\n
Login.c(90): scope.$watch(ref.paramExpr, function(newVal, oldVal) {\n
Login.c(90): if (newVal !== params) update(newVal);\n
Login.c(90): }, true);\n
Login.c(90): params = scope.$eval(ref.paramExpr);\n
Login.c(90): }\n
Login.c(90): update();\n
Login.c(90): \n
Login.c(90): if (isForm) return;\n
Login.c(90): \n
Login.c(90): element.bind("click", function(e) {\n
Login.c(90): var button = e.which || e.button;\n
Login.c(90): if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey
|| element.attr('target'
Login.c(90): )) ) {\n
Login.c(90): // HACK: This is to allow ng-clicks to be processed
before the transition is ini
Login.c(90): tiated:\n
Login.c(90): var transition = $timeout(function() {\n
Login.c(90): $state.go(ref.state, params, options);\n
Login.c(90): });\n
Login.c(90): e.preventDefault();\n
Login.c(90): \n
Login.c(90): e.preventDefault = function() {\n
Login.c(90): $timeout.cancel(transition);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-sref-active\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires ui.router.state.$stateParams\n
Login.c(90): * @requires $interpolate\n
Login.c(90): *\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A directive working alongside ui-sref to add classes to an
element when the\n
Login.c(90): * related ui-sref directive's state is active, and removing them
when it is inactive.\n
Login.c(90): * The primary use-case is to simplify the special appearance of
navigation menus\n
Login.c(90): * relying on `ui-sref`, by having the "active" state's menu
button appear different,\n
Login.c(90): * distinguishing it from the inactive menu items.\n
Login.c(90): *\n
Login.c(90): * ui-sref-active can live on the same element as ui-sref or on a
parent element. The firs
Login.c(90): t\n
Login.c(90): * ui-sref-active found at the same level or above the ui-sref
will be used.\n
Login.c(90): *\n
Login.c(90): * Will activate when the ui-sref's target state or any child
state is active. If you\n
Login.c(90): * need to activate only when the ui-sref target state is active
and *not* any of\n
Login.c(90): * it's children, then you will use\n
Login.c(90): * {@link ui.router.state.directive:ui-sref-active-eq ui-sref-
active-eq}\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Given the following template:\n
Login.c(90): * <pre>\n
Login.c(90): * <ul>\n
Login.c(90): * <li ui-sref-active="active" class="item">\n
Login.c(90): * <a href ui-sref="app.user({user:
'bilbobaggins'})">@bilbobaggins</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * When the app state is "app.user" (or any children states), and
contains the state param
Login.c(90): eter "user" with value "bilbobaggins",\n
Login.c(90): * the resulting HTML will appear as (note the 'active' class):\n
Login.c(90): * <pre>\n
Login.c(90): * <ul>\n
Login.c(90): * <li ui-sref-active="active" class="item active">\n
Login.c(90): * <a ui-sref="app.user({user: 'bilbobaggins'})"
href="/users/bilbobaggins">@bilbobagg
Login.c(90): ins</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * The class name is interpolated **once** during the directives
link time (any further ch
Login.c(90): anges to the\n
Login.c(90): * interpolated value are ignored).\n
Login.c(90): *\n
Login.c(90): * Multiple classes may be specified in a space-separated
format:\n
Login.c(90): * <pre>\n
Login.c(90): * <ul>\n
Login.c(90): * <li ui-sref-active='class1 class2 class3'>\n
Login.c(90): * <a ui-sref="app.user">link</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-sref-active-eq\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires ui.router.state.$stateParams\n
Login.c(90): * @requires $interpolate\n
Login.c(90): *\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The same as {@link ui.router.state.directive:ui-sref-active ui-
sref-active} but will wi
Login.c(90): ll only activate\n
Login.c(90): * when the exact target state used in the `ui-sref` is active; no
child states.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $StateRefActiveDirective.$inject = ['$state', '$stateParams',
'$interpolate'];\n
Login.c(90): function $StateRefActiveDirective($state, $stateParams,
$interpolate) {\n
Login.c(90): return {\n
Login.c(90): restrict: "A",\n
Login.c(90): controller: ['$scope', '$element', '$attrs', function ($scope,
$element, $attrs) {\n
Login.c(90): var state, params, activeClass;\n
Login.c(90): \n
Login.c(90): // There probably isn't much point in $observing this\n
Login.c(90): // uiSrefActive and uiSrefActiveEq share the same directive
object with some\n
Login.c(90): // slight difference in logic routing\n
Login.c(90): activeClass = $interpolate($attrs.uiSrefActiveEq ||
$attrs.uiSrefActive || '', false
Login.c(90): )($scope);\n
Login.c(90): \n
Login.c(90): // Allow uiSref to communicate with uiSrefActive[Equals]\n
Login.c(90): this.$$setStateInfo = function (newState, newParams) {\n
Login.c(90): state = $state.get(newState, stateContext($element));\n
Login.c(90): params = newParams;\n
Login.c(90): update();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.$on('$stateChangeSuccess', update);\n
Login.c(90): \n
Login.c(90): // Update route state\n
Login.c(90): function update() {\n
Login.c(90): if (isMatch()) {\n
Login.c(90): $element.addClass(activeClass);\n
Login.c(90): } else {\n
Login.c(90): $element.removeClass(activeClass);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function isMatch() {\n
Login.c(90): if (typeof $attrs.uiSrefActiveEq !== 'undefined') {\n
Login.c(90): return $state.$current.self === state &&
matchesParams();\n
Login.c(90): } else {\n
Login.c(90): return $state.includes(state.name) && matchesParams();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matchesParams() {\n
Login.c(90): return !params || equalForKeys(params, $stateParams);\n
Login.c(90): }\n
Login.c(90): }]\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state')\n
Login.c(90): .directive('uiSref', $StateRefDirective)\n
Login.c(90): .directive('uiSrefActive', $StateRefActiveDirective)\n
Login.c(90): .directive('uiSrefActiveEq', $StateRefActiveDirective);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name ui.router.state.filter:isState\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Translates to {@link ui.router.state.$state#methods_is
$state.is("stateName")}.\n
Login.c(90): */\n
Login.c(90): $IsStateFilter.$inject = ['$state'];\n
Login.c(90): function $IsStateFilter($state) {\n
Login.c(90): return function(state) {\n
Login.c(90): return $state.is(state);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name ui.router.state.filter:includedByState\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @descript
Login.c(90): t=3787ms: 426-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ion\n
Login.c(90): * Translates to {@link ui.router.state.$state#methods_includes
$state.includes('fullOrPar
Login.c(90): tialStateName')}.\n
Login.c(90): */\n
Login.c(90): $IncludedByStateFilter.$inject = ['$state'];\n
Login.c(90): function $IncludedByStateFilter($state) {\n
Login.c(90): return function(state) {\n
Login.c(90): return $state.includes(state);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state')\n
Login.c(90): .filter('isState', $IsStateFilter)\n
Login.c(90): .filter('includedByState', $IncludedByStateFilter);\n
Login.c(90): })(window, window.angular);\n
Login.c(90): t=3794ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"69059-1416253771000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:31 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 69059\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=3794ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): /**\n
Login.c(90): * @author Jason Dobry <jason.dobry@gmail.com>\n
Login.c(90): * @file angular-cache.js\n
Login.c(90): * @version 3.1.1 - Homepage <https://github.com/jmdobry/angular-
cache>\n
Login.c(90): * @copyright (c) 2013-2014 Jason Dobry
<http://www.pseudobry.com>\n
Login.c(90): * @license MIT <https://github.com/jmdobry/angular-
cache/blob/master/LICENSE>\n
Login.c(90): *\n
Login.c(90): * @overview angular-cache is a very useful replacement for
Angular's $cacheFactory.\n
Login.c(90): */\n
Login.c(90): (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var
a=typeof require=="function"&&r
Login.c(90): equire;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new
Error("Cannot find module '"+
Login.c(90): o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e)
{var n=t[o][1][e];return
Login.c(90): s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof
require=="function"&&requi
Login.c(90): re;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:
[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @method bubbleUp\n
Login.c(90): * @param {array} heap The heap.\n
Login.c(90): * @param {function} weightFunc The weight function.\n
Login.c(90): * @param {number} n The index of the element to bubble up.\n
Login.c(90): */\n
Login.c(90): function bubbleUp(heap, weightFunc, n) {\n
Login.c(90): var element = heap[n],\n
Login.c(90): weight = weightFunc(element);\n
Login.c(90): // When at 0, an element can not go up any further.\n
Login.c(90): while (n > 0) {\n
Login.c(90): // Compute the parent element's index, and fetch it.\n
Login.c(90): var parentN = Math.floor((n + 1) / 2) - 1,\n
Login.c(90): parent = heap[parentN];\n
Login.c(90): // If the parent has a lesser weight, things are in order and
we\n
Login.c(90): // are done.\n
Login.c(90): if (weight >= weightFunc(parent)) {\n
Login.c(90): break;\n
Login.c(90): } else {\n
Login.c(90): heap[parentN] = element;\n
Login.c(90): heap[n] = parent;\n
Login.c(90): n = parentN;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method bubbleDown\n
Login.c(90): * @param {array} heap The heap.\n
Login.c(90): * @param {function} weightFunc The weight function.\n
Login.c(90): * @param {number} n The index of the element to sink down.\n
Login.c(90): */\n
Login.c(90): function bubbleDown(heap, weightFunc, n) {\n
Login.c(90): var length = heap.length,\n
Login.c(90): node = heap[n],\n
Login.c(90): nodeWeight = weightFunc(node);\n
Login.c(90): \n
Login.c(90): while (true) {\n
Login.c(90): var child2N = (n + 1) * 2,\n
Login.c(90): child1N = child2N - 1;\n
Login.c(90): var swap = null;\n
Login.c(90): if (child1N < length) {\n
Login.c(90): var child1 = heap[child1N],\n
Login.c(90): child1Weight = weightFunc(child1);\n
Login.c(90): // If the score is less than our node's, we need to swap.\n
Login.c(90): if (child1Weight < nodeWeight) {\n
Login.c(90): swap = child1N;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // Do the same checks for the other child.\n
Login.c(90): if (child2N < length) {\n
Login.c(90): var child2 = heap[child2N],\n
Login.c(90): child2Weight = weightFunc(child2);\n
Login.c(90): if (child2Weight < (swap === null ? nodeWeight :
weightFunc(heap[child1N]))) {\n
Login.c(90): swap = child2N;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (swap === null) {\n
Login.c(90): break;\n
Login.c(90): } else {\n
Login.c(90): heap[n] = heap[swap];\n
Login.c(90): heap[swap] = node;\n
Login.c(90): n = swap;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @class DSBinaryHeap\n
Login.c(90): * @desc DSBinaryHeap implementation of a priority queue.\n
Login.c(90): * @param {function} weightFunc Function that returns the value
that should be used for no
Login.c(90): de value comparison.\n
Login.c(90): * @example\n
Login.c(90): * angular.module('app').controller(function (DSBinaryHeap) {\n
Login.c(90): * var bHeap = new DSBinaryHeap(function (x) {\n
Login.c(90): * return x.value;\n
Login.c(90): * });\n
Login.c(90): * );\n
Login.c(90): */\n
Login.c(90): function DSBinaryHeap(weightFunc) {\n
Login.c(90): if (weightFunc && !angular.isFunction(weightFunc)) {\n
Login.c(90): throw new Error('DSBinaryHeap(weightFunc): weightFunc: must be
a function!');\n
Login.c(90): }\n
Login.c(90): weightFunc = weightFunc || function (x) {\n
Login.c(90): return x;\n
Login.c(90): };\n
Login.c(90): this.weightFunc = weightFunc;\n
Login.c(90): this.heap = [];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.push\n
Login.c(90): * @desc Push an element into the binary heap.\n
Login.c(90): * @param {*} node The element to push into the binary heap.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.push = function (node) {\n
Login.c(90): this.heap.push(node);\n
Login.c(90): bubbleUp(this.heap, this.weightFunc, this.heap.length - 1);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.peek\n
Login.c(90): * @desc Return, but do not remove, the minimum element in the
binary heap.\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.peek = function () {\n
Login.c(90): return this.heap[0];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.pop\n
Login.c(90): * @desc Remove and return the minimum element in the binary
heap.\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.pop = function () {\n
Login.c(90): var front = this.heap[0],\n
Login.c(90): end = this.heap.pop();\n
Login.c(90): if (this.heap.length > 0) {\n
Login.c(90): this.heap[0] = end;\n
Login.c(90): bubbleDown(this.heap, this.weightFunc, 0);\n
Login.c(90): }\n
Login.c(90): return front;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.remove\n
Login.c(90): * @desc Remove the first node in the priority queue that
satisfies angular.equals compari
Login.c(90): son with\n
Login.c(90): * the given node.\n
Login.c(90): * @param {*} node The node to remove.\n
Login.c(90): * @returns {*} The removed node.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.remove = function (node) {\n
Login.c(90): var length = this.heap.length;\n
Login.c(90): for (var i = 0; i < length; i++) {\n
Login.c(90): if (angular.equals(this.heap[i], node)) {\n
Login.c(90): var removed = this.heap[i],\n
Login.c(90): end = this.heap.pop();\n
Login.c(90): if (i !== length - 1) {\n
Login.c(90): this.heap[i] = end;\n
Login.c(90): bubbleUp(this.heap, this.weightFunc, i);\n
Login.c(90): bubbleDown(this.heap, this.weightFunc, i);\n
Login.c(90): }\n
Login.c(90): return removed;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.removeAll\n
Login.c(90): * @desc Remove all nodes from this DSBinaryHeap.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.removeAll = function () {\n
Login.c(90): this.heap = [];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.size\n
Login.c(90): * @desc Return the size of the priority queue.\n
Login.c(90): * @returns {number} The size of the priority queue.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.size = function () {\n
Login.c(90): return this.heap.length;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @desc Provider for the DSBinaryHeap.\n
Login.c(90): */\n
Login.c(90): function DSBinaryHeapProvider() {\n
Login.c(90): this.$get = function () {\n
Login.c(90): return DSBinaryHeap;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = {\n
Login.c(90): DSBinaryHeapProvider: DSBinaryHeapProvider,\n
Login.c(90): DSBinaryHeap: DSBinaryHeap\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],2:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * Destroy this cache and all of its data.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#destroy()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var someCache = DSCacheFactory.get('someCache');\n
Login.c(90): *\n
Login.c(90): * someCache.destroy();\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.get('someCache'); // undefined\n
Login.c(90): * someCache.put('1', 'apple'); // Error\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): module.exports = function destroy() {\n
Login.c(90): clearInterval(this.$$cacheFlushIntervalId);\n
Login.c(90): clearInterval(this.$$recycleFreqId);\n
Login.c(90): this.removeAll();\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): this.$$storage.removeItem(this.$$prefix + '.keys');\n
Login.c(90): this.$$storage.removeItem(this.$$prefix);\n
Login.c(90): }\n
Login.c(90): this.$$storage = null;\n
Login.c(90): this.$$data = null;\n
Login.c(90): this.$$lruHeap = null;\n
Login.c(90): this.$$expiresHeap = null;\n
Login.c(90): this.$$prefix = null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],3:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @description\n
Login.c(90): * Retrieve the item with the given key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#get(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'passive',\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * },\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'passive',\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * },\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1', {\n
Login.c(90): * onExpire: function (key, value) {\n
Login.c(90): * console.log(key, value);\n
Login.c(90): * }\n
Login.c(90): * }); // "apple"\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * // "1" "apple" (printed to console)\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'passive',\n
Login.c(90): * maxAge: 1000,\n
Login.c(90): * onExpire: function (key, value, done) {\n
Login.c(90): * console.log('global hit');\n
Login.c(90): * if (done) {\n
Login.c(90): * done(key, value);\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * },\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1', {\n
Login.c(90): * onExpire: function (key, value) {\n
Login.c(90): * console.log(key, value);\n
Login.c(90): * }\n
Login.c(90): * }); // "apple"\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * // "global hit" (printed to console)\n
Login.c(90): * // "1" "apple" (printed to console)\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key of the item to retrieve.\n
Login.c(90): * @param {object=} options Optional configuration. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{function=}` - `onExpire` - Callback to be used if in
passive `deleteOnExpire` mode
Login.c(90): and the requested item has\n
Login.c(90): * expired. If a global `onExpire` callback exists for this cache,
then it will be called
Login.c(90): with three arguments: `key`,\n
Login.c(90): * `value`, and `done`, where `done` is the `onExpire` callback
passed into the call to `D
Login.c(90): SCache
Login.c(90): t=3809ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): #get(key[, options])`.\n
Login.c(90): * (See the last example above.)\n
Login.c(90): *\n
Login.c(90): * @returns {*} The item with the given key.\n
Login.c(90): */\n
Login.c(90): module.exports = function get(key, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): \n
Login.c(90): if (angular.isArray(key)) {\n
Login.c(90): var keys = key,\n
Login.c(90): values = [];\n
Login.c(90): \n
Login.c(90): angular.forEach(keys, function (key) {\n
Login.c(90): var value = _this.get(key, options);\n
Login.c(90): if (value !== null && value !== undefined) {\n
Login.c(90): values.push(value);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return values;\n
Login.c(90): } else {\n
Login.c(90): key = utils.stringifyNumber(key);\n
Login.c(90): \n
Login.c(90): if (this.$$disabled) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): if (!angular.isString(key)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected key to be a
string! Found: {0}.', typeo
Login.c(90): f key);\n
Login.c(90): } else if (options && !angular.isObject(options)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected options to be
an object! Found: {0}.',
Login.c(90): typeof options);\n
Login.c(90): } else if (options.onExpire && !
angular.isFunction(options.onExpire)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected
options.onExpire to be a function! Foun
Login.c(90): d: {0}.', typeof options.onExpire);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item;\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix + '.data.'
+ key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): item = angular.fromJson(itemJson);\n
Login.c(90): } else {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (!(key in this.$$data)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): item = this.$$data[key];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var value = item.value,\n
Login.c(90): now = new Date().getTime();\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): this.$$lruHeap.remove({\n
Login.c(90): key: key,\n
Login.c(90): accessed: item.accessed\n
Login.c(90): });\n
Login.c(90): item.accessed = now;\n
Login.c(90): this.$$lruHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): accessed: now\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): this.$$lruHeap.remove(item);\n
Login.c(90): item.accessed = now;\n
Login.c(90): this.$$lruHeap.push(item);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.$$deleteOnExpire === 'passive' && 'expires' in item &&
item.expires < now) {\n
Login.c(90): this.remove(key);\n
Login.c(90): \n
Login.c(90): if (this.$$onExpire) {\n
Login.c(90): this.$$onExpire(key, item.value, options.onExpire);\n
Login.c(90): } else if (options.onExpire) {\n
Login.c(90): options.onExpire(key, item.value);\n
Login.c(90): }\n
Login.c(90): value = undefined;\n
Login.c(90): } else if (this.$$storage) {\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.data.' + key,
angular.toJson(item));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],4:[function(require,module,exports){\n
Login.c(90): var defaults = require('../defaults'),\n
Login.c(90): DSBinaryHeap = require('../DSBinaryHeap').DSBinaryHeap;\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * Configure the cache to use webStorage.\n
Login.c(90): */\n
Login.c(90): function _setStorageMode(storageMode, storageImpl) {\n
Login.c(90): if (!angular.isString(storageMode)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageMode to
be a string! Found: {0}.
Login.c(90): ', typeof storageMode);\n
Login.c(90): } else if (storageMode !== 'memory' && storageMode !==
'localStorage' && storageMode !==
Login.c(90): 'sessionStorage') {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageMode to
be "memory", "localStora
Login.c(90): ge" or "sessionStorage"! Found: {0}.', storageMode);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.$$storageMode = storageMode;\n
Login.c(90): \n
Login.c(90): if (storageImpl) {\n
Login.c(90): if (!angular.isObject(storageImpl)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to be an object! Found: {
Login.c(90): 0}.', typeof storageImpl);\n
Login.c(90): } else if (!('setItem' in storageImpl) || typeof
storageImpl.setItem !== 'function') {
Login.c(90): \n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to implement "setItem(key
Login.c(90): , value)"! Found: {0}.', typeof storageImpl.setItem);\n
Login.c(90): } else if (!('getItem' in storageImpl) || typeof
storageImpl.getItem !== 'function') {
Login.c(90): \n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to implement "getItem(key
Login.c(90): )"! Found: {0}.', typeof storageImpl.getItem);\n
Login.c(90): } else if (!('removeItem' in storageImpl) || typeof
storageImpl.removeItem !== 'functi
Login.c(90): on') {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to implement "removeItem(
Login.c(90): key)"! Found: {0}.', typeof storageImpl.removeItem);\n
Login.c(90): }\n
Login.c(90): this.$$storage = storageImpl;\n
Login.c(90): } else if (this.$$storageMode === 'localStorage') {\n
Login.c(90): try {\n
Login.c(90): localStorage.setItem('angular-cache', 'angular-cache');\n
Login.c(90): localStorage.removeItem('angular-cache');\n
Login.c(90): this.$$storage = localStorage;\n
Login.c(90): } catch (e) {\n
Login.c(90): delete this.$$storage;\n
Login.c(90): this.$$storageMode = 'memory';\n
Login.c(90): }\n
Login.c(90): } else if (this.$$storageMode === 'sessionStorage') {\n
Login.c(90): try {\n
Login.c(90): sessionStorage.setItem('angular-cache', 'angular-cache');\n
Login.c(90): sessionStorage.removeItem('angular-cache');\n
Login.c(90): this.$$storage = sessionStorage;\n
Login.c(90): } catch (e) {\n
Login.c(90): delete this.$$storage;\n
Login.c(90): this.$$storageMode = 'memory';\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOptions\n
Login.c(90): * @name setOptions\n
Login.c(90): * @description\n
Login.c(90): * Configure this cache with the given options. With this method
you can configure all of
Login.c(90): this cache's settings at once.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setOptions(cacheOptions[, strict])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * cache.setOptions({\n
Login.c(90): * maxAge: 60000,\n
Login.c(90): * deleteOnExpire: 'aggressive',\n
Login.c(90): * disabled: false\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} cacheOptions New configuration options for the
cache. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{number=}` - `capacity` - Default: `Number.MAX_VALUE`\n
Login.c(90): * - `{number=}` - `maxAge` - Default: `null`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `none`\n
Login.c(90): * - `{function=}` - `onExpire` - Default: `null`\n
Login.c(90): * - `{number=}` - `cacheFlushInterval` - Default: `null`\n
Login.c(90): * - `{number=}` - `recycleFreq` - Default: `1000`\n
Login.c(90): * - `{boolean=}` - `disabled` - Default: `false`\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} strict If true then any existing
configuration will be reset to the d
Login.c(90): efaults before\n
Login.c(90): * applying the new options, otherwise only the options specified
in the options hash will
Login.c(90): be altered.\n
Login.c(90): */\n
Login.c(90): function _setOptions(cacheOptions, strict) {\n
Login.c(90): cacheOptions = cacheOptions || {};\n
Login.c(90): strict = !!strict;\n
Login.c(90): if (!angular.isObject(cacheOptions)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected cacheOptions to
be an object! Found: {0
Login.c(90): }.', typeof cacheOptions);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('disabled' in cacheOptions) {\n
Login.c(90): this.$$disabled = !!cacheOptions.disabled;\n
Login.c(90): } else if (strict) {\n
Login.c(90): delete this.$$disabled;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('capacity' in cacheOptions) {\n
Login.c(90): this.setCapacity(cacheOptions.capacity);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setCapacity(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('deleteOnExpire' in cacheOptions) {\n
Login.c(90): this.setDeleteOnExpire(cacheOptions.deleteOnExpire);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setDeleteOnExpire(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('maxAge' in cacheOptions) {\n
Login.c(90): this.setMaxAge(cacheOptions.maxAge);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setMaxAge(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('recycleFreq' in cacheOptions) {\n
Login.c(90): this.setRecycleFreq(cacheOptions.recycleFreq);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setRecycleFreq(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('cacheFlushInterval' in cacheOptions) {\n
Login.c(90): this.setCacheFlushInterval(cacheOptions.cacheFlushInterval);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setCacheFlushInterval(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('onExpire' in cacheOptions) {\n
Login.c(90): this.setOnExpire(cacheOptions.onExpire);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setOnExpire(null);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSCache\n
Login.c(90): * @name DSCache\n
Login.c(90): * @description\n
Login.c(90): * Instantiated via `DSCacheFactory(cacheId[, options])`.\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId The id of the new cache.\n
Login.c(90): * @param {object=} options Configuration options.\n
Login.c(90): */\n
Login.c(90): function DSCache(cacheId, options) {\n
Login.c(90): \n
Login.c(90): this.$$data = {};\n
Login.c(90): this.$$id = cacheId;\n
Login.c(90): this.$$storage = null;\n
Login.c(90): \n
Login.c(90): this.$$expiresHeap = new DSBinaryHeap(function (x) {\n
Login.c(90): return x.expires;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): this.$$lruHeap = new DSBinaryHeap(function (x) {\n
Login.c(90): return x.accessed;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if ('storageMode' in options) {\n
Login.c(90): _setStorageMode.apply(this, [options.storageMode,
options.storageImpl]);\n
Login.c(90): }\n
Login.c(90): if ('storagePrefix' in options) {\n
Login.c(90): this.$$storagePrefix = options.storagePrefix;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.$$prefix = this.$$storagePrefix + cacheId;\n
Login.c(90): \n
Login.c(90): // Initialize this cache with the default and given options\n
Login.c(90): _setOptions.apply(this, [options, true]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var key in defaults.defaults) {\n
Login.c(90): DSCache.prototype['$$' + key] = defaults.defaults[key];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOptions\n
Login.c(90): * @name setOptions\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setOptions](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setOptions = _setOptions;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCapacity\n
Login.c(90): * @name setCapacity\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setCapacity](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setCapacity = require('./setCapacity');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setDeleteOnExpire\n
Login.c(90): * @name setDeleteOnExpire\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setDeleteOnExpire](/documentation/api/angular-
cache/DSCache.methods:create
Login.c(90): ).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setDeleteOnExpire =
require('./setDeleteOnExpire');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setMaxAge\n
Login.c(90): * @name setMaxAge\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setMaxAge](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setMaxAge = require('./setMaxAge');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setRecycleFreq\n
Login.c(90): * @name setRecycleFreq\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setRecycleFreq](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setRecycleFreq = require('./setRecycleFreq');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCacheFlushInterval\n
Login.c(90): * @name setCacheFlushInterval\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setCacheFlushInterval](/documentation/api/angular-
cache/DSCache.methods:cr
Login.c(90): eate).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setCacheFlushInterval =
require('./setCacheFlushInterval');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOnExpire\n
Login.c(90): * @name setOnExpire\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setOnExpire](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setOnExpire = require('./setOnExpire');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:put\n
Login.c(90): * @name put\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.put](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.put = require('./put');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.get](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.get = require('./get');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:remove\n
Login.c(90): * @name remove\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.remove](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.remove = require('./remove');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeAll\n
Login.c(90): * @name removeAll\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.removeAll](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.removeAll = require('./removeAll');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeExpired\n
Login.c(90): * @name removeExpired\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.removeExpired](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.removeExpired = require('./removeExpired');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.destroy](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.destroy = require('./destroy');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:info\n
Login.c(90): * @name info\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.info](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.info = require('./info');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keySet\n
Login.c(90): * @name keySet\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.keySet](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.keySet = require('./keySet');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keys\n
Login.c(90): * @name keys\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.keys](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.keys = require('./keys');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:disable\n
Login.c(90): * @name disable\n
Login.c(90): * @description\n
Login.c(90): * Disable this cache. Disabling a cache does not remove any data,
it just turns DSCache#g
Login.c(90): et and DSCache#put into noops.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#disable()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory.get('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cach
Login.c(90): t=3832ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): e.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * cache.disable();\n
Login.c(90): * cache.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.put('2', 'banana'); // undefined\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * cache.info().size; // 1\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.disable = function () {\n
Login.c(90): this.$$disabled = true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:enable\n
Login.c(90): * @name enable\n
Login.c(90): * @description\n
Login.c(90): * Enable this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#enable()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * disabled: true\n
Login.c(90): * };\n
Login.c(90): * var cache = DSCacheFactory.get('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): *\n
Login.c(90): * cache.enable();\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.enable = function () {\n
Login.c(90): delete this.$$disabled;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:touch\n
Login.c(90): * @name touch\n
Login.c(90): * @description\n
Login.c(90): * Reset the expiry of a single item or all items in the cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#touch(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * cache.touch('1'); // touch one item\n
Login.c(90): *\n
Login.c(90): * cache.touch(); // touch all items\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string=} key The key of the item to touch.\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.touch = function (key) {\n
Login.c(90): if (key) {\n
Login.c(90): var _this = this;\n
Login.c(90): var val = this.get(key, {\n
Login.c(90): onExpire: function (k, v) {\n
Login.c(90): _this.put(k, v);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (val) {\n
Login.c(90): this.put(key, val);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var keys = this.keys();\n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): this.touch(keys[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): module.exports = DSCache;\n
Login.c(90): \n
Login.c(90): },
{"../DSBinaryHeap":1,"../defaults":19,"./destroy":2,"./get":3,"./info":5,"./keySet"
:6,".
Login.c(90):
/keys":7,"./put":8,"./remove":9,"./removeAll":10,"./removeExpired":11,"./setCacheFl
ushInte
Login.c(90):
rval":12,"./setCapacity":13,"./setDeleteOnExpire":14,"./setMaxAge":15,"./setOnExpir
e":16,"
Login.c(90): ./setRecycleFreq":17}],5:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:info\n
Login.c(90): * @name info\n
Login.c(90): * @description\n
Login.c(90): * Return the status of this cache, or if `key` is provided return
the status of the item
Login.c(90): with that key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#info([key])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.info(); // {\n
Login.c(90): * // id: 'cache',\n
Login.c(90): * // capacity: Number.MAX_VALUE,\n
Login.c(90): * // maxAge: Number.MAX_VALUE,\n
Login.c(90): * // deleteOnExpire: 'none',\n
Login.c(90): * // onExpire: null,\n
Login.c(90): * // cacheFlushInterval: null,\n
Login.c(90): * // recycleFreq: 1000,\n
Login.c(90): * // storageMode: 'memory',\n
Login.c(90): * // storageImpl: null,\n
Login.c(90): * // disabled: false,\n
Login.c(90): * // size: 2\n
Login.c(90): * // }\n
Login.c(90): *\n
Login.c(90): * cache.info('1'); // {\n
Login.c(90): * // created: 1234567890,\n
Login.c(90): * // accessed: 1234567890,\n
Login.c(90): * // expires: Number.MAX_VALUE,\n
Login.c(90): * // isExpired: false\n
Login.c(90): * // }\n
Login.c(90): *\n
Login.c(90): * cache.info('3'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string=} key The key of the item whose status is to be
retrieved.\n
Login.c(90): * @returns {object} The status of this cache or of the item with
the given key.\n
Login.c(90): */\n
Login.c(90): module.exports = function info(key) {\n
Login.c(90): if (key) {\n
Login.c(90): var item;\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix +
'.data.' + key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): item = angular.fromJson(itemJson);\n
Login.c(90): return {\n
Login.c(90): created: item.created,\n
Login.c(90): accessed: item.accessed,\n
Login.c(90): expires: item.expires,\n
Login.c(90): isExpired: (new Date().getTime() - item.created) > this.
$$maxAge\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (key in this.$$data) {\n
Login.c(90): item = this.$$data[key];\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): created: item.created,\n
Login.c(90): accessed: item.accessed,\n
Login.c(90): expires: item.expires,\n
Login.c(90): isExpired: (new Date().getTime() - item.created) > this.
$$maxAge\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return {\n
Login.c(90): id: this.$$id,\n
Login.c(90): capacity: this.$$capacity,\n
Login.c(90): maxAge: this.$$maxAge,\n
Login.c(90): deleteOnExpire: this.$$deleteOnExpire,\n
Login.c(90): onExpire: this.$$onExpire,\n
Login.c(90): cacheFlushInterval: this.$$cacheFlushInterval,\n
Login.c(90): recycleFreq: this.$$recycleFreq,\n
Login.c(90): storageMode: this.$$storageMode,\n
Login.c(90): storageImpl: this.$$storage,\n
Login.c(90): disabled: this.$$disabled,\n
Login.c(90): size: this.$$lruHeap && this.$$lruHeap.size() || 0\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],6:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keySet\n
Login.c(90): * @name keySet\n
Login.c(90): * @description\n
Login.c(90): * Return an object of the keys in this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#keySet()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.keys(); // { "1": "1", "2": "2" }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @returns {object} An object of the keys in this cache.\n
Login.c(90): */\n
Login.c(90): module.exports = function keySet() {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys'),\n
Login.c(90): kSet = {};\n
Login.c(90): \n
Login.c(90): if (keysJson) {\n
Login.c(90): var keys = angular.fromJson(keysJson);\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): kSet[keys[i]] = keys[i];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return kSet;\n
Login.c(90): } else {\n
Login.c(90): return utils.keySet(this.$$data);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],7:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keys\n
Login.c(90): * @name keys\n
Login.c(90): * @description\n
Login.c(90): * Return an array of the keys in this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#keys()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.keys(); // [ "1", "2" ]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @returns {Array} An array of the keys in this cache.\n
Login.c(90): */\n
Login.c(90): module.exports = function keys() {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys');\n
Login.c(90): \n
Login.c(90): if (keysJson) {\n
Login.c(90): return angular.fromJson(keysJson);\n
Login.c(90): } else {\n
Login.c(90): return [];\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return utils.keys(this.$$data);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],8:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:put\n
Login.c(90): * @name put\n
Login.c(90): * @description\n
Login.c(90): * Insert a value into the cache under the given key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#put(key, value)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 3);\n
Login.c(90): * cache.put('3', { stuff: 'more stuff' });\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.get('2'); // 3\n
Login.c(90): * cache.get('3'); // { stuff: 'more stuff' }\n
Login.c(90): * cache.get('4'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `key` must be a string.\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key under which to store the given
value.\n
Login.c(90): * @param {*} value The value to store.\n
Login.c(90): * @returns {*} The newly stored item.\n
Login.c(90): */\n
Login.c(90): module.exports = function put(key, value) {\n
Login.c(90): var _this = this;\n
Login.c(90): if (this.$$disabled || value === null || value === undefined)
{\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if (value && value.then) {\n
Login.c(90): value.then(function (v) {\n
Login.c(90): if (angular.isObject(v) && 'status' in v && 'data' in v) {\n
Login.c(90): _this.put(key, [v.status, v.data, v.headers(),
v.statusText]);\n
Login.c(90): } else {\n
Login.c(90): _this.put(key, v);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): key = utils.stringifyNumber(key);\n
Login.c(90): \n
Login.c(90): if (!angular.isString(key)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected key to be a
string! Found: {0}.', typeo
Login.c(90): f key);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var now = new Date().getTime(),\n
Login.c(90): item = {\n
Login.c(90): key: key,\n
Login.c(90): value: value,\n
Login.c(90): created: now,\n
Login.c(90): accessed: now\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): item.expires = item.created + this.$$maxAge;\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys'),\n
Login.c(90): keys = keysJson ? angular.fromJson(keysJson) : [],\n
Login.c(90): itemJson = this.$$storage.getItem(this.$$prefix + '.data.' +
key);\n
Login.c(90): \n
Login.c(90): // Remove existing\n
Login.c(90): if (itemJson) {\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): // Add to expires heap\n
Login.c(90): this.$$expiresHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): expires: item.expires\n
Login.c(90): });\n
Login.c(90): // Add to lru heap\n
Login.c(90): this.$$lruHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): accessed: item.accessed\n
Login.c(90): });\n
Login.c(90): // Set item\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.data.' + key,
angular.toJson(item));\n
Login.c(90): var exists = false;\n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): if (keys[i] === key) {\n
Login.c(90): exists = true;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (!exists) {\n
Login.c(90): keys.push(key);\n
Login.c(90): }\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.keys',
angular.toJson(keys));\n
Login.c(90): } else {\n
Login.c(90): // Remove existing\n
Login.c(90): if (this.$$data[key]) {\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): // Add to expires heap\n
Login.c(90): this.$$expiresHeap.push(item);\n
Login.c(90): // Add to lru heap\n
Login.c(90): this.$$lruHeap.push(item);\n
Login.c(90): // Set item\n
Login.c(90): this.$$data[key] = item;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Handle exceeded capacity\n
Login.c(90): if (this.$$lruHeap.size() > this.$$capacity) {\n
Login.c(90): this.remove(this.$$lruHeap.peek().key);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],9:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:remove\n
Login.c(90): * @name remove\n
Login.c(90): * @description\n
Login.c(90): * Remove the item with the given key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#remove(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * cache.remove('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key of the item to remove.\n
Login.c(90): * @returns {*} The removed item if an item was removed.\n
Login.c(90): */\n
Login.c(90): module.exports = function remove(key) {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix + '.data.'
+ key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): var item = angular.fromJson(itemJson);\n
Login.c(90): this.$$lruHeap.remove({\n
Login.c(90): key: key,\n
Login.c(90): accessed: item.accessed\n
Login.c(90): });\n
Login.c(90): this.$$expiresHeap.remove({\n
Login.c(90): key: key,\n
Login.c(90): expires: item.expires\n
Login.c(90): });\n
Login.c(90): this.$$storage.removeItem(this.$$prefix + '.data.' + key);\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys'),\n
Login.c(90): keys = keysJson ? angular.fromJson(keysJson) : [],\n
Login.c(90): index = keys.indexOf(key);\n
Login.c(90): \n
Login.c(90): if (index >= 0) {\n
Login.c(90): keys.splice(index, 1);\n
Login.c(90): }\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.keys',
angular.toJson(keys));\n
Login.c(90): return item.value;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var value = this.$$data[key] ? this.$$data[key].value :
undefined;\n
Login.c(90): this.$$lruHeap.remove(this.$$data[key]);\n
Login.c(90): this.$$expiresHeap.remove(this.$$data[key]);\n
Login.c(90): this.$$data[key] = null;\n
Login.c(90): delete this.$$data[key];\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],10:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeAll\n
Login.c(90): * @name removeAll\n
Login.c(90): * @description\n
Login.c(90): * Remove all items from this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#removeAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): * cache.info().size; // 2\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.get('2'); // "banana"\n
Login.c(90): *\n
Login.c(90): * cache.removeAll();\n
Login.c(90): * cache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): module.exports = function removeAll() {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): this.$$lruHeap.removeAll();\n
Login.c(90): this.$$expiresHeap.removeAll();\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys');\n
Login.c(90): \n
Login.c(90): if (keysJson) {\n
Login.c(90): var keys = angular.fromJson(keysJson);\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): this.remove(keys[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.keys',
angular.toJson([]));\n
Login.c(90): } else {\n
Login.c(90): this.$$lruHeap.removeAll();\n
Login.c(90): this.$$expiresHeap.removeAll();\n
Login.c(90): for (var key in this.$$data) {\n
Login.c(90): this.$$data[key] = null;\n
Login.c(90): }\n
Login.c(90): this.$$data = {};\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],11:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeExpired\n
Login.c(90): * @name removeExpired\n
Login.c(90): * @description\n
Login.c(90): * Remove and return all expired items from the cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#removeExpired()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * },\n
Login.c(90): * // deleteOnExpire defaults to
Login.c(90): t=3854ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): "none"\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.put('3', 'orange');\n
Login.c(90): *\n
Login.c(90): * cache.info().size; // 3\n
Login.c(90): * cache.info('1').isExpired; // true\n
Login.c(90): * cache.info('2').isExpired; // true\n
Login.c(90): * cache.info('3').isExpired; // false\n
Login.c(90): *\n
Login.c(90): * cache.removeExpired(); // { "1": "apple", "2":
"banana" }\n
Login.c(90): *\n
Login.c(90): * cache.info().size; // 1\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * cache.info('3').isExpired; // false\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @returns {object} The removed items, if any.\n
Login.c(90): */\n
Login.c(90): module.exports = function removeExpired() {\n
Login.c(90): var now = new Date().getTime(),\n
Login.c(90): expired = {},\n
Login.c(90): key,\n
Login.c(90): expiredItem;\n
Login.c(90): \n
Login.c(90): while ((expiredItem = this.$$expiresHeap.peek()) &&
expiredItem.expires < now) {\n
Login.c(90): expired[expiredItem.key] = expiredItem.value ?
expiredItem.value : null;\n
Login.c(90): this.$$expiresHeap.pop();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): for (key in expired) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix +
'.data.' + key);\n
Login.c(90): if (itemJson) {\n
Login.c(90): expired[key] = angular.fromJson(itemJson).value;\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): for (key in expired) {\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.$$onExpire) {\n
Login.c(90): for (key in expired) {\n
Login.c(90): this.$$onExpire(key, expired[key]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return expired;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],12:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCacheFlushInterval\n
Login.c(90): * @name setCacheFlushInterval\n
Login.c(90): * @description\n
Login.c(90): * Set the `cacheFlushInterval` setting for this cache. If set,
this setting will cause th
Login.c(90): is cache to periodically\n
Login.c(90): * clear itself.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setCacheFlushInterval(cacheFlushInterval)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.info().size; // 2\n
Login.c(90): * cache.setCacheFlushInterval(60000);\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.info().size; // 0\n
Login.c(90): * }, 90000);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `cacheFlushInterval` must be `null` or a number
greater than zero.\n
Login.c(90): *\n
Login.c(90): * @param {number|null} cacheFlushInterval The new
cacheFlushInterval for this cache in mi
Login.c(90): lliseconds. If\n
Login.c(90): * `cacheFlushInterval` is `null` then `cacheFlushInterval` for
this cache will be reset t
Login.c(90): o the default (`null`).\n
Login.c(90): */\n
Login.c(90): module.exports = function
setCacheFlushInterval(cacheFlushInterval) {\n
Login.c(90): if (cacheFlushInterval === null) {\n
Login.c(90): delete this.$$cacheFlushInterval;\n
Login.c(90): } else if (!angular.isNumber(cacheFlushInterval)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected
cacheFlushInterval to be a number! Foun
Login.c(90): d: {0}.', typeof cacheFlushInterval);\n
Login.c(90): } else if (cacheFlushInterval < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected
cacheFlushInterval to be greater than z
Login.c(90): ero! Found: {0}.', cacheFlushInterval);\n
Login.c(90): } else if (cacheFlushInterval !== this.$$cacheFlushInterval) {\n
Login.c(90): this.$$cacheFlushInterval = cacheFlushInterval;\n
Login.c(90): clearInterval(this.$$cacheFlushIntervalId);\n
Login.c(90): (function (_this) {\n
Login.c(90): _this.$$cacheFlushIntervalId = setInterval(function () {\n
Login.c(90): _this.removeAll();\n
Login.c(90): }, _this.$$cacheFlushInterval);\n
Login.c(90): })(this);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],13:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCapacity\n
Login.c(90): * @name setCapacity\n
Login.c(90): * @description\n
Login.c(90): * Set the capacity for this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setCapacity(capacity)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var smallCache = DSCacheFactory('smallCache', { capacity:
2 });\n
Login.c(90): *\n
Login.c(90): * smallCache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * smallCache.put('1', 'apple');\n
Login.c(90): * smallCache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * smallCache.info().size; // 2\n
Login.c(90): *\n
Login.c(90): * // Least-recently used items are removed\n
Login.c(90): * // when the cache's new capacity exceeds\n
Login.c(90): * // its size\n
Login.c(90): * smallCache.setCapacity(1);\n
Login.c(90): *\n
Login.c(90): * smallCache.get('1'); // undefined\n
Login.c(90): * smallCache.info().size; // 1\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `capacity` must be `null` or a number greater than
zero.\n
Login.c(90): *\n
Login.c(90): * @param {number|null} capacity The new capacity for this cache.
If `capacity` is `null`
Login.c(90): then the capacity for this cache\n
Login.c(90): * will be reset to the default (`Number.MAX_VALUE`).\n
Login.c(90): * @returns {object} Key-value pairs of any items removed because
this cache's size exceed
Login.c(90): s the new capacity.\n
Login.c(90): */\n
Login.c(90): module.exports = function setCapacity(capacity) {\n
Login.c(90): if (capacity === null) {\n
Login.c(90): delete this.$$capacity;\n
Login.c(90): } else if (!angular.isNumber(capacity)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected capacity to be
a number! Found: {0}.',
Login.c(90): typeof capacity);\n
Login.c(90): } else if (capacity < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected capacity to be
greater than zero! Found
Login.c(90): : {0}.', capacity);\n
Login.c(90): } else {\n
Login.c(90): this.$$capacity = capacity;\n
Login.c(90): }\n
Login.c(90): var removed = {};\n
Login.c(90): while (this.$$lruHeap.size() > this.$$capacity) {\n
Login.c(90): removed[this.$$lruHeap.peek().key] = this.remove(this.$
$lruHeap.peek().key);\n
Login.c(90): }\n
Login.c(90): return removed;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],14:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setDeleteOnExpire\n
Login.c(90): * @name setDeleteOnExpire\n
Login.c(90): * @description\n
Login.c(90): * Set the behavior for this cache for when items expire. This
setting determines what thi
Login.c(90): s cache will do when one of\n
Login.c(90): * its items expires.\n
Login.c(90): *\n
Login.c(90): * ## Possible Values:\n
Login.c(90): * - `"none"` - Do nothing when items expire.\n
Login.c(90): * - `"passive"` - Do nothing when items expire, but if an expired
item is requested, remo
Login.c(90): ve it from the cache and return `undefined`.\n
Login.c(90): * - `"aggressive"` - Scan for expired items on the interval
specified by the `recycleFreq
Login.c(90): ` setting for this cache (defaults\n
Login.c(90): * to `1000ms`) and actively remove any expired items.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setDeleteOnExpire(deleteOnExpire)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * // Wait a few seconds\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * cache.setDeleteOnExpire('aggressive');\n
Login.c(90): *\n
Login.c(90): * // Wait a few seconds\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `deleteOnExpire` must be `null`, `"none"`,
`"passive"` or `"aggressive"`.\n
Login.c(90): *\n
Login.c(90): * @param {string|null} deleteOnExpire The new deleteOnExpire for
this cache. If `deleteOn
Login.c(90): Expire` is `null` then\n
Login.c(90): * `deleteOnExpire` for this cache will be reset to the default
(`"none"`).\n
Login.c(90): */\n
Login.c(90): module.exports = function setDeleteOnExpire(deleteOnExpire) {\n
Login.c(90): if (deleteOnExpire === null) {\n
Login.c(90): delete this.$$deleteOnExpire;\n
Login.c(90): } else if (!angular.isString(deleteOnExpire)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected deleteOnExpire
to be a string! Found: {
Login.c(90): 0}.', typeof deleteOnExpire);\n
Login.c(90): } else if (deleteOnExpire !== 'none' && deleteOnExpire !==
'passive' && deleteOnExpire !
Login.c(90): == 'aggressive') {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected deleteOnExpire
to be "none", "passive"
Login.c(90): or "aggressive"! Found: {0}.', deleteOnExpire);\n
Login.c(90): } else {\n
Login.c(90): this.$$deleteOnExpire = deleteOnExpire;\n
Login.c(90): }\n
Login.c(90): this.setRecycleFreq(this.$$recycleFreq);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],15:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setMaxAge\n
Login.c(90): * @name setMaxAge\n
Login.c(90): * @description\n
Login.c(90): * Set the `maxAge` setting for this cache. This setting specifies
how long items can be i
Login.c(90): n the cache before they expire.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setMaxAge(maxAge)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache', { deleteOnExpire:
'aggressive' });\n
Login.c(90): *\n
Login.c(90): * // This won't expire for a long time\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * // 'apple' will be removed because it\n
Login.c(90): * // has already been in the cache longer\n
Login.c(90): * // than the new maxAge\n
Login.c(90): * var removed = cache.setMaxAge(1000);\n
Login.c(90): *\n
Login.c(90): * removed; // {\n
Login.c(90): * // '1': 'apple'\n
Login.c(90): * // }\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `maxAge must be `null` or a number greater than
zero.\n
Login.c(90): *\n
Login.c(90): * @param {number} maxAge The new maxAge for this cache in
milliseconds. If `maxAge` is `n
Login.c(90): ull` then `maxAge` for this\n
Login.c(90): * cache will be reset to the default (`Number.MAX_VALUE`);\n
Login.c(90): * @returns {object} Key-value pairs of any items aggressively
removed because they are ex
Login.c(90): pired according to the new\n
Login.c(90): * `maxAge`. Items are only removed if the `deleteOnExpire`
setting for this cache is set
Login.c(90): to `"aggressive"`.\n
Login.c(90): */\n
Login.c(90): module.exports = function setMaxAge(maxAge) {\n
Login.c(90): if (maxAge === null) {\n
Login.c(90): delete this.$$maxAge;\n
Login.c(90): } else if (!angular.isNumber(maxAge)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected maxAge to be a
number! Found: {0}.', ty
Login.c(90): peof maxAge);\n
Login.c(90): } else if (maxAge < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected maxAge to be
greater than zero! Found:
Login.c(90): {0}.', maxAge);\n
Login.c(90): } else {\n
Login.c(90): this.$$maxAge = maxAge;\n
Login.c(90): }\n
Login.c(90): var i, keys, key;\n
Login.c(90): \n
Login.c(90): this.$$expiresHeap.removeAll();\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys');\n
Login.c(90): \n
Login.c(90): keys = keysJson ? angular.fromJson(keysJson) : [];\n
Login.c(90): \n
Login.c(90): for (i = 0; i < keys.length; i++) {\n
Login.c(90): key = keys[i];\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix +
'.data.' + key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): var item = angular.fromJson(itemJson);\n
Login.c(90): if (this.$$maxAge === Number.MAX_VALUE) {\n
Login.c(90): item.expires = Number.MAX_VALUE;\n
Login.c(90): } else {\n
Login.c(90): item.expires = item.created + this.$$maxAge;\n
Login.c(90): }\n
Login.c(90): this.$$expiresHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): expires: item.expires\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): keys = utils.keys(this.$$data);\n
Login.c(90): \n
Login.c(90): for (i = 0; i < keys.length; i++) {\n
Login.c(90): key = keys[i];\n
Login.c(90): if (this.$$maxAge === Number.MAX_VALUE) {\n
Login.c(90): this.$$data[key].expires = Number.MAX_VALUE;\n
Login.c(90): } else {\n
Login.c(90): this.$$data[key].expires = this.$$data[key].created +
this.$$maxAge;\n
Login.c(90): }\n
Login.c(90): this.$$expiresHeap.push(this.$$data[key]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (this.$$deleteOnExpire === 'aggressive') {\n
Login.c(90): return this.removeExpired();\n
Login.c(90): } else {\n
Login.c(90): return {};\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],16:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOnExpire\n
Login.c(90): * @name setOnExpire\n
Login.c(90): * @description\n
Login.c(90): * Set the global `onExpire` callback for this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setOnExpire(onExpire)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * onExpire: function (key, value) {\n
Login.c(90): * window.lastExpiredItem = key;\n
Login.c(90): * },\n
Login.c(90): * maxAge: 1000,\n
Login.c(90): * deleteOnExpire: 'aggressive'\n
Login.c(90): * };\n
Login.c(90): * var cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * window.lastExpiredItem; // '1'\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `cacheFlushInterval` must be `null` or a number
greater than zero.\n
Login.c(90): *\n
Login.c(90): * @param {function|null} onExpire The new onExpire callback for
this cache. If `onExpire`
Login.c(90): is `null` then the onExpire\n
Login.c(90): * callback for this cache will be removed.\n
Login.c(90): */\n
Login.c(90): module.exports = function setOnExpire(onExpire) {\n
Login.c(90): if (onExpire === null) {\n
Login.c(90): delete this.$$onExpire;\n
Login.c(90): } else if (!angular.isFunction(onExpire)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected onExpire to be
a function! Found: {0}.'
Login.c(90): , typeof onExpire);\n
Login.c(90): } else {\n
Login.c(90): this.$$onExpire = onExpire;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],17:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setRecycleFreq\n
Login.c(90): * @name setRecycleFreq\n
Login.c(90): * @description\n
Login.c(90): * Set the `recycleFreq` setting for this cache. This setting
determines how often this ca
Login.c(90): che will scan for expired\n
Login.c(90): * items. The cache will only scan for expired items if the
`deleteOnExpire` setting for t
Login.c(90): his cache is set to\n
Login.c(90): * `"aggressive"`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setRecycleFreq(recycleFreq)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'aggressive',\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * };\n
Login.c(90): * var cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.setRecycleFreq(60000);\n
Login.c(90): *\n
Login.c(90): * // This expires after 1 second, but the cache\n
Login.c(90): * // only checks every 60 seconds now\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * // expired, but won't be removed\n
Login.c(90): * // until the next check\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.info('1').isExpired; // true\n
Login.c(90): * }, 1500);\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `recycleFreq` must be `null` or
Login.c(90): t=3872ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): a number greater than zero.\n
Login.c(90): *\n
Login.c(90): * @param {number} recycleFreq The new recycleFreq for this cache
in milliseconds. If `rec
Login.c(90): ycleFreq` is `null` then\n
Login.c(90): * `recycleFreq` for this cache will be reset to the default
(`1000` milliseconds).\n
Login.c(90): */\n
Login.c(90): module.exports = function setRecycleFreq(recycleFreq) {\n
Login.c(90): if (recycleFreq === null) {\n
Login.c(90): delete this.$$recycleFreq;\n
Login.c(90): } else if (!angular.isNumber(recycleFreq)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected recycleFreq to
be a number! Found: {0}.
Login.c(90): ', typeof recycleFreq);\n
Login.c(90): } else if (recycleFreq < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected recycleFreq to
be greater than zero! Fo
Login.c(90): und: {0}.', recycleFreq);\n
Login.c(90): } else {\n
Login.c(90): this.$$recycleFreq = recycleFreq;\n
Login.c(90): }\n
Login.c(90): clearInterval(this.$$recycleFreqId);\n
Login.c(90): if (this.$$deleteOnExpire === 'aggressive') {\n
Login.c(90): (function (_this) {\n
Login.c(90): _this.$$recycleFreqId = setInterval(function () {\n
Login.c(90): _this.removeExpired();\n
Login.c(90): }, _this.$$recycleFreq);\n
Login.c(90): })(this);\n
Login.c(90): } else {\n
Login.c(90): delete this.$$recycleFreqId;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],18:[function(require,module,exports){\n
Login.c(90): var defaults = require('../defaults'),\n
Login.c(90): DSCache = require('../DSCache'),\n
Login.c(90): version = '3.1.1';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSCacheFactoryProvider\n
Login.c(90): * @name DSCacheFactoryProvider\n
Login.c(90): */\n
Login.c(90): function DSCacheFactoryProvider() {\n
Login.c(90): \n
Login.c(90): var config = new defaults.Config();\n
Login.c(90): \n
Login.c(90): this.version = version;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactoryProvider.methods:setCacheDefaults\n
Login.c(90): * @name setCacheDefaults\n
Login.c(90): * @desc Set the default configuration for all caches created by
$angularCacheFactory.\n
Login.c(90): * @param {object} options Default configuration options for
each new cache.\n
Login.c(90): */\n
Login.c(90): this.setCacheDefaults = function (options) {\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!angular.isObject(options)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected options to be
an object! Found: {0}.'
Login.c(90): , typeof options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var key in defaults.defaults) {\n
Login.c(90): if (key in options) {\n
Login.c(90): config[key] = options[key];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if ('disabled' in options) {\n
Login.c(90): config.$$disabled = !!options.disabled;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = function () {\n
Login.c(90): var caches = {};\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @method _keys\n
Login.c(90): * @desc Returns an array of the keys of the given
collection.\n
Login.c(90): * @param {object} collection The collection from which to get
the keys.\n
Login.c(90): * @returns {array} An array of the keys of the given
collection.\n
Login.c(90): */\n
Login.c(90): function _keys(collection) {\n
Login.c(90): var keys = [], key;\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key)) {\n
Login.c(90): keys.push(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return keys;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function createCache(cacheId, options) {\n
Login.c(90): if (cacheId in caches) {\n
Login.c(90): throw angular.$$minErr('$cacheFactory')('iid', "CacheId
'{0}' is already taken!",
Login.c(90): cacheId);\n
Login.c(90): } else if (!angular.isString(cacheId)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected cacheId to
be a string! Found: {0}.
Login.c(90): ', typeof cacheId);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): caches[cacheId] = new DSCache(cacheId, angular.extend({},
config, options));\n
Login.c(90): caches[cacheId].destroy = function () {\n
Login.c(90): this.constructor.prototype.destroy.call(this);\n
Login.c(90): delete caches[this.$$id];\n
Login.c(90): };\n
Login.c(90): return caches[cacheId];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSCacheFactory\n
Login.c(90): * @name DSCacheFactory\n
Login.c(90): * @description\n
Login.c(90): * Factory function that produces instances of `DSCache`.\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId The id of the new cache.\n
Login.c(90): * @param {object} options Configuration options.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{number=}` - `capacity` - Default: `Number.MAX_VALUE`\n
Login.c(90): * - `{number=}` - `maxAge` - Default: `null`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `none`\n
Login.c(90): * - `{function=}` - `onExpire` - Default: `null`\n
Login.c(90): * - `{number=}` - `cacheFlushInterval` - Default: `null`\n
Login.c(90): * - `{number=}` - `recycleFreq` - Default: `1000`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `null`\n
Login.c(90): * - `{string=}` - `storageMode` - Default: `'none`\n
Login.c(90): * - `{object=}` - `storageImpl` - Default: `null`\n
Login.c(90): * - `{boolean=}` - `disabled` - Default: `false`\n
Login.c(90): * - `{string=}` - `storagePrefix` - Default: `"angular-
cache.caches."`\n
Login.c(90): *\n
Login.c(90): * @returns {DSCache} New instance of DSCache.\n
Login.c(90): */\n
Login.c(90): function DSCacheFactory(cacheId, options) {\n
Login.c(90): return createCache(cacheId, options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:createCache\n
Login.c(90): * @name createCache\n
Login.c(90): * @description\n
Login.c(90): * Factory function that produces instances of `DSCache`.\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId The id of the new cache.\n
Login.c(90): * @param {object} options Configuration options.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{number=}` - `capacity` - Default: `Number.MAX_VALUE`\n
Login.c(90): * - `{number=}` - `maxAge` - Default: `null`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `none`\n
Login.c(90): * - `{function=}` - `onExpire` - Default: `null`\n
Login.c(90): * - `{number=}` - `cacheFlushInterval` - Default: `null`\n
Login.c(90): * - `{number=}` - `recycleFreq` - Default: `1000`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `null`\n
Login.c(90): * - `{string=}` - `storageMode` - Default: `'none`\n
Login.c(90): * - `{object=}` - `storageImpl` - Default: `null`\n
Login.c(90): * - `{boolean=}` - `disabled` - Default: `false`\n
Login.c(90): * - `{string=}` - `storagePrefix` - Default: `"angular-
cache.caches."`\n
Login.c(90): *\n
Login.c(90): * @returns {DSCache} New instance of DSCache.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.createCache = createCache;\n
Login.c(90): \n
Login.c(90): DSCacheFactory.version = version;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:info\n
Login.c(90): * @name info\n
Login.c(90): * @description\n
Login.c(90): * Return the status of `DSCacheFactory`.\n
Login.c(90): * @returns {object} The status of `DSCacheFactory`.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.info = function () {\n
Login.c(90): var keys = _keys(caches);\n
Login.c(90): var info = {\n
Login.c(90): size: keys.length,\n
Login.c(90): caches: {}\n
Login.c(90): };\n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): var key = keys[i];\n
Login.c(90): info.caches[key] = caches[key].info();\n
Login.c(90): }\n
Login.c(90): var c = info.cacheDefaults = angular.extend({}, config);\n
Login.c(90): for (var option in defaults.defaults) {\n
Login.c(90): if (!(option in c)) {\n
Login.c(90): c[option] = config['$$' + option];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return info;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @description\n
Login.c(90): * Return the cache with the given `cacheId`.\n
Login.c(90): * @param {string} cacheId The id of the desired cache.\n
Login.c(90): * @returns {DSCache} The cache with the specified
`cacheId`.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.get = function (cacheId) {\n
Login.c(90): if (!angular.isString(cacheId)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected cacheId to
be a string! Found: {0}.
Login.c(90): ', typeof cacheId);\n
Login.c(90): }\n
Login.c(90): return caches[cacheId];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:keySet\n
Login.c(90): * @name keySet\n
Login.c(90): * @description\n
Login.c(90): * Return an object containing the `cacheId` of each cache.\n
Login.c(90): * @returns {object} An object containing the `cacheId` of
each cache.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.keySet = function () {\n
Login.c(90): var cacheIds = {}, cacheId;\n
Login.c(90): for (cacheId in caches) {\n
Login.c(90): if (caches.hasOwnProperty(cacheId)) {\n
Login.c(90): cacheIds[cacheId] = cacheId;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return cacheIds;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:keys\n
Login.c(90): * @name keys\n
Login.c(90): * @description\n
Login.c(90): * Return an array containing the `cacheId` of each cache.\n
Login.c(90): * @returns {array} An array containing the `cacheId` of each
cache.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.keys = function () {\n
Login.c(90): return _keys(caches);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * Destroy all caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.destroyAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache');\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 0\n
Login.c(90): * otherCache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * newCache.put('1', 'apple');\n
Login.c(90): * newCache.put('2', 'banana');\n
Login.c(90): * otherCache.put('abcd', 'horse');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 2\n
Login.c(90): * otherCache.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.destroyAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // Error thrown\n
Login.c(90): * otherCache.info().size; // Error thrown\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.get('newCache'); // undefined\n
Login.c(90): * DSCacheFactory.get('otherCache'); // undefined\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.destroyAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].destroy();\n
Login.c(90): }\n
Login.c(90): caches = {};\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:clearAll\n
Login.c(90): * @name clearAll\n
Login.c(90): * @description\n
Login.c(90): * Clear the contents of all caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.clearAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache');\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 0\n
Login.c(90): * otherCache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * newCache.put('1', 'apple');\n
Login.c(90): * newCache.put('2', 'banana');\n
Login.c(90): * otherCache.put('abcd', 'horse');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 2\n
Login.c(90): * otherCache.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.clearAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 0\n
Login.c(90): * otherCache.info().size; // 0\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.clearAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].removeAll();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:enableAll\n
Login.c(90): * @name enableAll\n
Login.c(90): * @description\n
Login.c(90): * Enable any disabled caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.enableAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache', { disabled:
true });\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache', { disabled:
true });\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // true\n
Login.c(90): * otherCache.info().disabled; // true\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.enableAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // false\n
Login.c(90): * otherCache.info().disabled; // false\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.enableAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].$$disabled = false;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:disableAll\n
Login.c(90): * @name disableAll\n
Login.c(90): * @description\n
Login.c(90): * Disable all caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.disableAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache');\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache');\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // false\n
Login.c(90): * otherCache.info().disabled; // false\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.disableAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // true\n
Login.c(90): * otherCache.info().disabled; // true\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.disableAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].$$disabled = true;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return DSCacheFactory;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSCacheFactoryProvider;\n
Login.c(90): \n
Login.c(90): },{"../DSCache":4,"../defaults":19}],19:
[function(require,module,exports){\n
Login.c(90): var defaults = {\n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id capacity\n
Login.c(90): * @name capacity\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `Number.MAX_VALUE`\n
Login.c(90): *\n
Login.c(90): * This option limits the capacity of a cache. With a maximum
capacity set, a cache oper
Login.c(90): ates as an LRU cache,\n
Login.c(90): * deleting the least-recently-used item when the cache exceeds
capacity.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setCapacity(capacity)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): capacity: Number.MAX_VALUE,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id maxAge\n
Login.c(90): * @name maxAge\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `Number.MAX_VALUE`\n
Login.c(90): *\n
Login.c(90): * This option determines how long an item is in a cache before
the item expires.. With
Login.c(90): `maxAge` set, items are\n
Login.c(90): * marked as expired when their time in a cache exceeds
`maxAge`. A cache's behavior whe
Login.c(90): n an item expires is\n
Login.c(90): * determined by the [deleteOnExpire]
(/documentation/api/angular-cache/deleteOnE
Login.c(90): t=3890ms: 11231-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): xpire) option.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setMaxAge(maxAge)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): maxAge: Number.MAX_VALUE,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id deleteOnExpire\n
Login.c(90): * @name deleteOnExpire\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"none"`\n
Login.c(90): *\n
Login.c(90): * This option determines how long an item is in a cache before
the item expires.. With
Login.c(90): `maxAge` set, items are\n
Login.c(90): * marked as expired when their time in a cache exceeds
`maxAge`. A cache's behavior whe
Login.c(90): n an item expires is\n
Login.c(90): * determined by the [deleteOnExpire]
(/documentation/api/angular-cache/deleteOnExpire) o
Login.c(90): ption.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be `"none"`,
`"passive"` or `"aggressiv
Login.c(90): e"`.\n
Login.c(90): *\n
Login.c(90): * #### "none"\n
Login.c(90): * A cache will do nothing when its items expire.\n
Login.c(90): *\n
Login.c(90): * #### "passive"\n
Login.c(90): * A cache will do nothing when its items expire. If an expired
item is request it is re
Login.c(90): moved from the cache and\n
Login.c(90): * `undefined` is returned.\n
Login.c(90): *\n
Login.c(90): * #### "aggressive"\n
Login.c(90): * A cache will periodically scan for expired items and actively
remove them from the ca
Login.c(90): che if any are found. The\n
Login.c(90): * frequency of the scan is determined by the [recycleFreq]
(/documentation/api/angular-c
Login.c(90): ache/recycleFreq) option.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setRecycleFreq(recycleFreq)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): deleteOnExpire: 'none',\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id onExpire\n
Login.c(90): * @name onExpire\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"none"`\n
Login.c(90): *\n
Login.c(90): * This option is a callback function which will be executed
whenever an expired item is
Login.c(90): removed from a cache by\n
Login.c(90): * either requesting an expired item while the cache is in
`"passive"` `deleteOnExpire`
Login.c(90): mode, or when an expired\n
Login.c(90): * item is actively removed when the cache is in `"aggressive"`
`deleteOnExpire` mode.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a function.
Will be passed the `key`
Login.c(90): and `value` of the expired\n
Login.c(90): * item. Will be passed a third `done` argument (if in
`"passive"` `deleteOnExpire` mode
Login.c(90): ) which is the `onExpire`\n
Login.c(90): * argument passed to [DSCache#get(key[, options])]
(/documentation/api/angular-cache/DSC
Login.c(90): ache.methods:get).\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setOnExpire(onExpire)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): onExpire: null,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id cacheFlushInterval\n
Login.c(90): * @name cacheFlushInterval\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `null`\n
Login.c(90): *\n
Login.c(90): * This option, if set, will cause a cache to periodically clear
itself of all data.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setCacheFlushInterval(cacheFlushInterval)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): cacheFlushInterval: null,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id recycleFreq\n
Login.c(90): * @name recycleFreq\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `1000`\n
Login.c(90): *\n
Login.c(90): * This option determines how often a cache will scan for
expired items when in `"aggres
Login.c(90): sive"` `deleteOnExpire`\n
Login.c(90): * mode.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setRecycleFreq(recycleFreq)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): recycleFreq: 1000,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id storageMode\n
Login.c(90): * @name storageMode\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"memory"`\n
Login.c(90): *\n
Login.c(90): * This option determines the storage mode for a cache.\n
Login.c(90): *\n
Login.c(90): * #### "memory"\n
Login.c(90): * All data will be held in memory.\n
Login.c(90): *\n
Login.c(90): * #### "localStorage"\n
Login.c(90): * Data will be held in `localStorage`, if available (or\n
Login.c(90): * [storageImpl](/documentation/api/angular-cache/storageImpl)
is provided).\n
Login.c(90): *\n
Login.c(90): * #### "sessionStorage"\n
Login.c(90): * Data will be held in `sessionStorage`, if available (or\n
Login.c(90): * [storageImpl](/documentation/api/angular-cache/storageImpl)
is provided).\n
Login.c(90): *\n
Login.c(90): * This option is NOT dynamically configurable. Must be
`"memory"`, `"localStorage"` or
Login.c(90): `"sessionStorage"`.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): */\n
Login.c(90): storageMode: 'memory',\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id storageImpl\n
Login.c(90): * @name storageImpl\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `null`\n
Login.c(90): *\n
Login.c(90): * This option is available if you want to provide a custom
`localStorage` or `sessionSt
Login.c(90): orage` implementation.\n
Login.c(90): *\n
Login.c(90): * This option is NOT dynamically configurable. Must be an
object that implements `setIt
Login.c(90): em(key, value)`,\n
Login.c(90): * `getItem(key)` and `removeItem(key)`.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): */\n
Login.c(90): storageImpl: null,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id disabled\n
Login.c(90): * @name disabled\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `false`\n
Login.c(90): *\n
Login.c(90): * This option disables or enables cache.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be `true` or
`false`.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): *\n
Login.c(90): * or just use [DSCache#disable()](/documentation/api/angular-
cache/DSCache.methods:disa
Login.c(90): ble) or\n
Login.c(90): * [DSCache#enable()](/documentation/api/angular-
cache/DSCache.methods:enable).\n
Login.c(90): */\n
Login.c(90): disabled: false,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id storagePrefix\n
Login.c(90): * @name storagePrefix\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"angular-cache.caches."`\n
Login.c(90): *\n
Login.c(90): * This option determines the namespace for a cache when
`storageMode` is `"localStorage
Login.c(90): "` or `"sessionStorage"`.\n
Login.c(90): * Setting this value to something like `"ac."` will save space
when using WebStorage.\n
Login.c(90): *\n
Login.c(90): * This option is NOT dynamically configurable. Must be a
string.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): */\n
Login.c(90): storagePrefix: 'angular-cache.caches.'\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function Config() {\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var option in defaults) {\n
Login.c(90): Config.prototype['$$' + option] = defaults[option];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = {\n
Login.c(90): Config: Config,\n
Login.c(90): defaults: defaults\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],20:[function(require,module,exports){\n
Login.c(90): (function (window, angular, undefined) {\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): angular.$$minErr = angular.$$minErr || function minErr(module)
{\n
Login.c(90): return function () {\n
Login.c(90): var code = arguments[0],\n
Login.c(90): prefix = '[' + (module ? module + ':' : '') + code + ']
',\n
Login.c(90): template = arguments[1],\n
Login.c(90): templateArgs = arguments,\n
Login.c(90): stringify = function (obj) {\n
Login.c(90): if (typeof obj === 'function') {\n
Login.c(90): return obj.toString().replace(/ \\{[\\s\\S]*$/, '');\n
Login.c(90): } else if (typeof obj === 'undefined') {\n
Login.c(90): return 'undefined';\n
Login.c(90): } else if (typeof obj !== 'string') {\n
Login.c(90): return JSON.stringify(obj);\n
Login.c(90): }\n
Login.c(90): return obj;\n
Login.c(90): },\n
Login.c(90): message, i;\n
Login.c(90): \n
Login.c(90): message = prefix + template.replace(/\\{\\d+\\}/g, function
(match) {\n
Login.c(90): var index = +match.slice(1, -1), arg;\n
Login.c(90): \n
Login.c(90): if (index + 2 < templateArgs.length) {\n
Login.c(90): arg = templateArgs[index + 2];\n
Login.c(90): if (typeof arg === 'function') {\n
Login.c(90): return arg.toString().replace(/ ?\\{[\\s\\S]*$/,
'');\n
Login.c(90): } else if (typeof arg === 'undefined') {\n
Login.c(90): return 'undefined';\n
Login.c(90): } else if (typeof arg !== 'string') {\n
Login.c(90): return angular.toJson(arg);\n
Login.c(90): }\n
Login.c(90): return arg;\n
Login.c(90): }\n
Login.c(90): return match;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): message = message + '\\nhttp://errors.angularjs.org/' +
angular.version.full + '/' +
Login.c(90): \n
Login.c(90): (module ? module + '/' : '') + code;\n
Login.c(90): for (i = 2; i < arguments.length; i++) {\n
Login.c(90): message = message + (i == 2 ? '?' : '&') + 'p' + (i - 2) +
'=' +\n
Login.c(90): encodeURIComponent(stringify(arguments[i]));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return new Error(message);\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): angular.module('angular-data.DSBinaryHeap', [])\n
Login.c(90): .provider('DSBinaryHeap',
require('./DSBinaryHeap').DSBinaryHeapProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id angular-cache\n
Login.c(90): * @name Overview\n
Login.c(90): * @description\n
Login.c(90): * __Version:__ 3.1.1\n
Login.c(90): *\n
Login.c(90): * ## Install\n
Login.c(90): *\n
Login.c(90): * #### Bower\n
Login.c(90): * ```text\n
Login.c(90): * bower install angular-cache\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-cache.js` or `dist/angular-cache.min.js`
onto your web page after
Login.c(90): Angular.js.\n
Login.c(90): *\n
Login.c(90): * #### Npm\n
Login.c(90): * ```text\n
Login.c(90): * npm install angular-cache\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-cache.js` or `dist/angular-cache.min.js`
onto your web page after
Login.c(90): Angular.js. Angular-cache is\n
Login.c(90): * also consumable by Browserify and you should be able to
`require('angular-cache')`. T
Login.c(90): he `main` file is `src/index.js`.\n
Login.c(90): *\n
Login.c(90): * #### Manual download\n
Login.c(90): * Download angular-cache.3.1.1.js from the [Releases]
(https://github.com/jmdobry/angula
Login.c(90): r-cache/releases)\n
Login.c(90): * section of the angular-cache GitHub project.\n
Login.c(90): *\n
Login.c(90): * ## Load into Angular\n
Login.c(90): * Your Angular app must depend on the module `"angular-
data.DSCacheFactory"` in order t
Login.c(90): o use angular-cache. Loading\n
Login.c(90): * angular-cache into your app allows you to inject the
following:\n
Login.c(90): *\n
Login.c(90): * - `DSCacheFactory`\n
Login.c(90): * - `DSBinaryHeap`\n
Login.c(90): *\n
Login.c(90): * [DSCacheFactory](/documentation/api/api/DSCacheFactory) is a
factory function that pr
Login.c(90): oduces instances of\n
Login.c(90): * [DSCache](/documentation/api/api/DSCache), which is API
compatible with caches produc
Login.c(90): ed by Angular's\n
Login.c(90): * [$cacheFactory](http://docs.angularjs.org/api/ng/service/
$cacheFactory).\n
Login.c(90): *\n
Login.c(90): * [DSBinaryHeap](/documentation/api/api/DSBinaryHeap) is a
priority queue implemented a
Login.c(90): s a Binary Heap.\n
Login.c(90): *\n
Login.c(90): * Angular-cache is a dependency of [angular-data]
(/documentation/api/api/angular-data)
Login.c(90): and must be loaded before\n
Login.c(90): * angular-data if you are using angular-data.\n
Login.c(90): */\n
Login.c(90): angular.module('angular-data.DSCacheFactory', ['ng', 'angular-
data.DSBinaryHeap'])\n
Login.c(90): .provider('DSCacheFactory', require('./DSCacheFactory'));\n
Login.c(90): \n
Login.c(90): })(window, window.angular);\n
Login.c(90): \n
Login.c(90): },{"./DSBinaryHeap":1,"./DSCacheFactory":18}],21:
[function(require,module,exports){\n
Login.c(90): module.exports = {\n
Login.c(90): /*!\n
Login.c(90): * Stringify a number.\n
Login.c(90): */\n
Login.c(90): stringifyNumber: function (number) {\n
Login.c(90): if (number && angular.isNumber(number)) {\n
Login.c(90): return number.toString();\n
Login.c(90): }\n
Login.c(90): return number;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * Return a hash of the keys in the given collection.\n
Login.c(90): */\n
Login.c(90): keySet: function (collection) {\n
Login.c(90): var keySet = {}, key;\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key)) {\n
Login.c(90): keySet[key] = key;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return keySet;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * Return an array of the keys in the given collection\n
Login.c(90): */\n
Login.c(90): keys: function (collection) {\n
Login.c(90): var keys = [], key;\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key)) {\n
Login.c(90): keys.push(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return keys;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}]},{},[20]);\n
Login.c(90): t=3906ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"235682-1416253773000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:33 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 235682\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=3906ms: 8396-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): /**\n
Login.c(90): * @author Jason Dobry <jason.dobry@gmail.com>\n
Login.c(90): * @file angular-data.js\n
Login.c(90): * @version 1.0.0-rc.2-1 - Homepage <http://angular-
data.pseudobry.com/>\n
Login.c(90): * @copyright (c) 2014 Jason Dobry <https://github.com/jmdobry/>\n
Login.c(90): * @license MIT <https://github.com/jmdobry/angular-
data/blob/master/LICENSE>\n
Login.c(90): *\n
Login.c(90): * @overview Data store for Angular.js.\n
Login.c(90): */\n
Login.c(90): (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var
a=typeof require=="function"&&r
Login.c(90): equire;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new
Error("Cannot find module '"+
Login.c(90): o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:
{}};t[o][0].call(l.exports,fu
Login.c(90): nction(e){var n=t[o][1][e];return s(n?
n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i
Login.c(90): =typeof require=="function"&&require;for(var o=0;o<r.length;o+
+)s(r[o]);return s})({1:[fun
Login.c(90): ction(require,module,exports){\n
Login.c(90): // Copyright 2012 Google Inc.\n
Login.c(90): //\n
Login.c(90): // Licensed under the Apache License, Version 2.0 (the
"License");\n
Login.c(90): // you may not use this file except in compliance with the
License.\n
Login.c(90): // You may obtain a copy of the License at\n
Login.c(90): //\n
Login.c(90): // http://www.apache.org/licenses/LICENSE-2.0\n
Login.c(90): //\n
Login.c(90): // Unless required by applicable law or agreed to in writing,
software\n
Login.c(90): // distributed under the License is distributed on an "AS IS"
BASIS,\n
Login.c(90): // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.\n
Login.c(90): // See the License for the specific language governing permissions
and\n
Login.c(90): // limitations under the License.\n
Login.c(90): \n
Login.c(90): // Modifications\n
Login.c(90): // Copyright 2014 Jason Dobry\n
Login.c(90): //\n
Login.c(90): // Summary of modifications:\n
Login.c(90): // Removed all code related to:\n
Login.c(90): // - ArrayObserver\n
Login.c(90): // - ArraySplice\n
Login.c(90): // - PathObserver\n
Login.c(90): // - CompoundObserver\n
Login.c(90): // - Path\n
Login.c(90): // - ObserverTransform\n
Login.c(90): (function(global) {\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): // Detect and do basic sanity checking on
Object/Array.observe.\n
Login.c(90): function detectObjectObserve() {\n
Login.c(90): if (typeof Object.observe !== 'function' ||\n
Login.c(90): typeof Array.observe !== 'function') {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var records = [];\n
Login.c(90): \n
Login.c(90): function callback(recs) {\n
Login.c(90): records = recs;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var test = {};\n
Login.c(90): var arr = [];\n
Login.c(90): Object.observe(test, callback);\n
Login.c(90): Array.observe(arr, callback);\n
Login.c(90): test.id = 1;\n
Login.c(90): test.id = 2;\n
Login.c(90): delete test.id;\n
Login.c(90): arr.push(1, 2);\n
Login.c(90): arr.length = 0;\n
Login.c(90): \n
Login.c(90): Object.deliverChangeRecords(callback);\n
Login.c(90): if (records.length !== 5)\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): if (records[0].type != 'add' ||\n
Login.c(90): records[1].type != 'update' ||\n
Login.c(90): records[2].type != 'delete' ||\n
Login.c(90): records[3].type != 'splice' ||\n
Login.c(90): records[4].type != 'splice') {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): Object.unobserve(test, callback);\n
Login.c(90): Array.unobserve(arr, callback);\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var hasObserve = detectObjectObserve();\n
Login.c(90): \n
Login.c(90): function detectEval() {\n
Login.c(90): // Don't test for eval if we're running in a Chrome App
environment.\n
Login.c(90): // We check for APIs set that only exist in a Chrome App
context.\n
Login.c(90): if (typeof chrome !== 'undefined' && chrome.app &&
chrome.app.runtime) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var f = new Function('', 'return true;');\n
Login.c(90): return f();\n
Login.c(90): } catch (ex) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var hasEval = detectEval();\n
Login.c(90): \n
Login.c(90): var createObject = ('__proto__' in {}) ?\n
Login.c(90): function(obj) { return obj; } :\n
Login.c(90): function(obj) {\n
Login.c(90): var proto = obj.__proto__;\n
Login.c(90): if (!proto)\n
Login.c(90): return obj;\n
Login.c(90): var newObject = Object.create(proto);\n
Login.c(90): Object.getOwnPropertyNames(obj).forEach(function(name) {\n
Login.c(90): Object.defineProperty(newObject, name,\n
Login.c(90): Object.getOwnPropertyDescriptor(obj,
name));\n
Login.c(90): });\n
Login.c(90): return newObject;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var MAX_DIRTY_CHECK_CYCLES = 1000;\n
Login.c(90): \n
Login.c(90): function dirtyCheck(observer) {\n
Login.c(90): var cycles = 0;\n
Login.c(90): while (cycles < MAX_DIRTY_CHECK_CYCLES && observer.check_())
{\n
Login.c(90): cycles++;\n
Login.c(90): }\n
Login.c(90): if (global.testingExposeCycleCount)\n
Login.c(90): global.dirtyCheckCycleCount = cycles;\n
Login.c(90): \n
Login.c(90): return cycles > 0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function objectIsEmpty(object) {\n
Login.c(90): for (var prop in object)\n
Login.c(90): return false;\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function diffIsEmpty(diff) {\n
Login.c(90): return objectIsEmpty(diff.added) &&\n
Login.c(90): objectIsEmpty(diff.removed) &&\n
Login.c(90): objectIsEmpty(diff.changed);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function diffObjectFromOldObject(object, oldObject) {\n
Login.c(90): var added = {};\n
Login.c(90): var removed = {};\n
Login.c(90): var changed = {};\n
Login.c(90): \n
Login.c(90): for (var prop in oldObject) {\n
Login.c(90): var newValue = object[prop];\n
Login.c(90): \n
Login.c(90): if (newValue !== undefined && newValue ===
oldObject[prop])\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (!(prop in object)) {\n
Login.c(90): removed[prop] = undefined;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (newValue !== oldObject[prop])\n
Login.c(90): changed[prop] = newValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var prop in object) {\n
Login.c(90): if (prop in oldObject)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): added[prop] = object[prop];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (Array.isArray(object) && object.length !==
oldObject.length)\n
Login.c(90): changed.length = object.length;\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var eomTasks = [];\n
Login.c(90): function runEOMTasks() {\n
Login.c(90): if (!eomTasks.length)\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < eomTasks.length; i++) {\n
Login.c(90): eomTasks[i]();\n
Login.c(90): }\n
Login.c(90): eomTasks.length = 0;\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var runEOM = hasObserve ? (function(){\n
Login.c(90): var eomObj = { pingPong: true };\n
Login.c(90): var eomRunScheduled = false;\n
Login.c(90): \n
Login.c(90): Object.observe(eomObj, function() {\n
Login.c(90): runEOMTasks();\n
Login.c(90): eomRunScheduled = false;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return function(fn) {\n
Login.c(90): eomTasks.push(fn);\n
Login.c(90): if (!eomRunScheduled) {\n
Login.c(90): eomRunScheduled = true;\n
Login.c(90): eomObj.pingPong = !eomObj.pingPong;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })() :\n
Login.c(90): (function() {\n
Login.c(90): return function(fn) {\n
Login.c(90): eomTasks.push(fn);\n
Login.c(90): };\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): var observedObjectCache = [];\n
Login.c(90): \n
Login.c(90): function newObservedObject() {\n
Login.c(90): var observer;\n
Login.c(90): var object;\n
Login.c(90): var discardRecords = false;\n
Login.c(90): var first = true;\n
Login.c(90): \n
Login.c(90): function callback(records) {\n
Login.c(90): if (observer && observer.state_ === OPENED && !
discardRecords)\n
Login.c(90): observer.check_(records);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): open: function(obs) {\n
Login.c(90): if (observer)\n
Login.c(90): throw Error('ObservedObject in use');\n
Login.c(90): \n
Login.c(90): if (!first)\n
Login.c(90): Object.deliverChangeRecords(callback);\n
Login.c(90): \n
Login.c(90): observer = obs;\n
Login.c(90): first = false;\n
Login.c(90): },\n
Login.c(90): observe: function(obj, arrayObserve) {\n
Login.c(90): object = obj;\n
Login.c(90): if (arrayObserve)\n
Login.c(90): Array.observe(object, callback);\n
Login.c(90): else\n
Login.c(90): Object.observe(object, callback);\n
Login.c(90): },\n
Login.c(90): deliver: function(discard) {\n
Login.c(90): discardRecords = discard;\n
Login.c(90): Object.deliverChangeRecords(callback);\n
Login.c(90): discardRecords = false;\n
Login.c(90): },\n
Login.c(90): close: function() {\n
Login.c(90): observer = undefined;\n
Login.c(90): Object.unobserve(object, callback);\n
Login.c(90): observedObjectCache.push(this);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /*\n
Login.c(90): * The observedSet abstraction is a perf optimization which
reduces the total\n
Login.c(90): * number of Object.observe observations of a set of objects.
The idea is that\n
Login.c(90): * groups of Observers will have some object dependencies in
common and this\n
Login.c(90): * observed set ensures that each object in the transitive
closure of\n
Login.c(90): * dependencies is only observed once. The observedSet acts as a
write barrier\n
Login.c(90): * such that whenever any change comes through, all Observers
are checked for\n
Login.c(90): * changed values.\n
Login.c(90): *\n
Login.c(90): * Note that this optimization is explicitly moving work from
setup-time to\n
Login.c(90): * change-time.\n
Login.c(90): *\n
Login.c(90): * TODO(rafaelw): Implement "garbage collection". In order to
move work off\n
Login.c(90): * the critical path, when Observers are closed, their observed
objects are\n
Login.c(90): * not Object.unobserve(d). As a result, it's possible that if
the observedSet\n
Login.c(90): * is kept open, but some Observers have been closed, it could
cause "leaks"\n
Login.c(90): * (prevent otherwise collectable objects from being collected).
At some\n
Login.c(90): * point, we should implement incremental "gc" which keeps a
list of\n
Login.c(90): * observedSets which may need clean-up and does small amounts
of cleanup on a\n
Login.c(90): * timeout until all is clean.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): function getObservedObject(observer, object, arrayObserve) {\n
Login.c(90): var dir = observedObjectCache.pop() || newObservedObject();\n
Login.c(90): dir.open(observer);\n
Login.c(90): dir.observe(object, arrayObserve);\n
Login.c(90): return dir;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var UNOPENED = 0;\n
Login.c(90): var OPENED = 1;\n
Login.c(90): var CLOSED = 2;\n
Login.c(90): \n
Login.c(90): var nextObserverId = 1;\n
Login.c(90): \n
Login.c(90): function Observer() {\n
Login.c(90): this.state_ = UNOPENED;\n
Login.c(90): this.callback_ = undefined;\n
Login.c(90): this.target_ = undefined; // TODO(rafaelw): Should be
WeakRef\n
Login.c(90): this.directObserver_ = undefined;\n
Login.c(90): this.value_ = undefined;\n
Login.c(90): this.id_ = nextObserverId++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): Observer.prototype = {\n
Login.c(90): open: function(callback, target) {\n
Login.c(90): if (this.state_ != UNOP
Login.c(90): t=3920ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ENED)\n
Login.c(90): throw Error('Observer has already been opened.');\n
Login.c(90): \n
Login.c(90): addToAll(this);\n
Login.c(90): this.callback_ = callback;\n
Login.c(90): this.target_ = target;\n
Login.c(90): this.connect_();\n
Login.c(90): this.state_ = OPENED;\n
Login.c(90): return this.value_;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): close: function() {\n
Login.c(90): if (this.state_ != OPENED)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): removeFromAll(this);\n
Login.c(90): this.disconnect_();\n
Login.c(90): this.value_ = undefined;\n
Login.c(90): this.callback_ = undefined;\n
Login.c(90): this.target_ = undefined;\n
Login.c(90): this.state_ = CLOSED;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): deliver: function() {\n
Login.c(90): if (this.state_ != OPENED)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): dirtyCheck(this);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): report_: function(changes) {\n
Login.c(90): try {\n
Login.c(90): this.callback_.apply(this.target_, changes);\n
Login.c(90): } catch (ex) {\n
Login.c(90): Observer._errorThrownDuringCallback = true;\n
Login.c(90): console.error('Exception caught during observer callback:
' +\n
Login.c(90): (ex.stack || ex));\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): discardChanges: function() {\n
Login.c(90): this.check_(undefined, true);\n
Login.c(90): return this.value_;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var collectObservers = !hasObserve;\n
Login.c(90): var allObservers;\n
Login.c(90): Observer._allObserversCount = 0;\n
Login.c(90): \n
Login.c(90): if (collectObservers) {\n
Login.c(90): allObservers = [];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addToAll(observer) {\n
Login.c(90): Observer._allObserversCount++;\n
Login.c(90): if (!collectObservers)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): allObservers.push(observer);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function removeFromAll(observer) {\n
Login.c(90): Observer._allObserversCount--;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var runningMicrotaskCheckpoint = false;\n
Login.c(90): \n
Login.c(90): var hasDebugForceFullDelivery = hasObserve && hasEval &&
(function() {\n
Login.c(90): try {\n
Login.c(90): eval('%RunMicrotasks()');\n
Login.c(90): return true;\n
Login.c(90): } catch (ex) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): global.Platform = global.Platform || {};\n
Login.c(90): \n
Login.c(90): global.Platform.performMicrotaskCheckpoint = function() {\n
Login.c(90): if (runningMicrotaskCheckpoint)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): if (hasDebugForceFullDelivery) {\n
Login.c(90): eval('%RunMicrotasks()');\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!collectObservers)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): runningMicrotaskCheckpoint = true;\n
Login.c(90): \n
Login.c(90): var cycles = 0;\n
Login.c(90): var anyChanged, toCheck;\n
Login.c(90): \n
Login.c(90): do {\n
Login.c(90): cycles++;\n
Login.c(90): toCheck = allObservers;\n
Login.c(90): allObservers = [];\n
Login.c(90): anyChanged = false;\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < toCheck.length; i++) {\n
Login.c(90): var observer = toCheck[i];\n
Login.c(90): if (observer.state_ != OPENED)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (observer.check_())\n
Login.c(90): anyChanged = true;\n
Login.c(90): \n
Login.c(90): allObservers.push(observer);\n
Login.c(90): }\n
Login.c(90): if (runEOMTasks())\n
Login.c(90): anyChanged = true;\n
Login.c(90): } while (cycles < MAX_DIRTY_CHECK_CYCLES && anyChanged);\n
Login.c(90): \n
Login.c(90): if (global.testingExposeCycleCount)\n
Login.c(90): global.dirtyCheckCycleCount = cycles;\n
Login.c(90): \n
Login.c(90): runningMicrotaskCheckpoint = false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (collectObservers) {\n
Login.c(90): global.Platform.clearObservers = function() {\n
Login.c(90): allObservers = [];\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ObjectObserver(object) {\n
Login.c(90): Observer.call(this);\n
Login.c(90): this.value_ = object;\n
Login.c(90): this.oldObject_ = undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ObjectObserver.prototype = createObject({\n
Login.c(90): __proto__: Observer.prototype,\n
Login.c(90): \n
Login.c(90): arrayObserve: false,\n
Login.c(90): \n
Login.c(90): connect_: function(callback, target) {\n
Login.c(90): if (hasObserve) {\n
Login.c(90): this.directObserver_ = getObservedObject(this,
this.value_,\n
Login.c(90):
this.arrayObserve);\n
Login.c(90): } else {\n
Login.c(90): this.oldObject_ = this.copyObject(this.value_);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): copyObject: function(object) {\n
Login.c(90): var copy = Array.isArray(object) ? [] : {};\n
Login.c(90): for (var prop in object) {\n
Login.c(90): copy[prop] = object[prop];\n
Login.c(90): };\n
Login.c(90): if (Array.isArray(object))\n
Login.c(90): copy.length = object.length;\n
Login.c(90): return copy;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): check_: function(changeRecords, skipChanges) {\n
Login.c(90): var diff;\n
Login.c(90): var oldValues;\n
Login.c(90): if (hasObserve) {\n
Login.c(90): if (!changeRecords)\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): oldValues = {};\n
Login.c(90): diff = diffObjectFromChangeRecords(this.value_,
changeRecords,\n
Login.c(90): oldValues);\n
Login.c(90): } else {\n
Login.c(90): oldValues = this.oldObject_;\n
Login.c(90): diff = diffObjectFromOldObject(this.value_,
this.oldObject_);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (diffIsEmpty(diff))\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): if (!hasObserve)\n
Login.c(90): this.oldObject_ = this.copyObject(this.value_);\n
Login.c(90): \n
Login.c(90): this.report_([\n
Login.c(90): diff.added || {},\n
Login.c(90): diff.removed || {},\n
Login.c(90): diff.changed || {},\n
Login.c(90): function(property) {\n
Login.c(90): return oldValues[property];\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): disconnect_: function() {\n
Login.c(90): if (hasObserve) {\n
Login.c(90): this.directObserver_.close();\n
Login.c(90): this.directObserver_ = undefined;\n
Login.c(90): } else {\n
Login.c(90): this.oldObject_ = undefined;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): deliver: function() {\n
Login.c(90): if (this.state_ != OPENED)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): if (hasObserve)\n
Login.c(90): this.directObserver_.deliver(false);\n
Login.c(90): else\n
Login.c(90): dirtyCheck(this);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): discardChanges: function() {\n
Login.c(90): if (this.directObserver_)\n
Login.c(90): this.directObserver_.deliver(true);\n
Login.c(90): else\n
Login.c(90): this.oldObject_ = this.copyObject(this.value_);\n
Login.c(90): \n
Login.c(90): return this.value_;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var observerSentinel = {};\n
Login.c(90): \n
Login.c(90): var expectedRecordTypes = {\n
Login.c(90): add: true,\n
Login.c(90): update: true,\n
Login.c(90): delete: true\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function diffObjectFromChangeRecords(object, changeRecords,
oldValues) {\n
Login.c(90): var added = {};\n
Login.c(90): var removed = {};\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < changeRecords.length; i++) {\n
Login.c(90): var record = changeRecords[i];\n
Login.c(90): if (!expectedRecordTypes[record.type]) {\n
Login.c(90): console.error('Unknown changeRecord type: ' +
record.type);\n
Login.c(90): console.error(record);\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!(record.name in oldValues))\n
Login.c(90): oldValues[record.name] = record.oldValue;\n
Login.c(90): \n
Login.c(90): if (record.type == 'update')\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (record.type == 'add') {\n
Login.c(90): if (record.name in removed)\n
Login.c(90): delete removed[record.name];\n
Login.c(90): else\n
Login.c(90): added[record.name] = true;\n
Login.c(90): \n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // type = 'delete'\n
Login.c(90): if (record.name in added) {\n
Login.c(90): delete added[record.name];\n
Login.c(90): delete oldValues[record.name];\n
Login.c(90): } else {\n
Login.c(90): removed[record.name] = true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var prop in added)\n
Login.c(90): added[prop] = object[prop];\n
Login.c(90): \n
Login.c(90): for (var prop in removed)\n
Login.c(90): removed[prop] = undefined;\n
Login.c(90): \n
Login.c(90): var changed = {};\n
Login.c(90): for (var prop in oldValues) {\n
Login.c(90): if (prop in added || prop in removed)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): var newValue = object[prop];\n
Login.c(90): if (oldValues[prop] !== newValue)\n
Login.c(90): changed[prop] = newValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): global.Observer = Observer;\n
Login.c(90): global.Observer.runEOM_ = runEOM;\n
Login.c(90): global.Observer.observerSentinel_ = observerSentinel; // for
testing.\n
Login.c(90): global.Observer.hasObjectObserve = hasObserve;\n
Login.c(90): \n
Login.c(90): global.ObjectObserver = ObjectObserver;\n
Login.c(90): })((exports.Number = { isNaN: window.isNaN }) ? exports :
exports);\n
Login.c(90): \n
Login.c(90): },{}],2:[function(require,module,exports){\n
Login.c(90): var indexOf = require('./indexOf');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * If array contains values.\n
Login.c(90): */\n
Login.c(90): function contains(arr, val) {\n
Login.c(90): return indexOf(arr, val) !== -1;\n
Login.c(90): }\n
Login.c(90): module.exports = contains;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./indexOf":5}],3:[function(require,module,exports){\n
Login.c(90): var makeIterator = require('../function/makeIterator_');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Array filter\n
Login.c(90): */\n
Login.c(90): function filter(arr, callback, thisObj) {\n
Login.c(90): callback = makeIterator(callback, thisObj);\n
Login.c(90): var results = [];\n
Login.c(90): if (arr == null) {\n
Login.c(90): return results;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var i = -1, len = arr.length, value;\n
Login.c(90): while (++i < len) {\n
Login.c(90): value = arr[i];\n
Login.c(90): if (callback(value, i, arr)) {\n
Login.c(90): results.push(value);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return results;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = filter;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../function/makeIterator_":12}],4:
[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Array forEach\n
Login.c(90): */\n
Login.c(90): function forEach(arr, callback, thisObj) {\n
Login.c(90): if (arr == null) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): var i = -1,\n
Login.c(90): len = arr.length;\n
Login.c(90): while (++i < len) {\n
Login.c(90): // we iterate over sparse items since there is no way
to make it\n
Login.c(90): // work properly on IE 7-8. see #64\n
Login.c(90): if ( callback.call(thisObj, arr[i], i, arr) ===
false ) {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = forEach;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],5:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Array.indexOf\n
Login.c(90): */\n
Login.c(90): function indexOf(arr, item, fromIndex) {\n
Login.c(90): fromIndex = fromIndex || 0;\n
Login.c(90): if (arr == null) {\n
Login.c(90): return -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var len = arr.length,\n
Login.c(90): i = fromIndex < 0 ? len + fromIndex : fromIndex;\n
Login.c(90): while (i < len) {\n
Login.c(90): // we iterate over sparse items since there is no way
to make it\n
Login.c(90): // work properly on IE 7-8. see #64\n
Login.c(90): if (arr[i] === item) {\n
Login.c(90): return i;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): i++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = indexOf;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],6:[function(require,module,exports){\n
Login.c(90): var filter = require('./filter');\n
Login.c(90): \n
Login.c(90): function isValidString(val) {\n
Login.c(90): return (val != null && val !== '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Joins strings with the specified separator inserted between
each value.\n
Login.c(90): * Null values and empty strings will be excluded.\n
Login.c(90): */\n
Login.c(90): function join(items, separator) {\n
Login.c(90): separator = separator || '';\n
Login.c(90): return filter(items, isValidString).join(separator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = join;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./filter":3}],7:[function(require,module,exports){\n
Login.c(90): var indexOf = require('./indexOf');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Remove a single item from the array.\n
Login.c(90): * (it won't remove duplicates, just a single item)\n
Login.c(90): */\n
Login.c(90): function remove(arr, item){\n
Login.c(90): var idx = indexOf(arr, item);\n
Login.c(90): if (idx !== -1) arr.splice(idx, 1);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = remove;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./indexOf":5}],8:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Create slice of source array or array-like object\n
Login.c(90): */\n
Login.c(90): function slice(arr, start, end){\n
Login.c(90): var len = arr.length;\n
Login.c(90): \n
Login.c(90): if (start == null) {\n
Login.c(90): start = 0;\n
Login.c(90): } else if (start < 0) {\n
Login.c(90): start = Math.max(len + start, 0);\n
Login.c(90): } else {\n
Login.c(90): start = Math.min(start, len);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (end == null) {\n
Login.c(90): end = len;\n
Login.c(90): } else if (end < 0) {\n
Login.c(90): end = Math.max(len + end, 0);\n
Login.c(90): } else {\n
Login.c(90): end = Math.min(end, len);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var result = [];\n
Login.c(90): while (start < end) {\n
Login.c(90): result.push(arr[start++]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = slice;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],9:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Merge sort (http://en.wikipedia.org/wiki/Merge_sort)\n
Login.c(90): */\n
Login.c(90): function mergeSort(arr, compareFn) {\n
Login.c(90): if (arr == null) {\n
Login.c(90): return [];\n
Login.c(90): } else if (arr.length < 2) {\n
Login.c(90): return arr;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (compareFn == null) {\n
Login.c(90): compareFn = defaultCompare;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var mid, left, right;\n
Login.c(90): \n
Login.c(90): mid = ~~(arr.length / 2);\n
Login.c(90): left = mergeSort( arr.slice(0, mid), compareFn );\n
Login.c(90): right = mergeSort( arr.slice(mid, arr.length),
compareFn );\n
Login.c(90): \n
Login.c(90): return merge(left, right, compareFn);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function defaultCompare(a, b) {\n
Login.c(90): return a < b ? -1 : (a > b? 1 : 0);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function merge(left, right, compareFn) {\n
Login.c(90): var result = [];\n
Login.c(90): \n
Login.c(90): while (left.length && right.length) {\n
Login.c(90): if (compareFn(left[0], right[0]) <= 0) {\n
Login.c(90): // if 0 it should preserve same order (stable)\n
Login.c(90): result.push(left.shift());\n
Login.c(90): } else {\n
Login.c(90): result.push(right.shift());\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (left.length) {\n
Login.c(90): result.push.apply(result, left);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (right.length) {\n
Login.c(90): result.push.apply(result, right);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = mergeSort;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],10:[function(require,module,exports){\n
Login.c(90): var isFunction = require('../lang/isFunction');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Creates an object that holds a lookup for the objects in
the array.\n
Login.c(90): */\n
Login.c(90): function toLookup(arr, key) {\n
Login.c(90): var result = {};\n
Login.c(90): if (arr == null) {\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var i = -1, len = arr.length, value;\n
Login.c(90): if (isFunction(key)) {\n
Login.c(90): while (++i < len) {\n
Login.c(90): value = arr[i];\n
Login.c(90): result[key(value)] = value;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): while (++i < len) {\n
Login.c(90): value = arr[i];\n
Login.c(90): result[value[key]] = value;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90):
Login.c(90): t=3941ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): module.exports = toLookup;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isFunction":19}],11:[function(require,module,exports)
{\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns the first argument provided to it.\n
Login.c(90): */\n
Login.c(90): function identity(val){\n
Login.c(90): return val;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = identity;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],12:[function(require,module,exports){\n
Login.c(90): var identity = require('./identity');\n
Login.c(90): var prop = require('./prop');\n
Login.c(90): var deepMatches = require('../object/deepMatches');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Converts argument into a valid iterator.\n
Login.c(90): * Used internally on most array/object/collection methods
that receives a\n
Login.c(90): * callback/iterator providing a shortcut syntax.\n
Login.c(90): */\n
Login.c(90): function makeIterator(src, thisObj){\n
Login.c(90): if (src == null) {\n
Login.c(90): return identity;\n
Login.c(90): }\n
Login.c(90): switch(typeof src) {\n
Login.c(90): case 'function':\n
Login.c(90): // function is the first to improve perf (most
common case)\n
Login.c(90): // also avoid using `Function#call` if not needed,
which boosts\n
Login.c(90): // perf a lot in some cases\n
Login.c(90): return (typeof thisObj !== 'undefined')?
function(val, i, arr){\n
Login.c(90): return src.call(thisObj, val, i, arr);\n
Login.c(90): } : src;\n
Login.c(90): case 'object':\n
Login.c(90): return function(val){\n
Login.c(90): return deepMatches(val, src);\n
Login.c(90): };\n
Login.c(90): case 'string':\n
Login.c(90): case 'number':\n
Login.c(90): return prop(src);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = makeIterator;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../object/deepMatches":27,"./identity":11,"./prop":13}],13:
[function(require,module,ex
Login.c(90): ports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a function that gets a property of the passed
object\n
Login.c(90): */\n
Login.c(90): function prop(name){\n
Login.c(90): return function(obj){\n
Login.c(90): return obj[name];\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = prop;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],14:[function(require,module,exports){\n
Login.c(90): var kindOf = require('./kindOf');\n
Login.c(90): var isPlainObject = require('./isPlainObject');\n
Login.c(90): var mixIn = require('../object/mixIn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Clone native types.\n
Login.c(90): */\n
Login.c(90): function clone(val){\n
Login.c(90): switch (kindOf(val)) {\n
Login.c(90): case 'Object':\n
Login.c(90): return cloneObject(val);\n
Login.c(90): case 'Array':\n
Login.c(90): return cloneArray(val);\n
Login.c(90): case 'RegExp':\n
Login.c(90): return cloneRegExp(val);\n
Login.c(90): case 'Date':\n
Login.c(90): return cloneDate(val);\n
Login.c(90): default:\n
Login.c(90): return val;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneObject(source) {\n
Login.c(90): if (isPlainObject(source)) {\n
Login.c(90): return mixIn({}, source);\n
Login.c(90): } else {\n
Login.c(90): return source;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneRegExp(r) {\n
Login.c(90): var flags = '';\n
Login.c(90): flags += r.multiline ? 'm' : '';\n
Login.c(90): flags += r.global ? 'g' : '';\n
Login.c(90): flags += r.ignorecase ? 'i' : '';\n
Login.c(90): return new RegExp(r.source, flags);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneDate(date) {\n
Login.c(90): return new Date(+date);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneArray(arr) {\n
Login.c(90): return arr.slice();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = clone;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../object/mixIn":34,"./isPlainObject":22,"./kindOf":23}],15:
[function(require,module,e
Login.c(90): xports){\n
Login.c(90): var clone = require('./clone');\n
Login.c(90): var forOwn = require('../object/forOwn');\n
Login.c(90): var kindOf = require('./kindOf');\n
Login.c(90): var isPlainObject = require('./isPlainObject');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Recursively clone native types.\n
Login.c(90): */\n
Login.c(90): function deepClone(val, instanceClone) {\n
Login.c(90): switch ( kindOf(val) ) {\n
Login.c(90): case 'Object':\n
Login.c(90): return cloneObject(val, instanceClone);\n
Login.c(90): case 'Array':\n
Login.c(90): return cloneArray(val, instanceClone);\n
Login.c(90): default:\n
Login.c(90): return clone(val);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneObject(source, instanceClone) {\n
Login.c(90): if (isPlainObject(source)) {\n
Login.c(90): var out = {};\n
Login.c(90): forOwn(source, function(val, key) {\n
Login.c(90): this[key] = deepClone(val, instanceClone);\n
Login.c(90): }, out);\n
Login.c(90): return out;\n
Login.c(90): } else if (instanceClone) {\n
Login.c(90): return instanceClone(source);\n
Login.c(90): } else {\n
Login.c(90): return source;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneArray(arr, instanceClone) {\n
Login.c(90): var out = [],\n
Login.c(90): i = -1,\n
Login.c(90): n = arr.length,\n
Login.c(90): val;\n
Login.c(90): while (++i < n) {\n
Login.c(90): out[i] = deepClone(arr[i], instanceClone);\n
Login.c(90): }\n
Login.c(90): return out;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = deepClone;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../object/forOwn":30,"./clone":14,"./isPlainObject":22,"./kindOf":23}],16:
[function(re
Login.c(90): quire,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): var isArray = Array.isArray || function (val) {\n
Login.c(90): return isKind(val, 'Array');\n
Login.c(90): };\n
Login.c(90): module.exports = isArray;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],17:[function(require,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): function isBoolean(val) {\n
Login.c(90): return isKind(val, 'Boolean');\n
Login.c(90): }\n
Login.c(90): module.exports = isBoolean;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],18:[function(require,module,exports){\n
Login.c(90): var forOwn = require('../object/forOwn');\n
Login.c(90): var isArray = require('./isArray');\n
Login.c(90): \n
Login.c(90): function isEmpty(val){\n
Login.c(90): if (val == null) {\n
Login.c(90): // typeof null == 'object' so we check it first\n
Login.c(90): return true;\n
Login.c(90): } else if ( typeof val === 'string' || isArray(val) ) {\n
Login.c(90): return !val.length;\n
Login.c(90): } else if ( typeof val === 'object' ) {\n
Login.c(90): var result = true;\n
Login.c(90): forOwn(val, function(){\n
Login.c(90): result = false;\n
Login.c(90): return false; // break loop\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): } else {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = isEmpty;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../object/forOwn":30,"./isArray":16}],19:
[function(require,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): function isFunction(val) {\n
Login.c(90): return isKind(val, 'Function');\n
Login.c(90): }\n
Login.c(90): module.exports = isFunction;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],20:[function(require,module,exports){\n
Login.c(90): var kindOf = require('./kindOf');\n
Login.c(90): /**\n
Login.c(90): * Check if value is from a specific "kind".\n
Login.c(90): */\n
Login.c(90): function isKind(val, kind){\n
Login.c(90): return kindOf(val) === kind;\n
Login.c(90): }\n
Login.c(90): module.exports = isKind;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./kindOf":23}],21:[function(require,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): function isObject(val) {\n
Login.c(90): return isKind(val, 'Object');\n
Login.c(90): }\n
Login.c(90): module.exports = isObject;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],22:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Checks if the value is created by the `Object`
constructor.\n
Login.c(90): */\n
Login.c(90): function isPlainObject(value) {\n
Login.c(90): return (!!value && typeof value === 'object' &&\n
Login.c(90): value.constructor === Object);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = isPlainObject;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],23:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var _rKind = /^\\[object (.*)\\]$/,\n
Login.c(90): _toString = Object.prototype.toString,\n
Login.c(90): UNDEF;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Gets the "kind" of value. (e.g. "String", "Number", etc)\n
Login.c(90): */\n
Login.c(90): function kindOf(val) {\n
Login.c(90): if (val === null) {\n
Login.c(90): return 'Null';\n
Login.c(90): } else if (val === UNDEF) {\n
Login.c(90): return 'Undefined';\n
Login.c(90): } else {\n
Login.c(90): return _rKind.exec( _toString.call(val) )[1];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): module.exports = kindOf;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],24:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Typecast a value to a String, using an empty string value
for null or\n
Login.c(90): * undefined.\n
Login.c(90): */\n
Login.c(90): function toString(val){\n
Login.c(90): return val == null ? '' : val.toString();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = toString;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],25:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @constant Maximum 32-bit signed integer value. (2^31 - 1)\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): module.exports = 2147483647;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],26:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @constant Minimum 32-bit signed integer value (-2^31).\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): module.exports = -2147483648;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],27:[function(require,module,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): var isArray = require('../lang/isArray');\n
Login.c(90): \n
Login.c(90): function containsMatch(array, pattern) {\n
Login.c(90): var i = -1, length = array.length;\n
Login.c(90): while (++i < length) {\n
Login.c(90): if (deepMatches(array[i], pattern)) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matchArray(target, pattern) {\n
Login.c(90): var i = -1, patternLength = pattern.length;\n
Login.c(90): while (++i < patternLength) {\n
Login.c(90): if (!containsMatch(target, pattern[i])) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matchObject(target, pattern) {\n
Login.c(90): var result = true;\n
Login.c(90): forOwn(pattern, function(val, key) {\n
Login.c(90): if (!deepMatches(target[key], val)) {\n
Login.c(90): // Return false to break out of forOwn early\n
Login.c(90): return (result = false);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Recursively check if the objects match.\n
Login.c(90): */\n
Login.c(90): function deepMatches(target, pattern){\n
Login.c(90): if (target && typeof target === 'object') {\n
Login.c(90): if (isArray(target) && isArray(pattern)) {\n
Login.c(90): return matchArray(target, pattern);\n
Login.c(90): } else {\n
Login.c(90): return matchObject(target, pattern);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return target === pattern;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = deepMatches;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isArray":16,"./forOwn":30}],28:
[function(require,module,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): var isPlainObject = require('../lang/isPlainObject');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Mixes objects into the target object, recursively mixing
existing child\n
Login.c(90): * objects.\n
Login.c(90): */\n
Login.c(90): function deepMixIn(target, objects) {\n
Login.c(90): var i = 0,\n
Login.c(90): n = arguments.length,\n
Login.c(90): obj;\n
Login.c(90): \n
Login.c(90): while(++i < n){\n
Login.c(90): obj = arguments[i];\n
Login.c(90): if (obj) {\n
Login.c(90): forOwn(obj, copyProp, target);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return target;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function copyProp(val, key) {\n
Login.c(90): var existing = this[key];\n
Login.c(90): if (isPlainObject(val) && isPlainObject(existing)) {\n
Login.c(90): deepMixIn(existing, val);\n
Login.c(90): } else {\n
Login.c(90): this[key] = val;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = deepMixIn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isPlainObject":22,"./forOwn":30}],29:
[function(require,module,exports){\n
Login.c(90): var hasOwn = require('./hasOwn');\n
Login.c(90): \n
Login.c(90): var _hasDontEnumBug,\n
Login.c(90): _dontEnums;\n
Login.c(90): \n
Login.c(90): function checkDontEnum(){\n
Login.c(90): _dontEnums = [\n
Login.c(90): 'toString',\n
Login.c(90): 'toLocaleString',\n
Login.c(90): 'valueOf',\n
Login.c(90): 'hasOwnProperty',\n
Login.c(90): 'isPrototypeOf',\n
Login.c(90): 'propertyIsEnumerable',\n
Login.c(90): 'constructor'\n
Login.c(90): ];\n
Login.c(90): \n
Login.c(90): _hasDontEnumBug = true;\n
Login.c(90): \n
Login.c(90): for (var key in {'toString': null}) {\n
Login.c(90): _hasDontEnumBug = false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Similar to Array/forEach but works over object properties
and fixes Don't\n
Login.c(90): * Enum bug on IE.\n
Login.c(90): * based on: http://whattheheadsaid.com/2010/10/a-safer-
object-keys-compatibility-impl
Login.c(90): ementation\n
Login.c(90): */\n
Login.c(90): function forIn(obj, fn, thisObj){\n
Login.c(90): var key, i = 0;\n
Login.c(90): // no need to check if argument is a real object that way
we can use\n
Login.c(90): // it for arrays, functions, date, etc.\n
Login.c(90): \n
Login.c(90): //post-pone check till needed\n
Login.c(90): if (_hasDontEnumBug == null) checkDontEnum();\n
Login.c(90): \n
Login.c(90): for (key in obj) {\n
Login.c(90): if (exec(fn, obj, key, thisObj) === false) {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (_hasDontEnumBug) {\n
Login.c(90): var ctor = obj.constructor,\n
Login.c(90): isProto = !!ctor && obj === ctor.prototype;\n
Login.c(90): \n
Login.c(90): while (key = _dontEnums[i++]) {\n
Login.c(90): // For constructor, if it is a prototype object
the constructor\n
Login.c(90): // is always non-enumerable unless defined
otherwise (and\n
Login.c(90): // enumerated above). For non-prototype objects,
it will have\n
Login.c(90): // to be defined on this object, since it cannot
be defined on\n
Login.c(90): // any prototype objects.\n
Login.c(90): //\n
Login.c(90): // For other [[DontEnum]] properties, check if the
value is\n
Login.c(90): // different than Object prototype value.\n
Login.c(90): if (\n
Login.c(90): (key !== 'constructor' ||\n
Login.c(90): (!isProto && hasOwn(obj, key))) &&\n
Login.c(90): obj[key] !== Object.prototype[key]\n
Login.c(90): ) {\n
Login.c(90): if (exec(fn, obj, key, thisObj) === false) {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function exec(fn, obj, key, thisObj){\n
Login.c(90): return fn.call(thisObj, obj[key], key, obj);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = forIn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./hasOwn":31}],30:[function(require,module,exp
Login.c(90): t=3961ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): orts){\n
Login.c(90): var hasOwn = require('./hasOwn');\n
Login.c(90): var forIn = require('./forIn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Similar to Array/forEach but works over object properties
and fixes Don't\n
Login.c(90): * Enum bug on IE.\n
Login.c(90): * based on: http://whattheheadsaid.com/2010/10/a-safer-
object-keys-compatibility-impl
Login.c(90): ementation\n
Login.c(90): */\n
Login.c(90): function forOwn(obj, fn, thisObj){\n
Login.c(90): forIn(obj, function(val, key){\n
Login.c(90): if (hasOwn(obj, key)) {\n
Login.c(90): return fn.call(thisObj, obj[key], key, obj);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = forOwn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./forIn":29,"./hasOwn":31}],31:
[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Safer Object.hasOwnProperty\n
Login.c(90): */\n
Login.c(90): function hasOwn(obj, prop){\n
Login.c(90): return Object.prototype.hasOwnProperty.call(obj, prop);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = hasOwn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],32:[function(require,module,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Get object keys\n
Login.c(90): */\n
Login.c(90): var keys = Object.keys || function (obj) {\n
Login.c(90): var keys = [];\n
Login.c(90): forOwn(obj, function(val, key){\n
Login.c(90): keys.push(key);\n
Login.c(90): });\n
Login.c(90): return keys;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): module.exports = keys;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./forOwn":30}],33:[function(require,module,exports){\n
Login.c(90): var hasOwn = require('./hasOwn');\n
Login.c(90): var deepClone = require('../lang/deepClone');\n
Login.c(90): var isObject = require('../lang/isObject');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Deep merge objects.\n
Login.c(90): */\n
Login.c(90): function merge() {\n
Login.c(90): var i = 1,\n
Login.c(90): key, val, obj, target;\n
Login.c(90): \n
Login.c(90): // make sure we don't modify source element and it's
properties\n
Login.c(90): // objects are passed by reference\n
Login.c(90): target = deepClone( arguments[0] );\n
Login.c(90): \n
Login.c(90): while (obj = arguments[i++]) {\n
Login.c(90): for (key in obj) {\n
Login.c(90): if ( ! hasOwn(obj, key) ) {\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): val = obj[key];\n
Login.c(90): \n
Login.c(90): if ( isObject(val) && isObject(target[key]) ){\n
Login.c(90): // inception, deep merge objects\n
Login.c(90): target[key] = merge(target[key], val);\n
Login.c(90): } else {\n
Login.c(90): // make sure arrays, regexp, date, objects are
cloned\n
Login.c(90): target[key] = deepClone(val);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return target;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = merge;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../lang/deepClone":15,"../lang/isObject":21,"./hasOwn":31}],34:
[function(require,modul
Login.c(90): e,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Combine properties from all the objects into first one.\n
Login.c(90): * - This method affects target object in place, if you want to
create a new Object pas
Login.c(90): s an empty object as first param.\n
Login.c(90): * @param {object} target Target Object\n
Login.c(90): * @param {...object} objects Objects to be combined (0...n
objects).\n
Login.c(90): * @return {object} Target Object.\n
Login.c(90): */\n
Login.c(90): function mixIn(target, objects){\n
Login.c(90): var i = 0,\n
Login.c(90): n = arguments.length,\n
Login.c(90): obj;\n
Login.c(90): while(++i < n){\n
Login.c(90): obj = arguments[i];\n
Login.c(90): if (obj != null) {\n
Login.c(90): forOwn(obj, copyProp, target);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return target;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function copyProp(val, key){\n
Login.c(90): this[key] = val;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = mixIn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./forOwn":30}],35:[function(require,module,exports){\n
Login.c(90): var forEach = require('../array/forEach');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Create nested object if non-existent\n
Login.c(90): */\n
Login.c(90): function namespace(obj, path){\n
Login.c(90): if (!path) return obj;\n
Login.c(90): forEach(path.split('.'), function(key){\n
Login.c(90): if (!obj[key]) {\n
Login.c(90): obj[key] = {};\n
Login.c(90): }\n
Login.c(90): obj = obj[key];\n
Login.c(90): });\n
Login.c(90): return obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = namespace;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../array/forEach":4}],36:[function(require,module,exports){\n
Login.c(90): var slice = require('../array/slice');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Return a copy of the object, filtered to only have values
for the whitelisted keys.
Login.c(90): \n
Login.c(90): */\n
Login.c(90): function pick(obj, var_keys){\n
Login.c(90): var keys = typeof arguments[1] !== 'string'?
arguments[1] : slice(arguments, 1),\n
Login.c(90): out = {},\n
Login.c(90): i = 0, key;\n
Login.c(90): while (key = keys[i++]) {\n
Login.c(90): out[key] = obj[key];\n
Login.c(90): }\n
Login.c(90): return out;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = pick;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../array/slice":8}],37:[function(require,module,exports){\n
Login.c(90): var namespace = require('./namespace');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * set "nested" object property\n
Login.c(90): */\n
Login.c(90): function set(obj, prop, val){\n
Login.c(90): var parts = (/^(.+)\\.(.+)$/).exec(prop);\n
Login.c(90): if (parts){\n
Login.c(90): namespace(obj, parts[1])[parts[2]] = val;\n
Login.c(90): } else {\n
Login.c(90): obj[prop] = val;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = set;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./namespace":35}],38:[function(require,module,exports){\n
Login.c(90): var randInt = require('./randInt');\n
Login.c(90): var isArray = require('../lang/isArray');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a random element from the supplied arguments\n
Login.c(90): * or from the array (if single argument is an array).\n
Login.c(90): */\n
Login.c(90): function choice(items) {\n
Login.c(90): var target = (arguments.length === 1 && isArray(items))?
items : arguments;\n
Login.c(90): return target[ randInt(0, target.length - 1) ];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = choice;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isArray":16,"./randInt":42}],39:
[function(require,module,exports){\n
Login.c(90): var randHex = require('./randHex');\n
Login.c(90): var choice = require('./choice');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns pseudo-random guid (UUID v4)\n
Login.c(90): * IMPORTANT: it's not totally "safe" since randHex/choice uses
Math.random\n
Login.c(90): * by default and sequences can be predicted in some cases. See
the\n
Login.c(90): * "random/random" documentation for more info about it and how
to replace\n
Login.c(90): * the default PRNG.\n
Login.c(90): */\n
Login.c(90): function guid() {\n
Login.c(90): return (\n
Login.c(90): randHex(8)+'-'+\n
Login.c(90): randHex(4)+'-'+\n
Login.c(90): // v4 UUID always contain "4" at this position to specify
it was\n
Login.c(90): // randomly generated\n
Login.c(90): '4' + randHex(3) +'-'+\n
Login.c(90): // v4 UUID always contain chars [a,b,8,9] at this
position\n
Login.c(90): choice(8, 9, 'a', 'b') + randHex(3)+'-'+\n
Login.c(90): randHex(12)\n
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): module.exports = guid;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./choice":38,"./randHex":41}],40:
[function(require,module,exports){\n
Login.c(90): var random = require('./random');\n
Login.c(90): var MIN_INT = require('../number/MIN_INT');\n
Login.c(90): var MAX_INT = require('../number/MAX_INT');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns random number inside range\n
Login.c(90): */\n
Login.c(90): function rand(min, max){\n
Login.c(90): min = min == null? MIN_INT : min;\n
Login.c(90): max = max == null? MAX_INT : max;\n
Login.c(90): return min + (max - min) * random();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = rand;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../number/MAX_INT":25,"../number/MIN_INT":26,"./random":43}],41:
[function(require,modu
Login.c(90): le,exports){\n
Login.c(90): var choice = require('./choice');\n
Login.c(90): \n
Login.c(90): var _chars = '0123456789abcdef'.split('');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a random hexadecimal string\n
Login.c(90): */\n
Login.c(90): function randHex(size){\n
Login.c(90): size = size && size > 0? size : 6;\n
Login.c(90): var str = '';\n
Login.c(90): while (size--) {\n
Login.c(90): str += choice(_chars);\n
Login.c(90): }\n
Login.c(90): return str;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = randHex;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./choice":38}],42:[function(require,module,exports){\n
Login.c(90): var MIN_INT = require('../number/MIN_INT');\n
Login.c(90): var MAX_INT = require('../number/MAX_INT');\n
Login.c(90): var rand = require('./rand');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Gets random integer inside range or snap to min/max
values.\n
Login.c(90): */\n
Login.c(90): function randInt(min, max){\n
Login.c(90): min = min == null? MIN_INT : ~~min;\n
Login.c(90): max = max == null? MAX_INT : ~~max;\n
Login.c(90): // can't be max + 0.5 otherwise it will round up if
`rand`\n
Login.c(90): // returns `max` causing it to overflow range.\n
Login.c(90): // -0.5 and + 0.49 are required to avoid bias caused by
rounding\n
Login.c(90): return Math.round( rand(min - 0.5, max +
0.499999999999) );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = randInt;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../number/MAX_INT":25,"../number/MIN_INT":26,"./rand":40}],43:
[function(require,module
Login.c(90): ,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Just a wrapper to Math.random. No methods inside
mout/random should call\n
Login.c(90): * Math.random() directly so we can inject the pseudo-random
number\n
Login.c(90): * generator if needed (ie. in case we need a seeded random or
a better\n
Login.c(90): * algorithm than the native one)\n
Login.c(90): */\n
Login.c(90): function random(){\n
Login.c(90): return random.get();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // we expose the method so it can be swapped if needed\n
Login.c(90): random.get = Math.random;\n
Login.c(90): \n
Login.c(90): module.exports = random;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],44:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): var replaceAccents = require('./replaceAccents');\n
Login.c(90): var removeNonWord = require('./removeNonWord');\n
Login.c(90): var upperCase = require('./upperCase');\n
Login.c(90): var lowerCase = require('./lowerCase');\n
Login.c(90): /**\n
Login.c(90): * Convert string to camelCase text.\n
Login.c(90): */\n
Login.c(90): function camelCase(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): str = replaceAccents(str);\n
Login.c(90): str = removeNonWord(str)\n
Login.c(90): .replace(/[\\-_]/g, ' ') //convert all hyphens and
underscores to spaces\n
Login.c(90): .replace(/\\s[a-z]/g, upperCase) //convert first char
of each word to UPPERCAS
Login.c(90): E\n
Login.c(90): .replace(/\\s+/g, '') //remove spaces\n
Login.c(90): .replace(/^[A-Z]/g, lowerCase); //convert first char
to lowercase\n
Login.c(90): return str;\n
Login.c(90): }\n
Login.c(90): module.exports = camelCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../lang/toString":24,"./lowerCase":45,"./removeNonWord":48,"./replaceAccents":49,
"./up
Login.c(90): perCase":50}],45:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): /**\n
Login.c(90): * "Safer" String.toLowerCase()\n
Login.c(90): */\n
Login.c(90): function lowerCase(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): return str.toLowerCase();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = lowerCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],46:[function(require,module,exports){\n
Login.c(90): var join = require('../array/join');\n
Login.c(90): var slice = require('../array/slice');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Group arguments as path segments, if any of the args is
`null` or an\n
Login.c(90): * empty string it will be ignored from resulting path.\n
Login.c(90): */\n
Login.c(90): function makePath(var_args){\n
Login.c(90): var result = join(slice(arguments), '/');\n
Login.c(90): // need to disconsider duplicate '/' after protocol (eg:
'http://')\n
Login.c(90): return result.replace(/([^:\\/]|^)\\/{2,}/g, '$1/');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = makePath;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../array/join":6,"../array/slice":8}],47:
[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): var camelCase = require('./camelCase');\n
Login.c(90): var upperCase = require('./upperCase');\n
Login.c(90): /**\n
Login.c(90): * camelCase + UPPERCASE first char\n
Login.c(90): */\n
Login.c(90): function pascalCase(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): return camelCase(str).replace(/^[a-z]/, upperCase);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = pascalCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24,"./camelCase":44,"./upperCase":50}],48:
[function(require,module,e
Login.c(90): xports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): // This pattern is generated by the _build/pattern-
removeNonWord.js script\n
Login.c(90): var PATTERN = /[^\\x20\\x2D0-9A-Z\\x5Fa-
z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\xFF]/g;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Remove non-word chars.\n
Login.c(90): */\n
Login.c(90): function removeNonWord(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): return str.replace(PATTERN, '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = removeNonWord;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],49:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): /**\n
Login.c(90): * Replaces all accented chars with regular ones\n
Login.c(90): */\n
Login.c(90): function replaceAccents(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): \n
Login.c(90): // verifies if the String has accents and replace them\n
Login.c(90): if (str.search(/[\\xC0-\\xFF]/g) > -1) {\n
Login.c(90): str = str\n
Login.c(90): .replace(/[\\xC0-\\xC5]/g, "A")\n
Login.c(90): .replace(/[\\xC6]/g, "AE")\n
Login.c(90): .replace(/[\\xC7]/g, "C")\n
Login.c(90): .replace(/[\\xC8-\\xCB]/g, "E")\n
Login.c(90): .replace(/[\\xCC-\\xCF]/g, "I")\n
Login.c(90): .replace(/[\\xD0]/g, "D")\n
Login.c(90): .replace(/[\\xD1]/g, "N")\n
Login.c(90): .replace(/[\\xD2-\\xD6\\xD8]/g, "O")\n
Login.c(90): .replace(/[\\xD9-\\xDC]/g, "U")\n
Login.c(90): .replace(/[\\xDD]/g, "Y")\n
Login.c(90): .replace(/[\\xDE]/g, "P")\n
Login.c(90): .replace(/[\\xE0-\\xE5]/g, "a")\n
Login.c(90): .replace(/[\\xE6]/g, "ae")\n
Login.c(90): .replace(/[\\xE7]/g, "c")\n
Login.c(90): .replace(/[\\xE8-\\xEB]/g, "e")\n
Login.c(90): .replace(/[\\xEC-\\xEF]/g, "i")\n
Login.c(90): .replace(/[\\xF1]/g, "n")\n
Login.c(90): .replace(/[\\xF2-\\xF6\\xF8]/g, "o")\n
Login.c(90): .replace(/[\\xF9-\\xFC]/g, "u")\n
Login.c(90): .replace(/[\\xFE]/g, "p")\n
Login.c(90): .replace(/[\\xFD\\xFF]/g, "y");\n
Login.c(90): }\n
Login.c(90): return str;\n
Login.c(90): }\n
Login.c(90): module.exports = replaceAccents;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],50:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): /**\n
Login.c(90): * "Safer" String.toUpperCase()\n
Login.c(90): */\n
Login.c(90): function upperCase(str){\n
Login.c(90): str = toS
Login.c(90): t=3979ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): tring(str);\n
Login.c(90): return str.toUpperCase();\n
Login.c(90): }\n
Login.c(90): module.exports = upperCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],51:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSHttpAdapterProvider\n
Login.c(90): * @name DSHttpAdapterProvider\n
Login.c(90): */\n
Login.c(90): function DSHttpAdapterProvider() {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSHttpAdapterProvider.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * Default configuration for this adapter.\n
Login.c(90): *\n
Login.c(90): * Properties:\n
Login.c(90): *\n
Login.c(90): * - `{function}` - `queryTransform` - See [the guide]
(/documentation/guide/adapters/ind
Login.c(90): ex). Default: No-op.\n
Login.c(90): */\n
Login.c(90): var defaults = this.defaults = {\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id
DSHttpAdapterProvider.properties:defaults.queryTransform\n
Login.c(90): * @name defaults.queryTransform\n
Login.c(90): * @description\n
Login.c(90): * Transform the angular-data query to something your server
understands. You might ju
Login.c(90): st do this on the server instead.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapterProvider.defaults.queryTransform = function
(resourceName, params) {\n
Login.c(90): * if (params && params.userId) {\n
Login.c(90): * params.user_id = params.userId;\n
Login.c(90): * delete params.userId;\n
Login.c(90): * }\n
Login.c(90): * return params;\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource.\n
Login.c(90): * @param {object} params Params that will be passed to
`$http`.\n
Login.c(90): * @returns {*} By default just returns `params` as-is.\n
Login.c(90): */\n
Login.c(90): queryTransform: function (resourceName, params) {\n
Login.c(90): return params;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): forceTrailingSlash: false,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSHttpAdapterProvider.properties:defaults.$httpConfig\n
Login.c(90): * @name defaults.$httpConfig\n
Login.c(90): * @description\n
Login.c(90): * Default `$http` configuration options used whenever
`DSHttpAdapter` uses `$http`.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * angular.module('myApp').config(function
(DSHttpAdapterProvider) {\n
Login.c(90): * angular.extend(DSHttpAdapterProvider.defaults.
$httpConfig, {\n
Login.c(90): * headers: {\n
Login.c(90): * Authorization: 'Basic YmVlcDpib29w'\n
Login.c(90): * },\n
Login.c(90): * timeout: 20000\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): $httpConfig: {}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = ['$http', '$log', 'DSUtils', function ($http, $log,
DSUtils) {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id DSHttpAdapter\n
Login.c(90): * @name DSHttpAdapter\n
Login.c(90): * @description\n
Login.c(90): * Default adapter used by angular-data. This adapter uses
AJAX and JSON to send/retri
Login.c(90): eve data to/from a server.\n
Login.c(90): * Developers may provide custom adapters that implement the
adapter interface.\n
Login.c(90): */\n
Login.c(90): return {\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSHttpAdapter.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * Reference to [DSHttpAdapterProvider.defaults]
(/documentation/api/api/DSHttpAdapte
Login.c(90): rProvider.properties:defaults).\n
Login.c(90): */\n
Login.c(90): defaults: defaults,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:HTTP\n
Login.c(90): * @name HTTP\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.HTTP(config)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} config Configuration object.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): HTTP: function (config) {\n
Login.c(90): var start = new Date().getTime();\n
Login.c(90): \n
Login.c(90): if (this.defaults.forceTrailingSlash &&
config.url[config.url.length] !== '/') {\n
Login.c(90): config.url += '/';\n
Login.c(90): }\n
Login.c(90): config = DSUtils.deepMixIn(config, defaults.
$httpConfig);\n
Login.c(90): return $http(config).then(function (data) {\n
Login.c(90): $log.debug(data.config.method + ' request:' +
data.config.url + ' Time taken: '
Login.c(90): + (new Date().getTime() - start) + 'ms', arguments);\n
Login.c(90): return data;\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:GET\n
Login.c(90): * @name GET\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.get()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.GET(url[, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): GET: function (url, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'GET';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:POST\n
Login.c(90): * @name POST\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.post()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.POST(url[, attrs][, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} attrs Request payload.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): POST: function (url, attrs, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'POST';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url,\n
Login.c(90): data: attrs\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:PUT\n
Login.c(90): * @name PUT\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.put()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.PUT(url[, attrs][, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} attrs Request payload.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): PUT: function (url, attrs, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'PUT';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url,\n
Login.c(90): data: attrs || {}\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:DEL\n
Login.c(90): * @name DEL\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.delete()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.DEL(url[, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): DEL: function (url, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'DELETE';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a single entity from the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `GET` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.find(resourceConfig, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
update.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): find: function (resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.GET(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(id, options), id),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a collection of entities from the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `GET` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.findAll(resourceConfig[, params][,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Search query parameters. See the
[query guide](/documenta
Login.c(90): tion/guide/queries/index).\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): findAll: function (resourceConfig, params, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (params) {\n
Login.c(90): params = defaults.queryTransform(resourceConfig.name,
params);\n
Login.c(90): DSUtils.deepMixIn(options.params, params);\n
Login.c(90): }\n
Login.c(90): return this.GET(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(null, options)),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @description\n
Login.c(90): * Create a new entity on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `POST` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.create(resourceConfig, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs The attribute payload.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): create: function (resourceConfig, attrs, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.POST(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(attrs, options)),\n
Login.c(90): attrs,\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @description\n
Login.c(90): * Update an entity on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `PUT` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.update(resourceConfig, id, attrs[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
update.\n
Login.c(90): * @param {object} attrs The attribute payload.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): update: function (resourceConfig, id, attrs, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.PUT(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(id, options), id),\n
Login.c(90): attrs,\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @description\n
Login.c(90): * Update a collection of entities on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `PUT` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.updateAll(resourceConfig, attrs[, params][,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs The attribute payload.\n
Login.c(90): * @param {object=} params Search query parameters. See the
[query guide](/documenta
Login.c(90): tion/guide/queries/index).\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default e
Login.c(90): t=4006ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ndpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): updateAll: function (resourceConfig, attrs, params, options)
{\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (params) {\n
Login.c(90): params = defaults.queryTransform(resourceConfig.name,
params);\n
Login.c(90): DSUtils.deepMixIn(options.params, params);\n
Login.c(90): }\n
Login.c(90): return this.PUT(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(null, options)),\n
Login.c(90): attrs,\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * Delete an entity on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `DELETE` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.destroy(resourceConfig, id[, options)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
update.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroy: function (resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.DEL(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(id, options), id),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * Delete a collection of entities on the server.\n
Login.c(90): *\n
Login.c(90): * Makes `DELETE` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.destroyAll(resourceConfig[, params][,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Search query parameters. See the
[query guide](/documenta
Login.c(90): tion/guide/queries/index).\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroyAll: function (resourceConfig, params, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (params) {\n
Login.c(90): params = defaults.queryTransform(resourceConfig.name,
params);\n
Login.c(90): DSUtils.deepMixIn(options.params, params);\n
Login.c(90): }\n
Login.c(90): return this.DEL(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(null, options)),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSHttpAdapterProvider;\n
Login.c(90): \n
Login.c(90): },{}],52:[function(require,module,exports){\n
Login.c(90): /*!\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSLocalStorageAdapterProvider\n
Login.c(90): * @name DSLocalStorageAdapterProvider\n
Login.c(90): */\n
Login.c(90): function DSLocalStorageAdapterProvider() {\n
Login.c(90): \n
Login.c(90): this.$get = ['$q', 'DSUtils', 'DSErrors', function ($q, DSUtils)
{\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id DSLocalStorageAdapter\n
Login.c(90): * @name DSLocalStorageAdapter\n
Login.c(90): * @description\n
Login.c(90): * Adapter that uses `localStorage` as its persistence layer.
The localStorage adapter
Login.c(90): does not support operations\n
Login.c(90): * on collections because localStorage itself is a key-value
store.\n
Login.c(90): */\n
Login.c(90): return {\n
Login.c(90): \n
Login.c(90): getIds: function (name, options) {\n
Login.c(90): var ids;\n
Login.c(90): var idsPath = DSUtils.makePath(options.baseUrl, 'DSKeys',
name);\n
Login.c(90): var idsJson = localStorage.getItem(idsPath);\n
Login.c(90): if (idsJson) {\n
Login.c(90): ids = DSUtils.fromJson(idsJson);\n
Login.c(90): } else {\n
Login.c(90): localStorage.setItem(idsPath, DSUtils.toJson({}));\n
Login.c(90): ids = {};\n
Login.c(90): }\n
Login.c(90): return ids;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): saveKeys: function (ids, name, options) {\n
Login.c(90): var keysPath = DSUtils.makePath(options.baseUrl, 'DSKeys',
name);\n
Login.c(90): localStorage.setItem(keysPath, DSUtils.toJson(ids));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): ensureId: function (id, name, options) {\n
Login.c(90): var ids = this.getIds(name, options);\n
Login.c(90): ids[id] = 1;\n
Login.c(90): this.saveKeys(ids, name, options);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): removeId: function (id, name, options) {\n
Login.c(90): var ids = this.getIds(name, options);\n
Login.c(90): delete ids[id];\n
Login.c(90): this.saveKeys(ids, name, options);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:GET\n
Login.c(90): * @name GET\n
Login.c(90): * @description\n
Login.c(90): * An asynchronous wrapper for
`localStorage.getItem(key)`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.GET(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key path of the item to
retrieve.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): GET: function (key) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): try {\n
Login.c(90): var item = localStorage.getItem(key);\n
Login.c(90): deferred.resolve(item ? angular.fromJson(item) :
undefined);\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:PUT\n
Login.c(90): * @name PUT\n
Login.c(90): * @description\n
Login.c(90): * An asynchronous wrapper for `localStorage.setItem(key,
value)`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.PUT(key, value)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key to update.\n
Login.c(90): * @param {object} value Attributes to put.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): PUT: function (key, value) {\n
Login.c(90): var DSLocalStorageAdapter = this;\n
Login.c(90): return DSLocalStorageAdapter.GET(key).then(function (item)
{\n
Login.c(90): if (item) {\n
Login.c(90): DSUtils.deepMixIn(item, value);\n
Login.c(90): }\n
Login.c(90): localStorage.setItem(key, angular.toJson(item ||
value));\n
Login.c(90): return DSLocalStorageAdapter.GET(key);\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:DEL\n
Login.c(90): * @name DEL\n
Login.c(90): * @description\n
Login.c(90): * An asynchronous wrapper for
`localStorage.removeItem(key)`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.DEL(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key to remove.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): DEL: function (key) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): try {\n
Login.c(90): localStorage.removeItem(key);\n
Login.c(90): deferred.resolve();\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a single entity from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.find(resourceConfig, id[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.find('user', 5, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 5, ... }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
retrieve.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): find: function find(resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.GET(DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resour
Login.c(90): ceConfig.endpoint, id)).then(function (item) {\n
Login.c(90): if (!item) {\n
Login.c(90): return $q.reject(new Error('Not Found!'));\n
Login.c(90): } else {\n
Login.c(90): return item;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a collections of entities from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.findAll(resourceConfig, params[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Query parameters.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): findAll: function (resourceConfig, params, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): options = options || {};\n
Login.c(90): if (!('allowSimpleWhere' in options)) {\n
Login.c(90): options.allowSimpleWhere = true;\n
Login.c(90): }\n
Login.c(90): var items = [];\n
Login.c(90): var ids = DSUtils.keys(_this.getIds(resourceConfig.name,
options));\n
Login.c(90): DSUtils.forEach(ids, function (id) {\n
Login.c(90): var itemJson =
localStorage.getItem(DSUtils.makePath(options.baseUrl || resource
Login.c(90): Config.baseUrl, resourceConfig.getEndpoint(id, options), id));\n
Login.c(90): if (itemJson) {\n
Login.c(90): items.push(DSUtils.fromJson(itemJson));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90):
deferred.resolve(_this.DS.defaults.defaultFilter.call(_this.DS, items, resourceCon
Login.c(90): fig.name, params, options));\n
Login.c(90): return deferred.promise;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @description\n
Login.c(90): * Create an entity in `localStorage`. You must generate the
primary key and include
Login.c(90): it in the `attrs` object.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.create(resourceConfig, attrs[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.create('user', {\n
Login.c(90): * id: 1,\n
Login.c(90): * name: 'john'\n
Login.c(90): * }, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 1, name: 'john' }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs Attributes to create in
localStorage.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): create: function (resourceConfig, attrs, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): attrs[resourceConfig.idAttribute] =
attrs[resourceConfig.idAttribute] || DSUtils.g
Login.c(90): uid();\n
Login.c(90): options = options || {};\n
Login.c(90): return this.PUT(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(attrs, options), attrs[resourceConfig.idAttribute]),\n
Login.c(90): attrs\n
Login.c(90): ).then(function (item) {\n
Login.c(90): _this.ensureId(item[resourceConfig.idAttribute],
resourceConfig.name, options)
Login.c(90): ;\n
Login.c(90): return item;\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @description\n
Login.c(90): * Update an entity in localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.update(resourceConfig, id, attrs[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.update('user', 5, {\n
Login.c(90): * name: 'john'\n
Login.c(90): * }, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 5, ... }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
retrieve.\n
Login.c(90): * @param {object} attrs Attributes with which to update the
entity.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): update: function (resourceConfig, id, attrs, optio
Login.c(90): t=4023ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ns) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.PUT(DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resour
Login.c(90): ceConfig.getEndpoint(id, options), id), attrs);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @description\n
Login.c(90): * Update a collections of entities in localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.updateAll(resourceConfig, attrs,
params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs Attributes with which to update the
items.\n
Login.c(90): * @param {object=} params Query parameters.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): updateAll: function (resourceConfig, attrs, params, options)
{\n
Login.c(90): var _this = this;\n
Login.c(90): return this.findAll(resourceConfig, params,
options).then(function (items) {\n
Login.c(90): var tasks = [];\n
Login.c(90): DSUtils.forEach(items, function (item) {\n
Login.c(90): tasks.push(_this.update(resourceConfig,
item[resourceConfig.idAttribute], attr
Login.c(90): s, options));\n
Login.c(90): });\n
Login.c(90): return $q.all(tasks);\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * Destroy an entity from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.destroy(resourceConfig, id[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroy('user', 5, {\n
Login.c(90): * name: ''\n
Login.c(90): * }, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 5, ... }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
destroy.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroy: function (resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.DEL(DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resour
Login.c(90): ceConfig.getEndpoint(id, options), id));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * Destroy a collections of entities from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.destroyAll(resourceConfig, params[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Query parameters.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroyAll: function (resourceConfig, params, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): return this.findAll(resourceConfig, params,
options).then(function (items) {\n
Login.c(90): var tasks = [];\n
Login.c(90): DSUtils.forEach(items, function (item) {\n
Login.c(90): tasks.push(_this.destroy(resourceConfig,
item[resourceConfig.idAttribute], opt
Login.c(90): ions));\n
Login.c(90): });\n
Login.c(90): return $q.all(tasks);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSLocalStorageAdapterProvider;\n
Login.c(90): \n
Login.c(90): },{}],53:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.create(' + resourceName + ', attrs[, options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @description\n
Login.c(90): * The "C" in "CRUD". Delegate to the `create` method of whichever
adapter is being used (
Login.c(90): http by default) and inject the\n
Login.c(90): * result into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.create(resourceName, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.create('document', {\n
Login.c(90): * author: 'John Anderson'\n
Login.c(90): * }).then(function (document) {\n
Login.c(90): * document; // { id: 5, author: 'John Anderson' }\n
Login.c(90): *\n
Login.c(90): * // The new document is already in the data store\n
Login.c(90): * DS.get('document', document.id); // { id: 5, author: 'John
Anderson' }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} attrs The attributes with which to create the
item of the type specifie
Login.c(90): d by `resourceName`.\n
Login.c(90): * @param {object=} options Configuration options. Also passed
along to the adapter's `cre
Login.c(90): ate` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): * - `{boolean=}` - `upsert` - If `attrs` already contains a
primary key, then attempt to
Login.c(90): call `DS.update` instead. Default: `true`.\n
Login.c(90): * - `{boolean=}` - `eagerInject` - Eagerly inject the attributes
into the store without w
Login.c(90): aiting for a successful response from the adapter. Default:
`false`.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `validate` - Override the resource or global
lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `beforeCreate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterCreate` - Override the resource or
global lifecycle hook.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - A reference to the newly created
item.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function create(resourceName, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): var injected;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(attrs)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'attrs:
Must be an object!');\n
Login.c(90): }\n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('upsert' in options)) {\n
Login.c(90): options.upsert = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('eagerInject' in options)) {\n
Login.c(90): options.eagerInject = definition.eagerInject;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(attrs);\n
Login.c(90): \n
Login.c(90): if (options.upsert && attrs[definition.idAttribute]) {\n
Login.c(90): return DS.update(resourceName,
attrs[definition.idAttribute], attrs, options);\n
Login.c(90): } else {\n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : de
Login.c(90): finition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.val
Login.c(90): idate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defi
Login.c(90): nition.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeCreate ? DS.
$q.promisify(options.beforeCreate) : defini
Login.c(90): tion.beforeCreate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeCreate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.eagerInject && options.cacheResponse) {\n
Login.c(90): attrs[definition.idAttribute] =
attrs[definition.idAttribute] || DS.utils.guid
Login.c(90): ();\n
Login.c(90): injected = DS.inject(resourceName, attrs);\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].create(definiti
Login.c(90): on, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(reso
Login.c(90): urceName, attrs), options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterCreate ? DS.
$q.promisify(options.afterCreate) : definiti
Login.c(90): on.afterCreate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : defin
Login.c(90): ition.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterCreate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): if (options.eagerInject) {\n
Login.c(90): var newId = attrs[definition.idAttribute];\n
Login.c(90): var prevId = injected[definition.idAttribute];\n
Login.c(90): var prev = DS.get(resourceName, prevId);\n
Login.c(90): resource.previousAttributes[newId] =
resource.previousAttributes[prevId];\n
Login.c(90): resource.changeHistories[newId] =
resource.changeHistories[prevId];\n
Login.c(90): resource.observers[newId] =
resource.observers[prevId];\n
Login.c(90): resource.modified[newId] =
resource.modified[prevId];\n
Login.c(90): resource.saved[newId] = resource.saved[prevId];\n
Login.c(90): resource.index.put(newId, prev);\n
Login.c(90): DS.eject(resourceName, prevId, { notify: false });\n
Login.c(90): prev[definition.idAttribute] = newId;\n
Login.c(90): resource.collection.push(prev);\n
Login.c(90): }\n
Login.c(90): var created = DS.inject(resourceName, attrs,
options);\n
Login.c(90): var id = created[definition.idAttribute];\n
Login.c(90): resource.completedQueries[id] = new
Date().getTime();\n
Login.c(90): resource.previousAttributes[id] =
DS.utils.deepMixIn({}, created);\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): return DS.get(resourceName, id);\n
Login.c(90): } else {\n
Login.c(90): return DS.createInstance(resourceName, attrs,
options);\n
Login.c(90): }\n
Login.c(90): })\n
Login.c(90): .catch(function (err) {\n
Login.c(90): if (options.eagerInject && options.cacheResponse) {\n
Login.c(90): DS.eject(resourceName,
injected[definition.idAttribute], { notify: false });\n
Login.c(90): }\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = create;\n
Login.c(90): \n
Login.c(90): },{}],54:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.destroy(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * The "D" in "CRUD". Delegate to the `destroy` method of
whichever adapter is being used
Login.c(90): (http by default) and eject the\n
Login.c(90): * appropriate item from the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroy(resourceName, id[, options]);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroy('document', 5).then(function (id) {\n
Login.c(90): * id; // 5\n
Login.c(90): *\n
Login.c(90): * // The document is gone\n
Login.c(90): * DS.get('document', 5); // undefined\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
remove.\n
Login.c(90): * @param {object=} options Configuration options. Also passed
along to the adapter's `des
Login.c(90): troy` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{function=}` - `beforeDestroy` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterDestroy` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{boolean=}` - `eagerEject` - If `true` eagerly eject the
item from the store without
Login.c(90): waiting for the adapter's response, the item will be re-injected
if the adapter operation
Login.c(90): fails. Default: `false`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{string|number}` - `id` - The primary key of the destroyed
item.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function destroy(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var definition = DS.definitions[resour
Login.c(90): t=4038ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a nu
Login.c(90): mber!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (!item) {\n
Login.c(90): throw new DS.errors.R(errorPrefix(resourceName, id) + 'id:
"' + id + '" not found!')
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(item);\n
Login.c(90): \n
Login.c(90): if (!('eagerEject' in options)) {\n
Login.c(90): options.eagerEject = definition.eagerEject;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeDestroy ? DS.
$q.promisify(options.beforeDestroy) : defini
Login.c(90): tion.beforeDestroy;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeDestroy', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.eagerEject) {\n
Login.c(90): DS.eject(resourceName, id);\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].destroy(definitio
Login.c(90): n, id, options);\n
Login.c(90): })\n
Login.c(90): .then(function () {\n
Login.c(90): var func = options.afterDestroy ? DS.
$q.promisify(options.afterDestroy) : definiti
Login.c(90): on.afterDestroy;\n
Login.c(90): return func.call(item, resourceName, item);\n
Login.c(90): })\n
Login.c(90): .then(function () {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterDestroy', DS.utils.merge({},
item));\n
Login.c(90): }\n
Login.c(90): DS.eject(resourceName, id);\n
Login.c(90): return id;\n
Login.c(90): }).catch(function (err) {\n
Login.c(90): if (options.eagerEject && item) {\n
Login.c(90): DS.inject(resourceName, item);\n
Login.c(90): }\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = destroy;\n
Login.c(90): \n
Login.c(90): },{}],55:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.destroyAll(' + resourceName + ', params[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * The "D" in "CRUD". Delegate to the `destroyAll` method of
whichever adapter is being us
Login.c(90): ed (http by default) and eject\n
Login.c(90): * the appropriate items from the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroyAll(resourceName, params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var params = {\n
Login.c(90): * where: {\n
Login.c(90): * author: {\n
Login.c(90): * '==': 'John Anderson'\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * DS.destroyAll('document', params).then(function (documents) {\n
Login.c(90): * // The documents are gone from the data store\n
Login.c(90): * DS.filter('document', params); // []\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} params Parameter object that is serialized into
the query string. Prope
Login.c(90): rties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `de
Login.c(90): stroyAll` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `bypassCache` - Bypass the cache. Default:
`false`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function destroyAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve();\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function () {\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].destroyAll(defini
Login.c(90): tion, params, options);\n
Login.c(90): })\n
Login.c(90): .then(function () {\n
Login.c(90): return DS.ejectAll(resourceName, params);\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = destroyAll;\n
Login.c(90): \n
Login.c(90): },{}],56:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.find(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @description\n
Login.c(90): * The "R" in "CRUD". Delegate to the `find` method of whichever
adapter is being used (ht
Login.c(90): tp by default) and inject the\n
Login.c(90): * resulting item into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.find(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 5); // undefined\n
Login.c(90): * DS.find('document', 5).then(function (document) {\n
Login.c(90): * document; // { id: 5, author: 'John Anderson' }\n
Login.c(90): *\n
Login.c(90): * // the document is now in the data store\n
Login.c(90): * DS.get('document', 5); // { id: 5, author: 'John
Anderson' }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
retrieve.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `fi
Login.c(90): nd` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `bypassCache` - Bypass the cache. Default:
`false`.\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The item returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function find(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): var promise = deferred.promise;\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must
be an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): if (options.bypassCache || !options.cacheResponse) {\n
Login.c(90): delete resource.completedQueries[id];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!(id in resource.completedQueries)) {\n
Login.c(90): if (!(id in resource.pendingQueries)) {\n
Login.c(90): promise = resource.pendingQueries[id] =
DS.adapters[options.adapter || definition.
Login.c(90): defaultAdapter].find(definition, id, options)\n
Login.c(90): .then(function (res) {\n
Login.c(90): var data = options.deserialize ?
options.deserialize(resourceName, res) : defi
Login.c(90): nition.deserialize(resourceName, res);\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): // Query is no longer pending\n
Login.c(90): delete resource.pendingQueries[id];\n
Login.c(90): resource.completedQueries[id] = new
Date().getTime();\n
Login.c(90): return DS.inject(resourceName, data, options);\n
Login.c(90): } else {\n
Login.c(90): return DS.createInstance(resourceName, data,
options);\n
Login.c(90): }\n
Login.c(90): }, function (err) {\n
Login.c(90): delete resource.pendingQueries[id];\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return resource.pendingQueries[id];\n
Login.c(90): } else {\n
Login.c(90): deferred.resolve(DS.get(resourceName, id));\n
Login.c(90): }\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = find;\n
Login.c(90): \n
Login.c(90): },{}],57:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.findAll(' + resourceName + ', params[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function processResults(data, resourceName, queryHash, options)
{\n
Login.c(90): var DS = this;\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var idAttribute = DS.definitions[resourceName].idAttribute;\n
Login.c(90): var date = new Date().getTime();\n
Login.c(90): \n
Login.c(90): data = data || [];\n
Login.c(90): \n
Login.c(90): // Query is no longer pending\n
Login.c(90): delete resource.pendingQueries[queryHash];\n
Login.c(90): resource.completedQueries[queryHash] = date;\n
Login.c(90): \n
Login.c(90): // Update modified timestamp of collection\n
Login.c(90): resource.collectionModified =
DS.utils.updateTimestamp(resource.collectionModified);\n
Login.c(90): \n
Login.c(90): // Merge the new values into the cache\n
Login.c(90): var injected = DS.inject(resourceName, data, options);\n
Login.c(90): \n
Login.c(90): // Make sure each object is added to completedQueries\n
Login.c(90): if (DS.utils.isArray(injected)) {\n
Login.c(90): angular.forEach(injected, function (item) {\n
Login.c(90): if (item && item[idAttribute]) {\n
Login.c(90): resource.completedQueries[item[idAttribute]] = date;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): DS.$log.warn(errorPrefix(resourceName) + 'response is expected
to be an array!');\n
Login.c(90): resource.completedQueries[injected[idAttribute]] = date;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return injected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _findAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var queryHash = DS.utils.toJson(params);\n
Login.c(90): \n
Login.c(90): if (options.bypassCache || !options.cacheResponse) {\n
Login.c(90): delete resource.completedQueries[queryHash];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!(queryHash in resource.completedQueries)) {\n
Login.c(90): // This particular query has never been completed\n
Login.c(90): \n
Login.c(90): if (!(queryHash in resource.pendingQueries)) {\n
Login.c(90): \n
Login.c(90): // This particular query has never even been made\n
Login.c(90): resource.pendingQueries[queryHash] =
DS.adapters[options.adapter || definition.defau
Login.c(90): ltAdapter].findAll(definition, params, options)\n
Login.c(90): .then(function (res) {\n
Login.c(90): delete resource.pendingQueries[queryHash];\n
Login.c(90): var data = options.deserialize ?
options.deserialize(resourceName, res) : defini
Login.c(90): tion.deserialize(resourceName, res);\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): try {\n
Login.c(90): return processResults.call(DS, data, resourceName,
queryHash, options);\n
Login.c(90): } catch (err) {\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): DS.utils.forEach(data, function (item, i) {\n
Login.c(90): data[i] = DS.createInstance(resourceName, item,
options);\n
Login.c(90): });\n
Login.c(90): return data;\n
Login.c(90): }\n
Login.c(90): }, function (err) {\n
Login.c(90): delete resource.pendingQueries[queryHash];\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return resource.pendingQueries[queryHash];\n
Login.c(90): } else {\n
Login.c(90): return DS.filter(resourceName, params, options);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @description\n
Login.c(90): * The "R" in "CRUD". Delegate to the `findAll` method of
whichever adapter is being used
Login.c(90): (http by default) and inject\n
Login.c(90): * the resulting collection into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.findAll(resourceName, params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var params = {\n
Login.c(90): * where: {\n
Login.c(90): * author: {\n
Login.c(90): * '==': 'John Anderson'\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * DS.filter('document', params); // []\n
Login.c(90): * DS.findAll('document', params).then(function (documents) {\n
Login.c(90): * documents; // [{ id: '1', author: 'John Anderson', title:
'How to cook' },\n
Login.c(90): * // { id: '2', author: 'John Anderson', title:
'How NOT to cook' }]\n
Login.c(90): *\n
Login.c(90): * // The documents are now in the data store\n
Login.c(90): * DS.filter('document', params); // [{ id: '1', author: 'John
Anderson', title: 'How to
Login.c(90): cook' },\n
Login.c(90): * // { id: '2', author: 'John
Anderson', title: 'How NO
Login.c(90): T to cook' }]\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} params Parameter object that is serialized
into the query string. Defa
Login.c(90): ult properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Also p
Login.c(90): t=4054ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): assed along to the adapter's `findAll` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `bypassCache` - Bypass the cache. Default:
`false`.\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{array}` - `items` - The collection of items returned by the
adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function findAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): params = params || {};\n
Login.c(90): \n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve();\n
Login.c(90): \n
Login.c(90): return deferred.promise.then(function () {\n
Login.c(90): return _findAll.call(DS, resourceName, params, options);\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = findAll;\n
Login.c(90): \n
Login.c(90): },{}],58:[function(require,module,exports){\n
Login.c(90): module.exports = {\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.create](/documentation/api/api/DS.async
methods:create).\n
Login.c(90): */\n
Login.c(90): create: require('./create'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.destroy](/documentation/api/api/DS.async
methods:destroy).\n
Login.c(90): */\n
Login.c(90): destroy: require('./destroy'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.destroyAll](/documentation/api/api/DS.async
methods:destroyAll).\n
Login.c(90): */\n
Login.c(90): destroyAll: require('./destroyAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.find](/documentation/api/api/DS.async
methods:find).\n
Login.c(90): */\n
Login.c(90): find: require('./find'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.findAll](/documentation/api/api/DS.async
methods:findAll).\n
Login.c(90): */\n
Login.c(90): findAll: require('./findAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:loadRelations\n
Login.c(90): * @name loadRelations\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.loadRelations](/documentation/api/api/DS.async
methods:loadRelations).\n
Login.c(90): */\n
Login.c(90): loadRelations: require('./loadRelations'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:refresh\n
Login.c(90): * @name refresh\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.refresh](/documentation/api/api/DS.async
methods:refresh).\n
Login.c(90): */\n
Login.c(90): refresh: require('./refresh'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:save\n
Login.c(90): * @name save\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.save](/documentation/api/api/DS.async
methods:save).\n
Login.c(90): */\n
Login.c(90): save: require('./save'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.update](/documentation/api/api/DS.async
methods:update).\n
Login.c(90): */\n
Login.c(90): update: require('./update'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.updateAll](/documentation/api/api/DS.async
methods:updateAll).\n
Login.c(90): */\n
Login.c(90): updateAll: require('./updateAll')\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },
{"./create":53,"./destroy":54,"./destroyAll":55,"./find":56,"./findAll":57,"./loadR
elati
Login.c(90):
ons":59,"./refresh":60,"./save":61,"./update":62,"./updateAll":63}],59:
[function(require,m
Login.c(90): odule,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.loadRelations(' + resourceName + ', instance(Id),
relations[, options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:loadRelations\n
Login.c(90): * @name loadRelations\n
Login.c(90): * @description\n
Login.c(90): * Asynchronously load the indicated relations of the given
instance.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.loadRelations(resourceName, instance|id, relations[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.loadRelations('user', 10, ['profile']).then(function (user)
{\n
Login.c(90): * user.profile; // object\n
Login.c(90): * assert.deepEqual(user.profile, DS.filter('profile', { userId:
10 })[0]);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var user = DS.get('user', 10);\n
Login.c(90): *\n
Login.c(90): * DS.loadRelations('user', user, ['profile']).then(function
(user) {\n
Login.c(90): * user.profile; // object\n
Login.c(90): * assert.deepEqual(user.profile, DS.filter('profile', { userId:
10 })[0]);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.loadRelations('user', 10, ['profile'], { cacheResponse:
false }).then(function (user
Login.c(90): ) {\n
Login.c(90): * user.profile; // object\n
Login.c(90): * assert.equal(DS.filter('profile', { userId: 10 }).length,
0);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number|object} instance The instance or the id
of the instance for which
Login.c(90): relations are to be loaded.\n
Login.c(90): * @param {string|array=} relations The relation(s) to load.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `fi
Login.c(90): nd` or `findAll` methods.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The instance with its loaded
relations.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function loadRelations(resourceName, instance, relations, options)
{\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (angular.isString(instance) || angular.isNumber(instance))
{\n
Login.c(90): instance = DS.get(resourceName, instance);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (angular.isString(relations)) {\n
Login.c(90): relations = [relations];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(instance)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'instance(Id): Must
be a string, number or
Login.c(90): object!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
a string or an array!')
Login.c(90): ;\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('findBelongsTo' in options)) {\n
Login.c(90): options.findBelongsTo = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('findHasMany' in options)) {\n
Login.c(90): options.findHasMany = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var tasks = [];\n
Login.c(90): var fields = [];\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): if (DS.utils.contains(relations, relationName)) {\n
Login.c(90): var task;\n
Login.c(90): var params = {};\n
Login.c(90): params[def.foreignKey] =
instance[definition.idAttribute];\n
Login.c(90): \n
Login.c(90): if (def.type === 'hasMany' && params[def.foreignKey]) {\n
Login.c(90): task = DS.findAll(relationName, params, options);\n
Login.c(90): } else if (def.type === 'hasOne') {\n
Login.c(90): if (def.localKey && instance[def.localKey]) {\n
Login.c(90): task = DS.find(relationName, instance[def.localKey],
options);\n
Login.c(90): } else if (def.foreignKey && params[def.foreignKey]) {\n
Login.c(90): task = DS.findAll(relationName, params,
options).then(function (hasOnes) {\n
Login.c(90): return hasOnes.length ? hasOnes[0] : null;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): } else if (instance[def.localKey]) {\n
Login.c(90): task = DS.find(relationName, instance[def.localKey],
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (task) {\n
Login.c(90): tasks.push(task);\n
Login.c(90): fields.push(def.localField);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): deferred.resolve();\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function () {\n
Login.c(90): return DS.$q.all(tasks);\n
Login.c(90): })\n
Login.c(90): .then(function (loadedRelations) {\n
Login.c(90): angular.forEach(fields, function (field, index) {\n
Login.c(90): instance[field] = loadedRelations[index];\n
Login.c(90): });\n
Login.c(90): return instance;\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = loadRelations;\n
Login.c(90): \n
Login.c(90): },{}],60:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.refresh(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:refresh\n
Login.c(90): * @name refresh\n
Login.c(90): * @description\n
Login.c(90): * Like `DS.find`, except the resource is only refreshed from the
adapter if it already ex
Login.c(90): ists in the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.refresh(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // Exists in the data store, but we want a fresh copy\n
Login.c(90): * DS.get('document', 5);\n
Login.c(90): *\n
Login.c(90): * DS.refresh('document', 5).then(function (document) {\n
Login.c(90): * document; // The fresh copy\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // Does not exist in the data store\n
Login.c(90): * DS.get('document', 6); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.refresh('document', 6).then(function (document) {\n
Login.c(90): * document; // undefined\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
refresh from the adapter.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `fi
Login.c(90): nd` method.\n
Login.c(90): * @returns {Promise} A Promise created by the $q service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object|undefined}` - `item` - The item returned by the
adapter or `undefined` if th
Login.c(90): e item wasn't already in the\n
Login.c(90): * data store.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function refresh(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must be
an object!');\n
Login.c(90): } else {\n
Login.c(90): options.bypassCache = true;\n
Login.c(90): \n
Login.c(90): if (DS.get(resourceName, id)) {\n
Login.c(90): return DS.find(resourceName, id, options);\n
Login.c(90): } else {\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): deferred.resolve();\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = refresh;\n
Login.c(90): \n
Login.c(90): },{}],61:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.save(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:save\n
Login.c(90): * @name save\n
Login.c(90): * @description\n
Login.c(90): * The "U" in "CRUD". Persist a single item already in the store
and in it's current form
Login.c(90): to whichever adapter is being\n
Login.c(90): * used (http by default) and inject the resulting item into the
data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.save(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var document = DS.get('document', 5);\n
Login.c(90): *\n
Login.c(90): * document.title = 'How to cook in style';\n
Login.c(90): *\n
Login.c(90): * DS.save('document', 5).then(function (document) {\n
Login.c(90): * document; // A reference to the document that's been
persisted via an adapter\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
save.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `up
Login.c(90): date` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): * - `{boolean=}` - `changesOnly` - Only send changed and added
values to the adapter. Def
Login.c(90): ault: `false`.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `validate` - Override the resource or global
lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `beforeUpdate` - Override t
Login.c(90): t=4083ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): he resource or global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterUpdate` - Override the resource or
global lifecycle hook.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The item returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function save(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must
be an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (!item) {\n
Login.c(90): throw new DS.errors.R(errorPrefix(resourceName, id) + 'id:
"' + id + '" not found!')
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(item);\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : defi
Login.c(90): nition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.valid
Login.c(90): ate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defini
Login.c(90): tion.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeUpdate ? DS.
$q.promisify(options.beforeUpdate) : definiti
Login.c(90): on.beforeUpdate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.changesOnly) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): resource.observers[id].deliver();\n
Login.c(90): var toKeep = [],\n
Login.c(90): changes = DS.changes(resourceName, id);\n
Login.c(90): \n
Login.c(90): for (var key in changes.added) {\n
Login.c(90): toKeep.push(key);\n
Login.c(90): }\n
Login.c(90): for (key in changes.changed) {\n
Login.c(90): toKeep.push(key);\n
Login.c(90): }\n
Login.c(90): changes = DS.utils.pick(attrs, toKeep);\n
Login.c(90): if (DS.utils.isEmpty(changes)) {\n
Login.c(90): // no changes, return\n
Login.c(90): return attrs;\n
Login.c(90): } else {\n
Login.c(90): attrs = changes;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].update(definition
Login.c(90): , id, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(re
Login.c(90): sourceName, attrs), options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterUpdate ? DS.
$q.promisify(options.afterUpdate) : definition
Login.c(90): .afterUpdate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : definit
Login.c(90): ion.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var saved = DS.inject(definition.name, attrs,
options);\n
Login.c(90): resource.previousAttributes[id] = DS.utils.deepMixIn({},
saved);\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): resource.observers[id].discardChanges();\n
Login.c(90): return DS.get(resourceName, id);\n
Login.c(90): } else {\n
Login.c(90): return attrs;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = save;\n
Login.c(90): \n
Login.c(90): },{}],62:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.update(' + resourceName + ', ' + id + ', attrs[,
options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @description\n
Login.c(90): * The "U" in "CRUD". Update the item of type `resourceName` and
primary key `id` with `at
Login.c(90): trs`. This is useful when you\n
Login.c(90): * want to update an item that isn't already in the data store, or
you don't want to updat
Login.c(90): e the item that's in the data\n
Login.c(90): * store until the adapter operation succeeds. This differs from
`DS.save` which simply sa
Login.c(90): ves items in their current\n
Login.c(90): * form that already exist in the data store. The resulting item
(by default) will be inje
Login.c(90): cted into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.update(resourceName, id, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 5); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.update('document', 5, {\n
Login.c(90): * title: 'How to cook in style'\n
Login.c(90): * }).then(function (document) {\n
Login.c(90): * document; // A reference to the document that's been saved
via an adapter\n
Login.c(90): * // and now resides in the data store\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
update.\n
Login.c(90): * @param {object} attrs The attributes with which to update the
item.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `up
Login.c(90): date` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `validate` - Override the resource or global
lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `beforeUpdate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterUpdate` - Override the resource or
global lifecycle hook.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The item returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function update(resourceName, id, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(attrs)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'attrs: Must be
an object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must
be an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(attrs);\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : defi
Login.c(90): nition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.valid
Login.c(90): ate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defini
Login.c(90): tion.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeUpdate ? DS.
$q.promisify(options.beforeUpdate) : definiti
Login.c(90): on.beforeUpdate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].update(definition
Login.c(90): , id, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(re
Login.c(90): sourceName, attrs), options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterUpdate ? DS.
$q.promisify(options.afterUpdate) : definition
Login.c(90): .afterUpdate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : definit
Login.c(90): ion.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var updated = DS.inject(definition.name, attrs,
options);\n
Login.c(90): var id = updated[definition.idAttribute];\n
Login.c(90): resource.previousAttributes[id] = DS.utils.deepMixIn({},
updated);\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): resource.observers[id].discardChanges();\n
Login.c(90): return DS.get(definition.name, id);\n
Login.c(90): } else {\n
Login.c(90): return attrs;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = update;\n
Login.c(90): \n
Login.c(90): },{}],63:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.updateAll(' + resourceName + ', attrs, params[,
options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @description\n
Login.c(90): * The "U" in "CRUD". Update items of type `resourceName` with
`attrs` according to the cr
Login.c(90): iteria specified by `params`.\n
Login.c(90): * This is useful when you want to update multiple items with the
same attributes or you d
Login.c(90): on't want to update the items\n
Login.c(90): * in the data store until the adapter operation succeeds. The
resulting items (by default
Login.c(90): ) will be injected into the\n
Login.c(90): * data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.updateAll(resourceName, attrs, params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var params = {\n
Login.c(90): * where: {\n
Login.c(90): * author: {\n
Login.c(90): * '==': 'John Anderson'\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * DS.filter('document', params); // []\n
Login.c(90): *\n
Login.c(90): * DS.updateAll('document', 5, {\n
Login.c(90): * author: 'Sally'\n
Login.c(90): * }, params).then(function (documents) {\n
Login.c(90): * documents; // The documents that were updated via an
adapter\n
Login.c(90): * // and now reside in the data store\n
Login.c(90): *\n
Login.c(90): * documents[0].author; // "Sally"\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} attrs The attributes with which to update the
items.\n
Login.c(90): * @param {object} params Parameter object that is serialized into
the query string. Defau
Login.c(90): lt properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `up
Login.c(90): dateAll` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the items returned by
the adapter into the da
Login.c(90): ta store. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{array}` - `items` - The items returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function updateAll(resourceName, attrs, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(attrs)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'attrs: Must be
Login.c(90): t=4099ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): an object!');\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(attrs);\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : defi
Login.c(90): nition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.valid
Login.c(90): ate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defini
Login.c(90): tion.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeUpdate ? DS.
$q.promisify(options.beforeUpdate) : definiti
Login.c(90): on.beforeUpdate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].updateAll(definit
Login.c(90): ion, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(res
Login.c(90): ourceName, attrs), params, options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterUpdate ? DS.
$q.promisify(options.afterUpdate) : definition
Login.c(90): .afterUpdate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : definit
Login.c(90): ion.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): return DS.inject(definition.name, attrs, options);\n
Login.c(90): } else {\n
Login.c(90): return attrs;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = updateAll;\n
Login.c(90): \n
Login.c(90): },{}],64:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils')[0]();\n
Login.c(90): \n
Login.c(90): function lifecycleNoop(resourceName, attrs, cb) {\n
Login.c(90): cb(null, attrs);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function Defaults() {\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): Defaults.prototype.idAttribute = 'id';\n
Login.c(90): Defaults.prototype.defaultAdapter = 'DSHttpAdapter';\n
Login.c(90): Defaults.prototype.defaultFilter = function (collection,
resourceName, params, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): var filtered = collection;\n
Login.c(90): var where = null;\n
Login.c(90): var reserved = {\n
Login.c(90): skip: '',\n
Login.c(90): offset: '',\n
Login.c(90): where: '',\n
Login.c(90): limit: '',\n
Login.c(90): orderBy: '',\n
Login.c(90): sort: ''\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (this.utils.isObject(params.where)) {\n
Login.c(90): where = params.where;\n
Login.c(90): } else {\n
Login.c(90): where = {};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.allowSimpleWhere) {\n
Login.c(90): this.utils.forEach(params, function (value, key) {\n
Login.c(90): if (!(key in reserved) && !(key in where)) {\n
Login.c(90): where[key] = {\n
Login.c(90): '==': value\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.utils.isEmpty(where)) {\n
Login.c(90): where = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (where) {\n
Login.c(90): filtered = this.utils.filter(filtered, function (attrs) {\n
Login.c(90): var first = true;\n
Login.c(90): var keep = true;\n
Login.c(90): _this.utils.forEach(where, function (clause, field) {\n
Login.c(90): if (_this.utils.isString(clause)) {\n
Login.c(90): clause = {\n
Login.c(90): '===': clause\n
Login.c(90): };\n
Login.c(90): } else if (_this.utils.isNumber(clause) ||
_this.utils.isBoolean(clause)) {\n
Login.c(90): clause = {\n
Login.c(90): '==': clause\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): if (_this.utils.isObject(clause)) {\n
Login.c(90): _this.utils.forEach(clause, function (val, op) {\n
Login.c(90): if (op === '==') {\n
Login.c(90): keep = first ? (attrs[field] == val) : keep &&
(attrs[field] == val);\n
Login.c(90): } else if (op === '===') {\n
Login.c(90): keep = first ? (attrs[field] === val) : keep &&
(attrs[field] === val);\n
Login.c(90): } else if (op === '!=') {\n
Login.c(90): keep = first ? (attrs[field] != val) : keep &&
(attrs[field] != val);\n
Login.c(90): } else if (op === '!==') {\n
Login.c(90): keep = first ? (attrs[field] !== val) : keep &&
(attrs[field] !== val);\n
Login.c(90): } else if (op === '>') {\n
Login.c(90): keep = first ? (attrs[field] > val) : keep &&
(attrs[field] > val);\n
Login.c(90): } else if (op === '>=') {\n
Login.c(90): keep = first ? (attrs[field] >= val) : keep &&
(attrs[field] >= val);\n
Login.c(90): } else if (op === '<') {\n
Login.c(90): keep = first ? (attrs[field] < val) : keep &&
(attrs[field] < val);\n
Login.c(90): } else if (op === '<=') {\n
Login.c(90): keep = first ? (attrs[field] <= val) : keep &&
(attrs[field] <= val);\n
Login.c(90): } else if (op === 'in') {\n
Login.c(90): keep = first ? _this.utils.contains(val,
attrs[field]) : keep && _this.utils
Login.c(90): .contains(val, attrs[field]);\n
Login.c(90): } else if (op === 'notIn') {\n
Login.c(90): keep = first ? !_this.utils.contains(val,
attrs[field]) : keep && !_this.uti
Login.c(90): ls.contains(val, attrs[field]);\n
Login.c(90): } else if (op === '|==') {\n
Login.c(90): keep = first ? (attrs[field] == val) : keep ||
(attrs[field] == val);\n
Login.c(90): } else if (op === '|===') {\n
Login.c(90): keep = first ? (attrs[field] === val) : keep ||
(attrs[field] === val);\n
Login.c(90): } else if (op === '|!=') {\n
Login.c(90): keep = first ? (attrs[field] != val) : keep ||
(attrs[field] != val);\n
Login.c(90): } else if (op === '|!==') {\n
Login.c(90): keep = first ? (attrs[field] !== val) : keep ||
(attrs[field] !== val);\n
Login.c(90): } else if (op === '|>') {\n
Login.c(90): keep = first ? (attrs[field] > val) : keep ||
(attrs[field] > val);\n
Login.c(90): } else if (op === '|>=') {\n
Login.c(90): keep = first ? (attrs[field] >= val) : keep ||
(attrs[field] >= val);\n
Login.c(90): } else if (op === '|<') {\n
Login.c(90): keep = first ? (attrs[field] < val) : keep ||
(attrs[field] < val);\n
Login.c(90): } else if (op === '|<=') {\n
Login.c(90): keep = first ? (attrs[field] <= val) : keep ||
(attrs[field] <= val);\n
Login.c(90): } else if (op === '|in') {\n
Login.c(90): keep = first ? _this.utils.contains(val,
attrs[field]) : keep || _this.utils
Login.c(90): .contains(val, attrs[field]);\n
Login.c(90): } else if (op === '|notIn') {\n
Login.c(90): keep = first ? !_this.utils.contains(val,
attrs[field]) : keep || !_this.uti
Login.c(90): ls.contains(val, attrs[field]);\n
Login.c(90): }\n
Login.c(90): first = false;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return keep;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var orderBy = null;\n
Login.c(90): \n
Login.c(90): if (this.utils.isString(params.orderBy)) {\n
Login.c(90): orderBy = [\n
Login.c(90): [params.orderBy, 'ASC']\n
Login.c(90): ];\n
Login.c(90): } else if (this.utils.isArray(params.orderBy)) {\n
Login.c(90): orderBy = params.orderBy;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!orderBy && this.utils.isString(params.sort)) {\n
Login.c(90): orderBy = [\n
Login.c(90): [params.sort, 'ASC']\n
Login.c(90): ];\n
Login.c(90): } else if (!orderBy && this.utils.isArray(params.sort)) {\n
Login.c(90): orderBy = params.sort;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Apply 'orderBy'\n
Login.c(90): if (orderBy) {\n
Login.c(90): angular.forEach(orderBy, function (def) {\n
Login.c(90): if (_this.utils.isString(def)) {\n
Login.c(90): def = [def, 'ASC'];\n
Login.c(90): } else if (!_this.utils.isArray(def)) {\n
Login.c(90): throw new
_this.errors.IllegalArgumentError('DS.filter(resourceName[, params][, op
Login.c(90): tions]): ' + angular.toJson(def) + ': Must be a string or an
array!', { params: { 'orderBy
Login.c(90): [i]': { actual: typeof def, expected: 'string|array' } } });\n
Login.c(90): }\n
Login.c(90): filtered = _this.utils.sort(filtered, function (a, b) {\n
Login.c(90): var cA = a[def[0]], cB = b[def[0]];\n
Login.c(90): if (_this.utils.isString(cA)) {\n
Login.c(90): cA = _this.utils.upperCase(cA);\n
Login.c(90): }\n
Login.c(90): if (_this.utils.isString(cB)) {\n
Login.c(90): cB = _this.utils.upperCase(cB);\n
Login.c(90): }\n
Login.c(90): if (def[1] === 'DESC') {\n
Login.c(90): if (cB < cA) {\n
Login.c(90): return -1;\n
Login.c(90): } else if (cB > cA) {\n
Login.c(90): return 1;\n
Login.c(90): } else {\n
Login.c(90): return 0;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (cA < cB) {\n
Login.c(90): return -1;\n
Login.c(90): } else if (cA > cB) {\n
Login.c(90): return 1;\n
Login.c(90): } else {\n
Login.c(90): return 0;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var limit = angular.isNumber(params.limit) ? params.limit :
null;\n
Login.c(90): var skip = null;\n
Login.c(90): \n
Login.c(90): if (angular.isNumber(params.skip)) {\n
Login.c(90): skip = params.skip;\n
Login.c(90): } else if (angular.isNumber(params.offset)) {\n
Login.c(90): skip = params.offset;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Apply 'limit' and 'skip'\n
Login.c(90): if (limit && skip) {\n
Login.c(90): filtered = this.utils.slice(filtered, skip,
Math.min(filtered.length, skip + limit));\n
Login.c(90): } else if (this.utils.isNumber(limit)) {\n
Login.c(90): filtered = this.utils.slice(filtered, 0,
Math.min(filtered.length, limit));\n
Login.c(90): } else if (this.utils.isNumber(skip)) {\n
Login.c(90): if (skip < filtered.length) {\n
Login.c(90): filtered = this.utils.slice(filtered, skip);\n
Login.c(90): } else {\n
Login.c(90): filtered = [];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return filtered;\n
Login.c(90): };\n
Login.c(90): Defaults.prototype.baseUrl = '';\n
Login.c(90): Defaults.prototype.endpoint = '';\n
Login.c(90): Defaults.prototype.useClass = true;\n
Login.c(90): Defaults.prototype.keepChangeHistory = false;\n
Login.c(90): Defaults.prototype.resetHistoryOnInject = true;\n
Login.c(90): Defaults.prototype.eagerInject = false;\n
Login.c(90): Defaults.prototype.eagerEject = false;\n
Login.c(90): Defaults.prototype.notify = true;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeValidate\n
Login.c(90): * @name defaults.beforeValidate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `validate` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeValidate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeValidate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeValidate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.validate\n
Login.c(90): * @name defaults.validate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `afterValidate` lifecycle step. Can be
overridden per resource as wel
Login.c(90): l.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * validate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.validate = function (resourceName, attrs,
cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.validate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterValidate\n
Login.c(90): * @name defaults.afterValidate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `beforeCreate` or `beforeUpdate` lifecycle
step. Can be overridden pe
Login.c(90): r resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterValidate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterValidate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterValidate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeCreate\n
Login.c(90): * @name defaults.beforeCreate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `create` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeCreate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * li
Login.c(90): t=4116ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): fecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeCreate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeCreate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterCreate\n
Login.c(90): * @name defaults.afterCreate\n
Login.c(90): * @description\n
Login.c(90): * Called after the `create` lifecycle step. Can be overridden per
resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterCreate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterCreate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterCreate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeUpdate\n
Login.c(90): * @name defaults.beforeUpdate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `update` or `save` lifecycle step. Can be
overridden per resource as
Login.c(90): well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeUpdate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeUpdate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeUpdate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterUpdate\n
Login.c(90): * @name defaults.afterUpdate\n
Login.c(90): * @description\n
Login.c(90): * Called after the `update` or `save` lifecycle step. Can be
overridden per resource as w
Login.c(90): ell.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterUpdate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterUpdate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterUpdate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeDestroy\n
Login.c(90): * @name defaults.beforeDestroy\n
Login.c(90): * @description\n
Login.c(90): * Called before the `destroy` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeDestroy(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeDestroy = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeDestroy = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterDestroy\n
Login.c(90): * @name defaults.afterDestroy\n
Login.c(90): * @description\n
Login.c(90): * Called after the `destroy` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterDestroy(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterDestroy = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterDestroy = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeInject\n
Login.c(90): * @name defaults.beforeInject\n
Login.c(90): * @description\n
Login.c(90): * Called before the `inject` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeInject(resourceName, attrs)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Throwing an error inside this step will cancel the injection.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeInject = function (resourceName,
attrs) {\n
Login.c(90): * // do somthing/inspect/modify attrs\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeInject = function (resourceName, attrs)
{\n
Login.c(90): return attrs;\n
Login.c(90): };\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterInject\n
Login.c(90): * @name defaults.afterInject\n
Login.c(90): * @description\n
Login.c(90): * Called after the `inject` lifecycle step. Can be overridden per
resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterInject(resourceName, attrs)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Throwing an error inside this step will cancel the injection.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterInject = function (resourceName,
attrs) {\n
Login.c(90): * // do somthing/inspect/modify attrs\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterInject = function (resourceName, attrs)
{\n
Login.c(90): return attrs;\n
Login.c(90): };\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.serialize\n
Login.c(90): * @name defaults.serialize\n
Login.c(90): * @description\n
Login.c(90): * Your server might expect a custom request object rather than
the plain POJO payload. Us
Login.c(90): e `serialize` to\n
Login.c(90): * create your custom request object.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.serialize = function (resourceName, data)
{\n
Login.c(90): * return {\n
Login.c(90): * payload: data\n
Login.c(90): * };\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource to
serialize.\n
Login.c(90): * @param {object} data Data to be sent to the server.\n
Login.c(90): * @returns {*} By default returns `data` as-is.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.serialize = function (resourceName, data) {\n
Login.c(90): return data;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.deserialize\n
Login.c(90): * @name DSProvider.properties:defaults.deserialize\n
Login.c(90): * @description\n
Login.c(90): * Your server might return a custom response object instead of
the plain POJO payload. Us
Login.c(90): e `deserialize` to\n
Login.c(90): * pull the payload out of your response object so angular-data
can use it.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.deserialize = function (resourceName,
data) {\n
Login.c(90): * return data ? data.payload : data;\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource to
deserialize.\n
Login.c(90): * @param {object} data Response object from `$http()`.\n
Login.c(90): * @returns {*} By default returns `data.data`.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.deserialize = function (resourceName, data) {\n
Login.c(90): return data ? (data.data ? data.data : data) : data;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.events\n
Login.c(90): * @name DSProvider.properties:defaults.events\n
Login.c(90): * @description\n
Login.c(90): * Whether to broadcast, emit, or disable DS events on the
`$rootScope`.\n
Login.c(90): *\n
Login.c(90): * Possible values are: `"broadcast"`, `"emit"`, `"none"`.\n
Login.c(90): *\n
Login.c(90): * `"broadcast"` events will be [broadcasted]
(https://code.angularjs.org/1.2.22/docs/api/n
Login.c(90): g/type/$rootScope.Scope#$broadcast) on the `$rootScope`.\n
Login.c(90): *\n
Login.c(90): * `"emit"` events will be [emitted]
(https://code.angularjs.org/1.2.22/docs/api/ng/type/$r
Login.c(90): ootScope.Scope#$emit) on the `$rootScope`.\n
Login.c(90): *\n
Login.c(90): * `"none"` events will be will neither be broadcasted nor
emitted.\n
Login.c(90): *\n
Login.c(90): * Current events are `"DS.inject"` and `"DS.eject"`.\n
Login.c(90): *\n
Login.c(90): * Overridable per resource.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.events = 'broadcast';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSProvider\n
Login.c(90): * @name DSProvider\n
Login.c(90): */\n
Login.c(90): function DSProvider() {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * See the [configuration guide]
(/documentation/guide/configure/global).\n
Login.c(90): *\n
Login.c(90): * Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string}` - `baseUrl` - The url relative to which all AJAX
requests will be made.\n
Login.c(90): * - `{string}` - `idAttribute` - Default: `"id"` - The
attribute that specifies the pri
Login.c(90): mary key for resources.\n
Login.c(90): * - `{string}` - `defaultAdapter` - Default:
`"DSHttpAdapter"`\n
Login.c(90): * - `{string}` - `events` - Default: `"broadcast"`
[DSProvider.defaults.events](/docume
Login.c(90): ntation/api/angular-data/DSProvider.properties:defaults.events)\n
Login.c(90): * - `{function}` - `filter` - Default: See [angular-data query
language](/documentation
Login.c(90): /guide/queries/custom).\n
Login.c(90): * - `{function}` - `beforeValidate` - See
[DSProvider.defaults.beforeValidate](/documen
Login.c(90): tation/api/angular-
data/DSProvider.properties:defaults.beforeValidate). Default: No-op\n
Login.c(90): * - `{function}` - `validate` - See
[DSProvider.defaults.validate](/documentation/api/a
Login.c(90): ngular-data/DSProvider.properties:defaults.validate). Default: No-
op\n
Login.c(90): * - `{function}` - `afterValidate` - See
[DSProvider.defaults.afterValidate](/documenta
Login.c(90): tion/api/angular-
data/DSProvider.properties:defaults.afterValidate). Default: No-op\n
Login.c(90): * - `{function}` - `beforeCreate` - See
[DSProvider.defaults.beforeCreate](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.beforeCreate).
Default: No-op\n
Login.c(90): * - `{function}` - `afterCreate` - See
[DSProvider.defaults.afterCreate](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaul
Login.c(90): t=4130ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ts.afterCreate). Default: No-op\n
Login.c(90): * - `{function}` - `beforeUpdate` - See
[DSProvider.defaults.beforeUpdate](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.beforeUpdate).
Default: No-op\n
Login.c(90): * - `{function}` - `afterUpdate` - See
[DSProvider.defaults.afterUpdate](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaults.afterUpdate).
Default: No-op\n
Login.c(90): * - `{function}` - `beforeDestroy` - See
[DSProvider.defaults.beforeDestroy](/documenta
Login.c(90): tion/api/angular-
data/DSProvider.properties:defaults.beforeDestroy). Default: No-op\n
Login.c(90): * - `{function}` - `afterDestroy` - See
[DSProvider.defaults.afterDestroy](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.afterDestroy).
Default: No-op\n
Login.c(90): * - `{function}` - `afterInject` - See
[DSProvider.defaults.afterInject](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaults.afterInject).
Default: No-op\n
Login.c(90): * - `{function}` - `beforeInject` - See
[DSProvider.defaults.beforeInject](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.beforeInject).
Default: No-op\n
Login.c(90): * - `{function}` - `serialize` - See
[DSProvider.defaults.serialize](/documentation/api
Login.c(90): /angular-data/DSProvider.properties:defaults.serialize). Default:
No-op\n
Login.c(90): * - `{function}` - `deserialize` - See
[DSProvider.defaults.deserialize](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaults.deserialize).
Default: No-op\n
Login.c(90): */\n
Login.c(90): var defaults = this.defaults = new Defaults();\n
Login.c(90): \n
Login.c(90): this.$get = [\n
Login.c(90): '$rootScope', '$log', '$q', 'DSHttpAdapter',
'DSLocalStorageAdapter', 'DSUtils', 'DSEr
Login.c(90): rors',\n
Login.c(90): function ($rootScope, $log, $q, DSHttpAdapter,
DSLocalStorageAdapter, DSUtils, DSError
Login.c(90): s) {\n
Login.c(90): \n
Login.c(90): var syncMethods = require('./sync_methods'),\n
Login.c(90): asyncMethods = require('./async_methods'),\n
Login.c(90): cache;\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): cache = angular.injector(['angular-
data.DSCacheFactory']).get('DSCacheFactory');\n
Login.c(90): } catch (err) {\n
Login.c(90): $log.warn(err);\n
Login.c(90): $log.warn('DSCacheFactory is unavailable. Resorting to the
lesser capabilities of
Login.c(90): $cacheFactory.');\n
Login.c(90): cache = angular.injector(['ng']).get('$cacheFactory');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id DS\n
Login.c(90): * @name DS\n
Login.c(90): * @description\n
Login.c(90): * Public data store interface. Consists of several
properties and a number of metho
Login.c(90): ds. Injectable as `DS`.\n
Login.c(90): *\n
Login.c(90): * See the [guide](/documentation/guide/overview/index).\n
Login.c(90): */\n
Login.c(90): var DS = {\n
Login.c(90): emit: function (definition, event) {\n
Login.c(90): var args = Array.prototype.slice.call(arguments, 2);\n
Login.c(90): args.unshift(definition.name);\n
Login.c(90): args.unshift('DS.' + event);\n
Login.c(90): definition.emit.apply(definition, args);\n
Login.c(90): if (definition.events === 'broadcast') {\n
Login.c(90): $rootScope.$broadcast.apply($rootScope, args);\n
Login.c(90): } else if (definition.events === 'emit') {\n
Login.c(90): $rootScope.$emit.apply($rootScope, args);\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): $rootScope: $rootScope,\n
Login.c(90): $log: $log,\n
Login.c(90): $q: $q,\n
Login.c(90): \n
Login.c(90): cacheFactory: cache,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * Reference to [DSProvider.defaults]
(/documentation/api/api/DSProvider.properties
Login.c(90): :defaults).\n
Login.c(90): */\n
Login.c(90): defaults: defaults,\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:store\n
Login.c(90): * @name store\n
Login.c(90): * @description\n
Login.c(90): * Meta data for each registered resource.\n
Login.c(90): */\n
Login.c(90): store: {},\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:definitions\n
Login.c(90): * @name definitions\n
Login.c(90): * @description\n
Login.c(90): * Registered resource definitions available to the data
store.\n
Login.c(90): */\n
Login.c(90): definitions: {},\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:adapters\n
Login.c(90): * @name adapters\n
Login.c(90): * @description\n
Login.c(90): * Registered adapters available to the data store. Object
consists of key-values
Login.c(90): pairs where the key is\n
Login.c(90): * the name of the adapter and the value is the adapter
itself.\n
Login.c(90): */\n
Login.c(90): adapters: {\n
Login.c(90): DSHttpAdapter: DSHttpAdapter,\n
Login.c(90): DSLocalStorageAdapter: DSLocalStorageAdapter\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:errors\n
Login.c(90): * @name errors\n
Login.c(90): * @description\n
Login.c(90): * References to the various [error types]
(/documentation/api/api/errors) used by
Login.c(90): angular-data.\n
Login.c(90): */\n
Login.c(90): errors: DSErrors,\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:utils\n
Login.c(90): * @name utils\n
Login.c(90): * @description\n
Login.c(90): * Utility functions used internally by angular-data.\n
Login.c(90): */\n
Login.c(90): utils: DSUtils\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): DSUtils.deepFreeze(syncMethods);\n
Login.c(90): DSUtils.deepFreeze(asyncMethods);\n
Login.c(90): \n
Login.c(90): DSUtils.deepMixIn(DS, syncMethods);\n
Login.c(90): DSUtils.deepMixIn(DS, asyncMethods);\n
Login.c(90): \n
Login.c(90): DSUtils.deepFreeze(DS.errors);\n
Login.c(90): DSUtils.deepFreeze(DS.utils);\n
Login.c(90): \n
Login.c(90): DSHttpAdapter.DS = DS;\n
Login.c(90): DSLocalStorageAdapter.DS = DS;\n
Login.c(90): \n
Login.c(90): if (typeof Object.observe !== 'function' ||\n
Login.c(90): typeof Array.observe !== 'function') {\n
Login.c(90): $rootScope.$watch(function () {\n
Login.c(90): // Throttle angular-data's digest loop to tenths of a
second\n
Login.c(90): return new Date().getTime() / 100 | 0;\n
Login.c(90): }, function () {\n
Login.c(90): DS.digest();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return DS;\n
Login.c(90): }\n
Login.c(90): ];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSProvider;\n
Login.c(90): \n
Login.c(90): },{"../utils":89,"./async_methods":58,"./sync_methods":78}],65:
[function(require,module,ex
Login.c(90): ports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.bindAll(scope, expr, ' + resourceName + ', params[,
cb]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindAll\n
Login.c(90): * @name bindAll\n
Login.c(90): * @description\n
Login.c(90): * Bind a collection of items in the data store to `scope` under
the property specified by
Login.c(90): `expr` filtered by `params`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.bindAll(scope, expr, resourceName, params[, cb])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // bind the documents with ownerId of 5 to the 'docs' property
of the $scope\n
Login.c(90): * var deregisterFunc = DS.bindAll($scope, 'docs', 'document', {\n
Login.c(90): * where: {\n
Login.c(90): * ownerId: 5\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {object} scope The scope to bind to.\n
Login.c(90): * @param {string} expr An expression used to bind to the scope.
Can be used to set nested
Login.c(90): keys, i.e. `"user.comments"`.\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} params Parameter object that is used in
filtering the collection. Prope
Login.c(90): rties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {function=} cb Optional callback executed on change.
Signature: `cb(err, items)`
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @returns {function} Scope $watch deregistration function.\n
Login.c(90): */\n
Login.c(90): function bindAll(scope, expr, resourceName, params, cb) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): params = params || {};\n
Login.c(90): \n
Login.c(90): if (!DS.utils.isObject(scope)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'scope: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isString(expr)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'expr: Must be a
string!');\n
Login.c(90): } else if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): return scope.$watch(function () {\n
Login.c(90): return DS.lastModified(resourceName);\n
Login.c(90): }, function () {\n
Login.c(90): var items = DS.filter(resourceName, params);\n
Login.c(90): DS.utils.set(scope, expr, items);\n
Login.c(90): if (cb) {\n
Login.c(90): cb(null, items);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): if (cb) {\n
Login.c(90): cb(err);\n
Login.c(90): } else {\n
Login.c(90): throw err;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = bindAll;\n
Login.c(90): \n
Login.c(90): },{}],66:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.bindOne(scope, expr, ' + resourceName + ', id[, cb]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindOne\n
Login.c(90): * @name bindOne\n
Login.c(90): * @description\n
Login.c(90): * Bind an item in the data store to `scope` under the property
specified by `expr`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.bindOne(scope, expr, resourceName, id[, cb])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // bind the document with id 5 to the 'doc' property of the
$scope\n
Login.c(90): * var deregisterFunc = DS.bindOne($scope, 'doc', 'document',
5);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {object} scope The scope to bind to.\n
Login.c(90): * @param {string} expr An expression used to bind to the scope.
Can be used to set nested
Login.c(90): keys, i.e. `"user.profile"`.\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
bind.\n
Login.c(90): * @param {function=} cb Optional callback executed on change.
Signature: `cb(err, item)`.
Login.c(90): \n
Login.c(90): * @returns {function} Scope $watch deregistration function.\n
Login.c(90): */\n
Login.c(90): function bindOne(scope, expr, resourceName, id, cb) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.utils.isObject(scope)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'scope: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isString(expr)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'expr: Must be a
string!');\n
Login.c(90): } else if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): return scope.$watch(function () {\n
Login.c(90): return DS.lastModified(resourceName, id);\n
Login.c(90): }, function () {\n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): DS.utils.set(scope, expr, item);\n
Login.c(90): if (cb) {\n
Login.c(90): cb(null, item);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): if (cb) {\n
Login.c(90): cb(err);\n
Login.c(90): } else {\n
Login.c(90): throw err;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = bindOne;\n
Login.c(90): \n
Login.c(90): },{}],67:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.changeHistory(' + resourceName + ', id): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changeHistory\n
Login.c(90): * @name changeHistory\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the changeHistory of the item of the type
specified by `resourceNa
Login.c(90): me` that has the primary key\n
Login.c(90): * specified by `id`. This object represents the history of
changes in the item since the
Login.c(90): item was last injected or\n
Login.c(90): * re-injected (on save, update, etc.) into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.changeHistory(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You might have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.changeHistory('document', 5); // [{...}] Array of changes\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number=} id The primary key of the item for
which to retrieve the change
Login.c(90): History.\n
Login.c(90): * @returns {object} The changeHistory of the item of the type
specified by `resourceName`
Login.c(90): with the primary key specified by `id`.\n
Login.c(90): */\n
Login.c(90): function changeHistory(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): var DSUtils = DS.utils;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (resourceName && !DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (id && !DSUtils.isString(id) && !DSUtils.isNumber(id))
{\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'id: Must
be a string or a number!'
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!definition.keepChangeHistory) {\n
Login.c(90): DS.$log.warn(errorPrefix(resourceName) + 'changeHistory is
disabled for this resource!
Login.c(90): ');\n
Login.c(90): } else {\n
Login.c(90): if (resourceName) {\n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (item) {\n
Login.c(90): return resource.changeHistories[id];\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return resource.changeHistory;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = changeHistory;\n
Login.c(90): \n
Login.c(90): },{}],68:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.changes(' + resourceName + ', id): '
Login.c(90): t=4146ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changes\n
Login.c(90): * @name changes\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the changes object of the item of the type
specified by `resourceN
Login.c(90): ame` that has the primary key\n
Login.c(90): * specified by `id`. This object represents the diff between the
item in its current stat
Login.c(90): e and the state of the item\n
Login.c(90): * the last time it was saved via an adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.changes(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You might have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.changes('document', 5); // {...} Object describing changes\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item of the
changes to retrieve.\n
Login.c(90): * @returns {object} The changes of the item of the type specified
by `resourceName` with
Login.c(90): the primary key specified by `id`.\n
Login.c(90): */\n
Login.c(90): function changes(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'id: Must
be a string or a number!'
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (item) {\n
Login.c(90): DS.store[resourceName].observers[id].deliver();\n
Login.c(90): var diff = DS.utils.diffObjectFromOldObject(item,
DS.store[resourceName].previousAttri
Login.c(90): butes[id]);\n
Login.c(90): DS.utils.forEach(diff, function (changeset, name) {\n
Login.c(90): var toKeep = [];\n
Login.c(90): DS.utils.forEach(changeset, function (value, field) {\n
Login.c(90): if (!angular.isFunction(value)) {\n
Login.c(90): toKeep.push(field);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): diff[name] = DS.utils.pick(diff[name], toKeep);\n
Login.c(90): });\n
Login.c(90): DS.utils.forEach(DS.definitions[resourceName].relationFields,
function (field) {\n
Login.c(90): delete diff.added[field];\n
Login.c(90): delete diff.removed[field];\n
Login.c(90): delete diff.changed[field];\n
Login.c(90): });\n
Login.c(90): return diff;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = changes;\n
Login.c(90): \n
Login.c(90): },{}],69:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.compute(' + resourceName + ', instance): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _compute(fn, field) {\n
Login.c(90): var _this = this;\n
Login.c(90): var args = [];\n
Login.c(90): angular.forEach(fn.deps, function (dep) {\n
Login.c(90): args.push(_this[dep]);\n
Login.c(90): });\n
Login.c(90): // compute property\n
Login.c(90): this[field] = fn[fn.length - 1].apply(this, args);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:compute\n
Login.c(90): * @name compute\n
Login.c(90): * @description\n
Login.c(90): * Force the given instance or the item with the given primary key
to recompute its comput
Login.c(90): ed properties.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.compute(resourceName, instance)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var User = DS.defineResource({\n
Login.c(90): * name: 'user',\n
Login.c(90): * computed: {\n
Login.c(90): * fullName: ['first', 'last', function (first, last) {\n
Login.c(90): * return first + ' ' + last;\n
Login.c(90): * }]\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * var user = User.createInstance({ first: 'John', last:
'Doe' });\n
Login.c(90): * user.fullName; // undefined\n
Login.c(90): *\n
Login.c(90): * User.compute(user);\n
Login.c(90): *\n
Login.c(90): * user.fullName; // "John Doe"\n
Login.c(90): *\n
Login.c(90): * var user2 = User.inject({ id: 2, first: 'Jane', last:
'Doe' });\n
Login.c(90): * user2.fullName; // undefined\n
Login.c(90): *\n
Login.c(90): * User.compute(1);\n
Login.c(90): *\n
Login.c(90): * user2.fullName; // "Jane Doe"\n
Login.c(90): *\n
Login.c(90): * // if you don't pass useClass: false then you can do:\n
Login.c(90): * var user3 = User.createInstance({ first: 'Sally', last:
'Doe' });\n
Login.c(90): * user3.fullName; // undefined\n
Login.c(90): * user3.DSCompute();\n
Login.c(90): * user3.fullName; // "Sally Doe"\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object|string|number} instance Instance or primary key
of the instance (must be
Login.c(90): in the store) for which to recompute properties.\n
Login.c(90): * @returns {Object} The instance.\n
Login.c(90): */\n
Login.c(90): function compute(resourceName, instance) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): instance = DS.utils.resolveItem(DS.store[resourceName],
instance);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(instance) && !
DS.utils.isString(instance) && !DS.utils.isN
Login.c(90): umber(instance)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'instance: Must be an
object, string or numbe
Login.c(90): r!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (DS.utils.isString(instance) || DS.utils.isNumber(instance))
{\n
Login.c(90): instance = DS.get(resourceName, instance);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.computed, function (fn, field) {\n
Login.c(90): _compute.call(instance, fn, field);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return instance;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = {\n
Login.c(90): compute: compute,\n
Login.c(90): _compute: _compute\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],70:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.createInstance(' + resourceName + '[, attrs][,
options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:createInstance\n
Login.c(90): * @name createInstance\n
Login.c(90): * @description\n
Login.c(90): * Return a new instance of the specified resource.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.createInstance(resourceName[, attrs][, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var User = DS.defineResource({\n
Login.c(90): * name: 'user',\n
Login.c(90): * methods: {\n
Login.c(90): * say: function () {\n
Login.c(90): * return 'hi';\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * var user = User.createInstance();\n
Login.c(90): * var user2 = DS.createInstance('user');\n
Login.c(90): *\n
Login.c(90): * user instanceof User[User.class]; // true\n
Login.c(90): * user2 instanceof User[User.class]; // true\n
Login.c(90): *\n
Login.c(90): * user.say(); // hi\n
Login.c(90): * user2.say(); // hi\n
Login.c(90): *\n
Login.c(90): * var user3 = User.createInstance({ name: 'John' }, { useClass:
false });\n
Login.c(90): * var user4 = DS.createInstance('user', { name: 'John' },
{ useClass: false });\n
Login.c(90): *\n
Login.c(90): * user3; // { name: 'John' }\n
Login.c(90): * user3 instanceof User[User.class]; // false\n
Login.c(90): *\n
Login.c(90): * user4; // { name: 'John' }\n
Login.c(90): * user4 instanceof User[User.class]; // false\n
Login.c(90): *\n
Login.c(90): * user3.say(); // TypeError: undefined is not a function\n
Login.c(90): * user4.say(); // TypeError: undefined is not a function\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} attrs Optional attributes to mix in to the new
instance.\n
Login.c(90): * @param {object=} options Optional configuration. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): *\n
Login.c(90): * @returns {object} The new instance.\n
Login.c(90): */\n
Login.c(90): function createInstance(resourceName, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): attrs = attrs || {};\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (attrs && !DS.utils.isObject(attrs)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'attrs: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('useClass' in options)) {\n
Login.c(90): options.useClass = definition.useClass;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item;\n
Login.c(90): \n
Login.c(90): if (options.useClass) {\n
Login.c(90): var Func = definition[definition.class];\n
Login.c(90): item = new Func();\n
Login.c(90): } else {\n
Login.c(90): item = {};\n
Login.c(90): }\n
Login.c(90): return DS.utils.deepMixIn(item, attrs);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = createInstance;\n
Login.c(90): \n
Login.c(90): },{}],71:[function(require,module,exports){\n
Login.c(90): /*jshint evil:true*/\n
Login.c(90): var errorPrefix = 'DS.defineResource(definition): ';\n
Login.c(90): \n
Login.c(90): function Resource(utils, options) {\n
Login.c(90): \n
Login.c(90): utils.deepMixIn(this, options);\n
Login.c(90): \n
Login.c(90): if ('endpoint' in options) {\n
Login.c(90): this.endpoint = options.endpoint;\n
Login.c(90): } else {\n
Login.c(90): this.endpoint = this.name;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var methodsToProxy = [\n
Login.c(90): 'bindAll',\n
Login.c(90): 'bindOne',\n
Login.c(90): 'changes',\n
Login.c(90): 'changeHistory',\n
Login.c(90): 'create',\n
Login.c(90): 'createInstance',\n
Login.c(90): 'destroy',\n
Login.c(90): 'destroyAll',\n
Login.c(90): 'eject',\n
Login.c(90): 'ejectAll',\n
Login.c(90): 'filter',\n
Login.c(90): 'find',\n
Login.c(90): 'findAll',\n
Login.c(90): 'get',\n
Login.c(90): 'hasChanges',\n
Login.c(90): 'inject',\n
Login.c(90): 'lastModified',\n
Login.c(90): 'lastSaved',\n
Login.c(90): 'link',\n
Login.c(90): 'linkAll',\n
Login.c(90): 'linkInverse',\n
Login.c(90): 'loadRelations',\n
Login.c(90): 'previous',\n
Login.c(90): 'refresh',\n
Login.c(90): 'save',\n
Login.c(90): 'update',\n
Login.c(90): 'updateAll'\n
Login.c(90): ];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:defineResource\n
Login.c(90): * @name defineResource\n
Login.c(90): * @description\n
Login.c(90): * Define a resource and register it with the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.defineResource(definition)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.defineResource({\n
Login.c(90): * name: 'document',\n
Login.c(90): * idAttribute: '_id',\n
Login.c(90): * endpoint: '/documents\n
Login.c(90): * baseUrl: 'http://myapp.com/api',\n
Login.c(90): * beforeDestroy: function (resourceName attrs, cb) {\n
Login.c(90): * console.log('looks good to me');\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): *\n
Login.c(90): * @param {string|object} definition Name of resource or resource
definition object: Prope
Login.c(90): rties:\n
Login.c(90): *\n
Login.c(90): * - `{string}` - `name` - The name by which this resource will be
identified.\n
Login.c(90): * - `{string="id"}` - `idAttribute` - The attribute that
specifies the primary key for th
Login.c(90): is resource.\n
Login.c(90): * - `{string=}` - `endpoint` - The attribute that specifies the
primary key for this reso
Login.c(90): urce. Default is the value of `name`.\n
Login.c(90): * - `{string=}` - `baseUrl` - The url relative to which all AJAX
requests will be made.\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to use a wrapper class
created from the ProperCas
Login.c(90): e name of the resource. The wrapper will always be used for
resources that have `methods`
Login.c(90): defined.\n
Login.c(90): * - `{boolean=}` - `keepChangeHistory` - Whether to keep a
history of changes for items i
Login.c(90): n the data store. Default: `false`.\n
Login.c(90): * - `{boolean=}` - `resetHistoryOnInject` - Whether to reset the
history of changes for i
Login.c(90): tems when they are injected of re-injected into the data store.
This will also reset an it
Login.c(90): em's previous attributes. Default: `true`.\n
Login.c(90): * - `{function=}` - `defaultFilter` - Override the filtering used
internally by `DS.filte
Login.c(90): r` with you own function here.\n
Login.c(90): * - `{*=}` - `meta` - A property reserved for developer use. This
will never be used by t
Login.c(90): he API.\n
Login.c(90): * - `{object=}` - `methods` - If provided, items of this resource
will be wrapped in a co
Login.c(90): nstructor function that is\n
Login.c(90): * empty save for the attributes in this option which will be
mixed in to the constructor
Login.c(90): function prototype. Enabling\n
Login.c(90): * this feature for this resource will incur a slight performance
penalty, but allows you
Login.c(90): to give custom behavior to what\n
Login.c(90): * are now "instances" of this resource.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Lifecycle hook. Overrides
global. Signature: `befo
Login.c(90): reValidate(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `validate` - Lifecycle hook. Overrides
global. Signature: `validate(r
Login.c(90): esourceName, attrs, cb)`. Callback signature: `cb(err, attrs)`.\n
Login.c(90): * - `{function=}` - `afterValidate` - Lifecycle hook. Overrides
global. Signature: `after
Login.c(90): Validate(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeCreate` - Lifecycle hook. Overrides
global. Signature: `before
Login.c(90): Create(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `afterCreate` - Lifecycle hook. Overrides
global. Signature: `afterCr
Login.c(90): eate(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeUpdate` - Lifecycle hook. Overrides
global. Signature: `before
Login.c(90): Update(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `afterUpdate` - Lifecycle hook. Overrides
global. Signature: `afterUp
Login.c(90): date(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeDestroy` - Lifecycle hook. Overrides
global. Signature: `befor
Login.c(90): eDestroy(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `afterDestroy` - Lifecycle hook. Overrides
global. Signature: `afterD
Login.c(90): estroy(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeInject` - Lifecycle hook. Overrides
global. Signature: `before
Login.c(90): Inject(resourceName, attrs)`.\n
Login.c(90): * - `{function=}` - `afterInject` - Lifecycle hook. Overrides
global. Signature: `afterIn
Login.c(90): ject(resourceName, attrs)`.\n
Login.c(90): * - `{function=}` - `serialize` - Serialization hook. Overrides
global. Signature: `seria
Login.c(90): lize(resourceName, attrs)`.\n
Login.c(90): * - `{function=}` - `deserialize` - Deserialization hook.
Overrides global. Signature: `d
Login.c(90): eserialize(resourceName, attrs)`.\n
Login.c(90): *\n
Login.c(90): * See [DSProvider.defaults](/documentation
Login.c(90): t=4163ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): /api/angular-data/DSProvider.properties:defaults).\n
Login.c(90): */\n
Login.c(90): function defineResource(definition) {\n
Login.c(90): var DS = this;\n
Login.c(90): var DSUtils = DS.utils;\n
Login.c(90): var definitions = DS.definitions;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): if (DSUtils.isString(definition)) {\n
Login.c(90): definition = definition.replace(/\\s/gi, '');\n
Login.c(90): definition = {\n
Login.c(90): name: definition\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): if (!DSUtils.isObject(definition)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition: Must be an
object!');\n
Login.c(90): } else if (!DSUtils.isString(definition.name)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition.name: Must be a
string!');\n
Login.c(90): } else if (definition.idAttribute && !
DSUtils.isString(definition.idAttribute)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition.idAttribute: Must be a
string!');\n
Login.c(90): } else if (definition.endpoint && !
DSUtils.isString(definition.endpoint)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition.endpoint: Must be a
string!');\n
Login.c(90): } else if (DS.store[definition.name]) {\n
Login.c(90): throw new DS.errors.R(errorPrefix + definition.name + ' is
already registered!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): // Inherit from global defaults\n
Login.c(90): Resource.prototype = DS.defaults;\n
Login.c(90): definitions[definition.name] = new Resource(DSUtils,
definition);\n
Login.c(90): \n
Login.c(90): var def = definitions[definition.name];\n
Login.c(90): \n
Login.c(90): // Setup nested parent configuration\n
Login.c(90): if (def.relations) {\n
Login.c(90): def.relationList = [];\n
Login.c(90): def.relationFields = [];\n
Login.c(90): DSUtils.forEach(def.relations, function (relatedModels,
type) {\n
Login.c(90): DSUtils.forEach(relatedModels, function (defs,
relationName) {\n
Login.c(90): if (!DSUtils.isArray(defs)) {\n
Login.c(90): relatedModels[relationName] = [defs];\n
Login.c(90): }\n
Login.c(90): DSUtils.forEach(relatedModels[relationName], function
(d) {\n
Login.c(90): d.type = type;\n
Login.c(90): d.relation = relationName;\n
Login.c(90): d.name = def.name;\n
Login.c(90): def.relationList.push(d);\n
Login.c(90): def.relationFields.push(d.localField);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): if (def.relations.belongsTo) {\n
Login.c(90): DSUtils.forEach(def.relations.belongsTo, function
(relatedModel, modelName) {\n
Login.c(90): DSUtils.forEach(relatedModel, function (relation) {\n
Login.c(90): if (relation.parent) {\n
Login.c(90): def.parent = modelName;\n
Login.c(90): def.parentKey = relation.localKey;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): DSUtils.deepFreeze(def.relations);\n
Login.c(90): DSUtils.deepFreeze(def.relationList);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): def.getEndpoint = function (attrs, options) {\n
Login.c(90): var parent = this.parent;\n
Login.c(90): var parentKey = this.parentKey;\n
Login.c(90): var item;\n
Login.c(90): var endpoint;\n
Login.c(90): var thisEndpoint = options.endpoint || this.endpoint;\n
Login.c(90): delete options.endpoint;\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (parent && parentKey && definitions[parent] &&
options.params[parentKey] !== fals
Login.c(90): e) {\n
Login.c(90): if (DSUtils.isNumber(attrs) || DSUtils.isString(attrs))
{\n
Login.c(90): item = DS.get(this.name, attrs);\n
Login.c(90): }\n
Login.c(90): if (DSUtils.isObject(attrs) && parentKey in attrs) {\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): endpoint =
DSUtils.makePath(definitions[parent].getEndpoint(attrs, options), att
Login.c(90): rs[parentKey], thisEndpoint);\n
Login.c(90): } else if (item && parentKey in item) {\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): endpoint =
DSUtils.makePath(definitions[parent].getEndpoint(attrs, options), ite
Login.c(90): m[parentKey], thisEndpoint);\n
Login.c(90): } else if (options && options.params[parentKey]) {\n
Login.c(90): endpoint =
DSUtils.makePath(definitions[parent].getEndpoint(attrs, options), opt
Login.c(90): ions.params[parentKey], thisEndpoint);\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (options.params[parentKey] === false) {\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): }\n
Login.c(90): return endpoint || thisEndpoint;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Remove this in v0.11.0 and make a breaking change notice\n
Login.c(90): // the the `filter` option has been renamed to
`defaultFilter`\n
Login.c(90): if (def.filter) {\n
Login.c(90): def.defaultFilter = def.filter;\n
Login.c(90): delete def.filter;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Setup the cache\n
Login.c(90): var cache = DS.cacheFactory('DS.' + def.name, {\n
Login.c(90): maxAge: def.maxAge || null,\n
Login.c(90): recycleFreq: def.recycleFreq || 1000,\n
Login.c(90): cacheFlushInterval: def.cacheFlushInterval || null,\n
Login.c(90): deleteOnExpire: def.deleteOnExpire || 'none',\n
Login.c(90): onExpire: function (id) {\n
Login.c(90): var item = DS.eject(def.name, id);\n
Login.c(90): if (DSUtils.isFunction(def.onExpire)) {\n
Login.c(90): def.onExpire(id, item);\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): capacity: Number.MAX_VALUE,\n
Login.c(90): storageMode: 'memory',\n
Login.c(90): storageImpl: null,\n
Login.c(90): disabled: false,\n
Login.c(90): storagePrefix: 'DS.' + def.name\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Create the wrapper class for the new resource\n
Login.c(90): def.class = DSUtils.pascalCase(definition.name);\n
Login.c(90): eval('function ' + def.class + '() {}');\n
Login.c(90): def[def.class] = eval(def.class);\n
Login.c(90): \n
Login.c(90): // Apply developer-defined methods\n
Login.c(90): if (def.methods) {\n
Login.c(90): DSUtils.deepMixIn(def[def.class].prototype, def.methods);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Prepare for computed properties\n
Login.c(90): if (def.computed) {\n
Login.c(90): DSUtils.forEach(def.computed, function (fn, field) {\n
Login.c(90): if (angular.isFunction(fn)) {\n
Login.c(90): def.computed[field] = [fn];\n
Login.c(90): fn = def.computed[field];\n
Login.c(90): }\n
Login.c(90): if (def.methods && field in def.methods) {\n
Login.c(90): DS.$log.warn(errorPrefix + 'Computed property "' + field
+ '" conflicts with pre
Login.c(90): viously defined prototype method!');\n
Login.c(90): }\n
Login.c(90): var deps;\n
Login.c(90): if (fn.length === 1) {\n
Login.c(90): var match = fn[0].toString().match(/function.*?\\
(([\\s\\S]*?)\\)/);\n
Login.c(90): deps = match[1].split(',');\n
Login.c(90): def.computed[field] = deps.concat(fn);\n
Login.c(90): fn = def.computed[field];\n
Login.c(90): if (deps.length) {\n
Login.c(90): DS.$log.warn(errorPrefix + 'Use the computed property
array syntax for compati
Login.c(90): bility with minified code!');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): deps = fn.slice(0, fn.length - 1);\n
Login.c(90): angular.forEach(deps, function (val, index) {\n
Login.c(90): deps[index] = val.trim();\n
Login.c(90): });\n
Login.c(90): fn.deps = DSUtils.filter(deps, function (dep) {\n
Login.c(90): return !!dep;\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): def[def.class].prototype.DSCompute = function () {\n
Login.c(90): return DS.compute(def.name, this);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): def[def.class].prototype.DSUpdate = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.unshift(this[def.idAttribute]);\n
Login.c(90): args.unshift(def.name);\n
Login.c(90): return DS.update.apply(DS, args);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): def[def.class].prototype.DSSave = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.unshift(this[def.idAttribute]);\n
Login.c(90): args.unshift(def.name);\n
Login.c(90): return DS.save.apply(DS, args);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Initialize store data for the new resource\n
Login.c(90): DS.store[def.name] = {\n
Login.c(90): collection: [],\n
Login.c(90): completedQueries: {},\n
Login.c(90): pendingQueries: {},\n
Login.c(90): index: cache,\n
Login.c(90): modified: {},\n
Login.c(90): saved: {},\n
Login.c(90): previousAttributes: {},\n
Login.c(90): observers: {},\n
Login.c(90): changeHistories: {},\n
Login.c(90): changeHistory: [],\n
Login.c(90): collectionModified: 0\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Proxy DS methods with shorthand ones\n
Login.c(90): angular.forEach(methodsToProxy, function (name) {\n
Login.c(90): if (name === 'bindOne' || name === 'bindAll') {\n
Login.c(90): def[name] = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.splice(2, 0, def.name);\n
Login.c(90): return DS[name].apply(DS, args);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): def[name] = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.unshift(def.name);\n
Login.c(90): return DS[name].apply(DS, args);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): def.beforeValidate = DS.$q.promisify(def.beforeValidate);\n
Login.c(90): def.validate = DS.$q.promisify(def.validate);\n
Login.c(90): def.afterValidate = DS.$q.promisify(def.afterValidate);\n
Login.c(90): def.beforeCreate = DS.$q.promisify(def.beforeCreate);\n
Login.c(90): def.afterCreate = DS.$q.promisify(def.afterCreate);\n
Login.c(90): def.beforeUpdate = DS.$q.promisify(def.beforeUpdate);\n
Login.c(90): def.afterUpdate = DS.$q.promisify(def.afterUpdate);\n
Login.c(90): def.beforeDestroy = DS.$q.promisify(def.beforeDestroy);\n
Login.c(90): def.afterDestroy = DS.$q.promisify(def.afterDestroy);\n
Login.c(90): \n
Login.c(90): // Mix-in events\n
Login.c(90): DSUtils.Events(def);\n
Login.c(90): \n
Login.c(90): return def;\n
Login.c(90): } catch (err) {\n
Login.c(90): DS.$log.error(err);\n
Login.c(90): delete definitions[definition.name];\n
Login.c(90): delete DS.store[definition.name];\n
Login.c(90): throw err;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = defineResource;\n
Login.c(90): \n
Login.c(90): },{}],72:[function(require,module,exports){\n
Login.c(90): var observe = require('../../../lib/observe-js/observe-js');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:digest\n
Login.c(90): * @name digest\n
Login.c(90): * @description\n
Login.c(90): * Trigger a digest loop that checks for changes and updates the
`lastModified` timestamp
Login.c(90): if an object has changed.\n
Login.c(90): * Anything $watching `DS.lastModified(...)` will detect the
updated timestamp and execute
Login.c(90): the callback function. If\n
Login.c(90): * your browser supports `Object.observe` then this function has
no effect.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.digest()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * Works like $scope.$apply()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function digest() {\n
Login.c(90): if (!this.$rootScope.$$phase) {\n
Login.c(90): this.$rootScope.$apply(function () {\n
Login.c(90): observe.Platform.performMicrotaskCheckpoint();\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): observe.Platform.performMicrotaskCheckpoint();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = digest;\n
Login.c(90): \n
Login.c(90): },{"../../../lib/observe-js/observe-js":1}],73:
[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.eject(' + resourceName + ', ' + id + '): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _eject(definition, resource, id, options) {\n
Login.c(90): var item;\n
Login.c(90): var DS = this;\n
Login.c(90): var found = false;\n
Login.c(90): for (var i = 0; i < resource.collection.length; i++) {\n
Login.c(90): if (resource.collection[i][definition.idAttribute] == id) {\n
Login.c(90): item = resource.collection[i];\n
Login.c(90): found = true;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (found) {\n
Login.c(90): this.unlinkInverse(definition.name, id);\n
Login.c(90): resource.collection.splice(i, 1);\n
Login.c(90): resource.observers[id].close();\n
Login.c(90): delete resource.observers[id];\n
Login.c(90): \n
Login.c(90): resource.index.remove(id);\n
Login.c(90): delete resource.previousAttributes[id];\n
Login.c(90): delete resource.completedQueries[id];\n
Login.c(90): delete resource.pendingQueries[id];\n
Login.c(90): DS.utils.forEach(resource.changeHistories[id], function
(changeRecord) {\n
Login.c(90): DS.utils.remove(resource.changeHistory, changeRecord);\n
Login.c(90): });\n
Login.c(90): delete resource.changeHistories[id];\n
Login.c(90): delete resource.modified[id];\n
Login.c(90): delete resource.saved[id];\n
Login.c(90): resource.collectionModified =
this.utils.updateTimestamp(resource.collectionModified);
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): this.emit(definition, 'eject', item);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return item;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:eject\n
Login.c(90): * @name eject\n
Login.c(90): * @description\n
Login.c(90): * Eject the item of the specified type that has the given primary
key from the data store
Login.c(90): . Ejection only removes items\n
Login.c(90): * from the data store and does not attempt to destroy items via
an adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.eject(resourceName[, id])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 45); // { title: 'How to Cook', id: 45 }\n
Login.c(90): *\n
Login.c(90): * DS.eject('document', 45);\n
Login.c(90): *\n
Login.c(90): * DS.get('document', 45); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * $rootScope.$on('DS.eject', function ($event, resourceName,
ejected) {...});\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
eject.\n
Login.c(90): * @param {object=} options Optional configuration.\n
Login.c(90): * @returns {object} A reference to the item that was ejected from
the data store.\n
Login.c(90): */\n
Login.c(90): function eject(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var ejected;\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): ejected = _eject.call(DS, definition, resource, id,
options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): ejected = _eject.call(DS, definition, resource, id,
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return ejected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = eject;\n
Login.c(90): \n
Login.c(90): },{}],74:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.ejectAll(' + resourceName + '[, params]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _ej
Login.c(90): t=4180ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ectAll(definition, resource, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var queryHash = DS.utils.toJson(params);\n
Login.c(90): var items = DS.filter(definition.name, params);\n
Login.c(90): var ids = DS.utils.toLookup(items, definition.idAttribute);\n
Login.c(90): \n
Login.c(90): angular.forEach(ids, function (item, id) {\n
Login.c(90): DS.eject(definition.name, id);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): delete resource.completedQueries[queryHash];\n
Login.c(90): resource.collectionModified =
DS.utils.updateTimestamp(resource.collectionModified);\n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'eject', items);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return items;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:ejectAll\n
Login.c(90): * @name ejectAll\n
Login.c(90): * @description\n
Login.c(90): * Eject all matching items of the specified type from the data
store. Ejection only remov
Login.c(90): es items from the data store\n
Login.c(90): * and does not attempt to destroy items via an adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.ejectAll(resourceName[, params])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 45); // { title: 'How to Cook', id: 45 }\n
Login.c(90): *\n
Login.c(90): * DS.eject('document', 45);\n
Login.c(90): *\n
Login.c(90): * DS.get('document', 45); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Eject all items of the specified type that match the criteria
from the data store.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45,
author: 'John Anderson' }
Login.c(90): ,\n
Login.c(90): * // { title: 'How to Eat', id: 46,
author: 'Sally Jane' } ]\n
Login.c(90): *\n
Login.c(90): * DS.ejectAll('document', { where: { author: 'Sally Jane' } });\n
Login.c(90): *\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45,
author: 'John Anderson' } ]
Login.c(90): \n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Eject all items of the specified type from the data store.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45,
author: 'John Anderson' }
Login.c(90): ,\n
Login.c(90): * // { title: 'How to Eat', id: 46,
author: 'Sally Jane' } ]\n
Login.c(90): *\n
Login.c(90): * DS.ejectAll('document');\n
Login.c(90): *\n
Login.c(90): * DS.filter('document'); // [ ]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} params Parameter object that is used to filter
items. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration.\n
Login.c(90): *\n
Login.c(90): * @returns {array} The items that were ejected from the data
store.\n
Login.c(90): */\n
Login.c(90): function ejectAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): params = params || {};\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'params:
Must be an object!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var ejected;\n
Login.c(90): \n
Login.c(90): if (DS.utils.isEmpty(params)) {\n
Login.c(90): resource.completedQueries = {};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): ejected = _ejectAll.call(DS, definition, resource, params,
options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): ejected = _ejectAll.call(DS, definition, resource, params,
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return ejected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = ejectAll;\n
Login.c(90): \n
Login.c(90): },{}],75:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.filter(' + resourceName + '[, params][, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:filter\n
Login.c(90): * @name filter\n
Login.c(90): * @description\n
Login.c(90): * Synchronously filter items in the data store of the type
specified by `resourceName`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter(resourceName[, params][, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * For many examples see the [tests for DS.filter]
(https://github.com/jmdobry/angular-data
Login.c(90): /blob/master/test/integration/datastore/sync
methods/filter.test.js).\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} params Parameter object that is used to filter
items. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `loadFromServer` - Send the query to server if
it has not been sent ye
Login.c(90): t. Default: `false`.\n
Login.c(90): * - `{boolean=}` - `allowSimpleWhere` - Treat top-level fields on
the `params` argument a
Login.c(90): s simple "where" equality clauses. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {array} The filtered collection of items of the type
specified by `resourceNam
Login.c(90): e`.\n
Login.c(90): */\n
Login.c(90): function filter(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (params && !DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): // Protect against null\n
Login.c(90): params = params || {};\n
Login.c(90): \n
Login.c(90): if ('allowSimpleWhere' in options) {\n
Login.c(90): options.allowSimpleWhere = !!options.allowSimpleWhere;\n
Login.c(90): } else {\n
Login.c(90): options.allowSimpleWhere = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var queryHash = DS.utils.toJson(params);\n
Login.c(90): \n
Login.c(90): if (!(queryHash in resource.completedQueries) &&
options.loadFromServer) {\n
Login.c(90): // This particular query has never been completed\n
Login.c(90): \n
Login.c(90): if (!resource.pendingQueries[queryHash]) {\n
Login.c(90): // This particular query has never even been started\n
Login.c(90): DS.findAll(resourceName, params, options);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return definition.defaultFilter.call(DS, resource.collection,
resourceName, params, opti
Login.c(90): ons);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = filter;\n
Login.c(90): \n
Login.c(90): },{}],76:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.get(' + resourceName + ', ' + id + '): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the resource with the given id. The data
store will forward the re
Login.c(90): quest to an adapter if\n
Login.c(90): * `loadFromServer` is `true` in the options hash.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.get(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 5'); // { author: 'John Anderson', id: 5 }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
retrieve.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to `DS.find` if `loa
Login.c(90): dFromServer` is `true`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `loadFromServer` - Send the query to server if
it has not been sent ye
Login.c(90): t. Default: `false`.\n
Login.c(90): *\n
Login.c(90): * @returns {object} The item of the type specified by
`resourceName` with the primary key
Login.c(90): specified by `id`.\n
Login.c(90): */\n
Login.c(90): function get(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): // cache miss, request resource from server\n
Login.c(90): var item = DS.store[resourceName].index.get(id);\n
Login.c(90): if (!item && options.loadFromServer) {\n
Login.c(90): DS.find(resourceName, id, options).then(null, function (err)
{\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // return resource from cache\n
Login.c(90): return item;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = get;\n
Login.c(90): \n
Login.c(90): },{}],77:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.hasChanges(' + resourceName + ', ' + id + '): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function diffIsEmpty(utils, diff) {\n
Login.c(90): return !(utils.isEmpty(diff.added) &&\n
Login.c(90): utils.isEmpty(diff.removed) &&\n
Login.c(90): utils.isEmpty(diff.changed));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:hasChanges\n
Login.c(90): * @name hasChanges\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return whether object of the item of the type
specified by `resourceName`
Login.c(90): that has the primary key\n
Login.c(90): * specified by `id` has changes.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.hasChanges(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You may have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.hasChanges('document', 5); // true\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item.\n
Login.c(90): * @returns {boolean} Whether the item of the type specified by
`resourceName` with the pr
Login.c(90): imary key specified by `id` has changes.\n
Login.c(90): */\n
Login.c(90): function hasChanges(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // return resource from cache\n
Login.c(90): if (DS.get(resourceName, id)) {\n
Login.c(90): return diffIsEmpty(DS.utils, DS.changes(resourceName, id));\n
Login.c(90): } else {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = hasChanges;\n
Login.c(90): \n
Login.c(90): },{}],78:[function(require,module,exports){\n
Login.c(90): module.exports = {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindOne\n
Login.c(90): * @name bindOne\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.bindOne](/documentation/api/api/DS.sync
methods:bindOne).\n
Login.c(90): */\n
Login.c(90): bindOne: require('./bindOne'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindAll\n
Login.c(90): * @name bindAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.bindAll](/documentation/api/api/DS.sync
methods:bindAll).\n
Login.c(90): */\n
Login.c(90): bindAll: require('./bindAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changes\n
Login.c(90): * @name changes\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.changes](/documentation/api/api/DS.sync
methods:changes).\n
Login.c(90): */\n
Login.c(90): changes: require('./changes'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changeHistory\n
Login.c(90): * @name changeHistory\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.changeHistory](/documentation/api/api/DS.sync
methods:changeHistory).\n
Login.c(90): */\n
Login.c(90): changeHistory: require('./changeHistory'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:compute\n
Login.c(90): * @name compute\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.compute](/documentation/api/api/DS.sync
methods:compute).\n
Login.c(90): */\n
Login.c(90): compute: require('./compute').compute,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:createInstance\n
Login.c(90): * @name createInstance\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.createInstance](/documentation/api/api/DS.sync
methods:createInstance).\n
Login.c(90): */\n
Login.c(90): createInstance: require('./createInstance'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:defineResource\n
Login.c(90): * @name defineResource\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.defineResource](/documentation/api/api/DS.sync
methods:defineResource).\n
Login.c(90): */\n
Login.c(90): defineResource: require('./defineResource'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:digest\n
Login.c(90): * @name digest\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.digest](/documentation/api/api/DS.sync
methods:digest).\n
Login.c(90): */\n
Login.c(90): digest: require('./digest'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:eject\n
Login.c(90): * @name eject\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.eject](/documentation/api/api/DS.sync
methods:eject).\n
Login.c(90): */\n
Login.c(90): eject: require('./eject'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:ejectAll\n
Login.c(90): * @name ejectAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.ejectAll](/documentation/api/api/DS.sync
methods:ejectAll).\n
Login.c(90): */\n
Login.c(90): ejectAll: require('./ejectAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:filter\n
Login.c(90): t=4209ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): * @name filter\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.filter](/documentation/api/api/DS.sync
methods:filter).\n
Login.c(90): */\n
Login.c(90): filter: require('./filter'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.get](/documentation/api/api/DS.sync methods:get).\n
Login.c(90): */\n
Login.c(90): get: require('./get'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:hasChanges\n
Login.c(90): * @name hasChanges\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.hasChanges](/documentation/api/api/DS.sync
methods:hasChanges).\n
Login.c(90): */\n
Login.c(90): hasChanges: require('./hasChanges'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:inject\n
Login.c(90): * @name inject\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.inject](/documentation/api/api/DS.sync
methods:inject).\n
Login.c(90): */\n
Login.c(90): inject: require('./inject'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastModified\n
Login.c(90): * @name lastModified\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.lastModified](/documentation/api/api/DS.sync
methods:lastModified).\n
Login.c(90): */\n
Login.c(90): lastModified: require('./lastModified'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastSaved\n
Login.c(90): * @name lastSaved\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.lastSaved](/documentation/api/api/DS.sync
methods:lastSaved).\n
Login.c(90): */\n
Login.c(90): lastSaved: require('./lastSaved'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:link\n
Login.c(90): * @name link\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.link](/documentation/api/api/DS.sync methods:link).\n
Login.c(90): */\n
Login.c(90): link: require('./link'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkAll\n
Login.c(90): * @name linkAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.linkAll](/documentation/api/api/DS.sync
methods:linkAll).\n
Login.c(90): */\n
Login.c(90): linkAll: require('./linkAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkInverse\n
Login.c(90): * @name linkInverse\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.linkInverse](/documentation/api/api/DS.sync
methods:linkInverse).\n
Login.c(90): */\n
Login.c(90): linkInverse: require('./linkInverse'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:previous\n
Login.c(90): * @name previous\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.previous](/documentation/api/api/DS.sync
methods:previous).\n
Login.c(90): */\n
Login.c(90): previous: require('./previous'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:unlinkInverse\n
Login.c(90): * @name unlinkInverse\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.unlinkInverse](/documentation/api/api/DS.sync
methods:unlinkInverse).\n
Login.c(90): */\n
Login.c(90): unlinkInverse: require('./unlinkInverse')\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },
{"./bindAll":65,"./bindOne":66,"./changeHistory":67,"./changes":68,"./compute":69,"
./cre
Login.c(90):
ateInstance":70,"./defineResource":71,"./digest":72,"./eject":73,"./ejectAll":74,".
/filter
Login.c(90):
":75,"./get":76,"./hasChanges":77,"./inject":79,"./lastModified":80,"./lastSaved":8
1,"./li
Login.c(90):
nk":82,"./linkAll":83,"./linkInverse":84,"./previous":85,"./unlinkInverse":86}],79:
[functi
Login.c(90): on(require,module,exports){\n
Login.c(90): var observe = require('../../../lib/observe-js/observe-js');\n
Login.c(90): var _compute = require('./compute')._compute;\n
Login.c(90): \n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.inject(' + resourceName + ', attrs[, options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _injectRelations(definition, injected, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): var relationDef = DS.definitions[relationName];\n
Login.c(90): if (relationDef && injected[def.localField]) {\n
Login.c(90): try {\n
Login.c(90): injected[def.localField] = DS.inject(relationName,
injected[def.localField], optio
Login.c(90): ns);\n
Login.c(90): } catch (err) {\n
Login.c(90): DS.$log.error(errorPrefix(definition.name) + 'Failed to
inject ' + def.type + ' re
Login.c(90): lation: "' + relationName + '"!', err);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _inject(definition, resource, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var $log = DS.$log;\n
Login.c(90): \n
Login.c(90): function _react(added, removed, changed, oldValueFn, firstTime)
{\n
Login.c(90): var target = this;\n
Login.c(90): var item;\n
Login.c(90): var innerId = (oldValueFn &&
oldValueFn(definition.idAttribute)) ? oldValueFn(definiti
Login.c(90): on.idAttribute) : target[definition.idAttribute];\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationFields, function (field)
{\n
Login.c(90): delete added[field];\n
Login.c(90): delete removed[field];\n
Login.c(90): delete changed[field];\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (!DS.utils.isEmpty(added) || !DS.utils.isEmpty(removed)
|| !DS.utils.isEmpty(change
Login.c(90): d) || firstTime) {\n
Login.c(90): item = DS.get(definition.name, innerId);\n
Login.c(90): resource.modified[innerId] =
DS.utils.updateTimestamp(resource.modified[innerId]);\n
Login.c(90): resource.collectionModified =
DS.utils.updateTimestamp(resource.collectionModified);
Login.c(90): \n
Login.c(90): if (definition.keepChangeHistory) {\n
Login.c(90): var changeRecord = {\n
Login.c(90): resourceName: definition.name,\n
Login.c(90): target: item,\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed,\n
Login.c(90): timestamp: resource.modified[innerId]\n
Login.c(90): };\n
Login.c(90): resource.changeHistories[innerId].push(changeRecord);\n
Login.c(90): resource.changeHistory.push(changeRecord);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (definition.computed) {\n
Login.c(90): item = item || DS.get(definition.name, innerId);\n
Login.c(90): DS.utils.forEach(definition.computed, function (fn, field)
{\n
Login.c(90): var compute = false;\n
Login.c(90): // check if required fields changed\n
Login.c(90): angular.forEach(fn.deps, function (dep) {\n
Login.c(90): if (dep in added || dep in removed || dep in changed
|| !(field in item)) {\n
Login.c(90): compute = true;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): compute = compute || !fn.deps.length;\n
Login.c(90): if (compute) {\n
Login.c(90): _compute.call(item, fn, field);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (definition.relations) {\n
Login.c(90): item = item || DS.get(definition.name, innerId);\n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): if (item[def.localField] && (def.localKey in added ||
def.localKey in removed || d
Login.c(90): ef.localKey in changed)) {\n
Login.c(90): DS.link(definition.name, item[definition.idAttribute],
[def.relation]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (definition.idAttribute in changed) {\n
Login.c(90): $log.error('Doh! You just changed the primary key of an
object! ' +\n
Login.c(90): 'I don\\'t know how to handle this yet, so your data for
the "' + definition.name
Login.c(90): +\n
Login.c(90): '" resource is now in an undefined (probably broken)
state.');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var injected;\n
Login.c(90): if (DS.utils.isArray(attrs)) {\n
Login.c(90): injected = [];\n
Login.c(90): for (var i = 0; i < attrs.length; i++) {\n
Login.c(90): injected.push(_inject.call(DS, definition, resource,
attrs[i], options));\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): // check if "idAttribute" is a computed property\n
Login.c(90): var c = definition.computed;\n
Login.c(90): var idA = definition.idAttribute;\n
Login.c(90): if (c && c[idA]) {\n
Login.c(90): var args = [];\n
Login.c(90): angular.forEach(c[idA].deps, function (dep) {\n
Login.c(90): args.push(attrs[dep]);\n
Login.c(90): });\n
Login.c(90): attrs[idA] = c[idA][c[idA].length - 1].apply(attrs, args);\n
Login.c(90): }\n
Login.c(90): if (!(idA in attrs)) {\n
Login.c(90): var error = new DS.errors.R(errorPrefix(definition.name) +
'attrs: Must contain the
Login.c(90): property specified by `idAttribute`!');\n
Login.c(90): $log.error(error);\n
Login.c(90): throw error;\n
Login.c(90): } else {\n
Login.c(90): try {\n
Login.c(90): definition.beforeInject(definition.name, attrs);\n
Login.c(90): var id = attrs[idA];\n
Login.c(90): var item = DS.get(definition.name, id);\n
Login.c(90): \n
Login.c(90): if (!item) {\n
Login.c(90): if (options.useClass) {\n
Login.c(90): if (attrs instanceof definition[definition.class]) {\n
Login.c(90): item = attrs;\n
Login.c(90): } else {\n
Login.c(90): item = new definition[definition.class]();\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): item = {};\n
Login.c(90): }\n
Login.c(90): resource.previousAttributes[id] = {};\n
Login.c(90): \n
Login.c(90): DS.utils.deepMixIn(item, attrs);\n
Login.c(90): DS.utils.deepMixIn(resource.previousAttributes[id],
attrs);\n
Login.c(90): \n
Login.c(90): resource.collection.push(item);\n
Login.c(90): \n
Login.c(90): resource.changeHistories[id] = [];\n
Login.c(90): resource.observers[id] = new
observe.ObjectObserver(item);\n
Login.c(90): resource.observers[id].open(_react, item);\n
Login.c(90): resource.index.put(id, item);\n
Login.c(90): \n
Login.c(90): _react.call(item, {}, {}, {}, null, true);\n
Login.c(90): \n
Login.c(90): if (definition.relations) {\n
Login.c(90): _injectRelations.call(DS, definition, item,
options);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): DS.utils.deepMixIn(item, attrs);\n
Login.c(90): if (definition.resetHistoryOnInject) {\n
Login.c(90): resource.previousAttributes[id] = {};\n
Login.c(90): DS.utils.deepMixIn(resource.previousAttributes[id],
attrs);\n
Login.c(90): if (resource.changeHistories[id].length) {\n
Login.c(90): DS.utils.forEach(resource.changeHistories[id],
function (changeRecord) {\n
Login.c(90): DS.utils.remove(resource.changeHistory,
changeRecord);\n
Login.c(90): });\n
Login.c(90): resource.changeHistories[id].splice(0,
resource.changeHistories[id].length);
Login.c(90): \n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (typeof resource.index.touch === 'function') {\n
Login.c(90): resource.index.touch(id);\n
Login.c(90): } else {\n
Login.c(90): resource.index.put(id, resource.index.get(id));\n
Login.c(90): }\n
Login.c(90): resource.observers[id].deliver();\n
Login.c(90): }\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): definition.afterInject(definition.name, item);\n
Login.c(90): injected = item;\n
Login.c(90): } catch (err) {\n
Login.c(90): $log.error(err);\n
Login.c(90): $log.error('inject failed!', definition.name, attrs);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return injected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _link(definition, injected, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): if (options.findBelongsTo && def.type === 'belongsTo' &&
injected[definition.idAttribu
Login.c(90): te]) {\n
Login.c(90): DS.link(definition.name, injected[definition.idAttribute],
[def.relation]);\n
Login.c(90): } else if ((options.findHasMany && def.type === 'hasMany') ||
(options.findHasOne && d
Login.c(90): ef.type === 'hasOne')) {\n
Login.c(90): DS.link(definition.name, injected[definition.idAttribute],
[def.relation]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:inject\n
Login.c(90): * @name inject\n
Login.c(90): * @description\n
Login.c(90): * Inject the given item into the data store as the specified
type. If `attrs` is an array
Login.c(90): , inject each item into the\n
Login.c(90): * data store. Injecting an item into the data store does not save
it to the server. Emits
Login.c(90): a `"DS.inject"` event.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.inject(resourceName, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 45); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.inject('document', { title: 'How to Cook', id: 45 });\n
Login.c(90): *\n
Login.c(90): * DS.get('document', 45); // { title: 'How to Cook', id: 45 }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Inject a collection into the data store:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('document'); // [ ]\n
Login.c(90): *\n
Login.c(90): * DS.inject('document', [ { title: 'How to Cook', id: 45 },
{ title: 'How to Eat', id: 46
Login.c(90): } ]);\n
Login.c(90): *\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45 }, {
title: 'How to Eat', id
Login.c(90): : 46 } ]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * $rootScope.$on('DS.inject', function ($event, resourceName,
injected) {...});\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object|array} attrs The item or collection of items to
inject into the data sto
Login.c(90): re.\n
Login.c(90): * @param {object=} options The item or collection of items to
inject into the data store.
Login.c(90): Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `findBelongsTo` - Find and attach any existing
"belongsTo" relationshi
Login.c(90): ps to the newly injected item. Potentially expensive if enabled.
Default: `false`.\n
Login.c(90): * - `{boolean=}` - `findHasMany` - Find and attach any existing
"hasMany" relationships t
Login.c(90): o the newly injected item. Potentially expensive if enabled.
Default: `false`.\n
Login.c(90): * - `{boolean=}` - `findHasOne` - Find and attach any existing
"hasOne" relationships to
Login.c(90): the newly injected item. Potentially expensive if enabled.
Default: `false`.\n
Login.c(90): * - `{boolean=}` - `linkInverse` - Look in the data store for
relations of the injected i
Login.c(90): tem(s) and update their links to the injected. Potentially
expensive if enabled. Default:
Login.c(90): `false`.\n
Login.c(90): *\n
Login.c(90): * @returns {object|array} A reference to the item that was
injected into the data store o
Login.c(90): r an array of references to\n
Login.c(90): * the items that were injected into the data store.\n
Login.c(90): */\n
Login.c(90): function inject(resourceName, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(attrs) && !
DS.utils.isArray(attrs)) {\n
Login.c(90): throw new IA(errorPr
Login.c(90): t=4228ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): efix(resourceName) + 'attrs: Must be an object or an array!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var injected;\n
Login.c(90): \n
Login.c(90): if (!('useClass' in options)) {\n
Login.c(90): options.useClass = definition.useClass;\n
Login.c(90): }\n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): injected = _inject.call(DS, definition, resource, attrs,
options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): injected = _inject.call(DS, definition, resource, attrs,
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.linkInverse) {\n
Login.c(90): if (DS.utils.isArray(injected) && injected.length) {\n
Login.c(90): DS.linkInverse(definition.name, injected[0]
[definition.idAttribute]);\n
Login.c(90): } else {\n
Login.c(90): DS.linkInverse(definition.name,
injected[definition.idAttribute]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (DS.utils.isArray(injected)) {\n
Login.c(90): DS.utils.forEach(injected, function (injectedI) {\n
Login.c(90): _link.call(DS, definition, injectedI, options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _link.call(DS, definition, injected, options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'inject', injected);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return injected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = inject;\n
Login.c(90): \n
Login.c(90): },{"../../../lib/observe-js/observe-js":1,"./compute":69}],80:
[function(require,module,exp
Login.c(90): orts){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.lastModified(' + resourceName + '[, ' + id + ']):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastModified\n
Login.c(90): * @name lastModified\n
Login.c(90): * @description\n
Login.c(90): * Return the timestamp of the last time either the collection for
`resourceName` or the i
Login.c(90): tem of type `resourceName`\n
Login.c(90): * with the given primary key was modified.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastModified(resourceName[, id])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastModified('document', 5); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.find('document', 5).then(function (document) {\n
Login.c(90): * DS.lastModified('document', 5); // 1234235825494\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number=} id The primary key of the item to
remove.\n
Login.c(90): * @returns {number} The timestamp of the last time either the
collection for `resourceNam
Login.c(90): e` or the item of type\n
Login.c(90): * `resourceName` with the given primary key was modified.\n
Login.c(90): */\n
Login.c(90): function lastModified(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (id && !DS.utils.isString(id) && !
DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): if (id) {\n
Login.c(90): if (!(id in resource.modified)) {\n
Login.c(90): resource.modified[id] = 0;\n
Login.c(90): }\n
Login.c(90): return resource.modified[id];\n
Login.c(90): }\n
Login.c(90): return resource.collectionModified;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = lastModified;\n
Login.c(90): \n
Login.c(90): },{}],81:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.lastSaved(' + resourceName + '[, ' + id + ']): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastSaved\n
Login.c(90): * @name lastSaved\n
Login.c(90): * @description\n
Login.c(90): * Return the timestamp of the last time either the collection for
`resourceName` or the i
Login.c(90): tem of type `resourceName`\n
Login.c(90): * with the given primary key was saved via an async adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastSaved(resourceName[, id])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastModified('document', 5); // undefined\n
Login.c(90): * DS.lastSaved('document', 5); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.find('document', 5).then(function (document) {\n
Login.c(90): * DS.lastModified('document', 5); // 1234235825494\n
Login.c(90): * DS.lastSaved('document', 5); // 1234235825494\n
Login.c(90): *\n
Login.c(90): * document.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You may have to call $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.lastModified('document', 5); // 1234304985344 - something
different\n
Login.c(90): * DS.lastSaved('document', 5); // 1234235825494 - still the
same\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for which
to retrieve the lastSav
Login.c(90): ed timestamp.\n
Login.c(90): * @returns {number} The timestamp of the last time the item of
type `resourceName` with t
Login.c(90): he given primary key was saved.\n
Login.c(90): */\n
Login.c(90): function lastSaved(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): if (!(id in resource.saved)) {\n
Login.c(90): resource.saved[id] = 0;\n
Login.c(90): }\n
Login.c(90): return resource.saved[id];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = lastSaved;\n
Login.c(90): \n
Login.c(90): },{}],82:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.link(' + resourceName + ', id[, relations]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _link(definition, linked, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): if (relations.length && !DS.utils.contains(relations,
relationName)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): var params = {};\n
Login.c(90): if (def.type === 'belongsTo') {\n
Login.c(90): var parent = linked[def.localKey] ? DS.get(relationName,
linked[def.localKey]) : nul
Login.c(90): l;\n
Login.c(90): if (parent) {\n
Login.c(90): linked[def.localField] = parent;\n
Login.c(90): }\n
Login.c(90): } else if (def.type === 'hasMany') {\n
Login.c(90): params[def.foreignKey] = linked[definition.idAttribute];\n
Login.c(90): linked[def.localField] =
DS.defaults.constructor.prototype.defaultFilter.call(DS, DS
Login.c(90): .store[relationName].collection, relationName, params,
{ allowSimpleWhere: true });\n
Login.c(90): } else if (def.type === 'hasOne') {\n
Login.c(90): params[def.foreignKey] = linked[definition.idAttribute];\n
Login.c(90): var children =
DS.defaults.constructor.prototype.defaultFilter.call(DS, DS.store[rel
Login.c(90): ationName].collection, relationName, params, { allowSimpleWhere:
true });\n
Login.c(90): if (children.length) {\n
Login.c(90): linked[def.localField] = children[0];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:link\n
Login.c(90): * @name link\n
Login.c(90): * @description\n
Login.c(90): * Find relations of the item with the given primary key that are
already in the data stor
Login.c(90): e and link them to the item.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.link(resourceName, id[, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `user` has `hasMany` relationships to `post` and
`comment`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('user', 1); // { name: 'John', id: 1 }\n
Login.c(90): *\n
Login.c(90): * // link posts\n
Login.c(90): * DS.link('user', 1, ['post']);\n
Login.c(90): *\n
Login.c(90): * DS.get('user', 1); // { name: 'John', id: 1, posts: [...] }\n
Login.c(90): *\n
Login.c(90): * // link all relations\n
Login.c(90): * DS.link('user', 1);\n
Login.c(90): *\n
Login.c(90): * DS.get('user', 1); // { name: 'John', id: 1, posts: [...],
comments: [...] }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for to
link relations.\n
Login.c(90): * @param {array=} relations The relations to be linked. If not
provided then all relation
Login.c(90): s will be linked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item with its linked
relations.\n
Login.c(90): */\n
Login.c(90): function link(resourceName, id, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.get(resourceName, id);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _link.call(DS, definition, linked, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _link.call(DS, definition, linked, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = link;\n
Login.c(90): \n
Login.c(90): },{}],83:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.linkAll(' + resourceName + '[, params][, relations]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _linkAll(definition, linked, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): if (relations.length && !DS.utils.contains(relations,
relationName)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if (def.type === 'belongsTo') {\n
Login.c(90): DS.utils.forEach(linked, function (injectedItem) {\n
Login.c(90): var parent = injectedItem[def.localKey] ?
DS.get(relationName, injectedItem[def.lo
Login.c(90): calKey]) : null;\n
Login.c(90): if (parent) {\n
Login.c(90): injectedItem[def.localField] = parent;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } else if (def.type === 'hasMany') {\n
Login.c(90): DS.utils.forEach(linked, function (injectedItem) {\n
Login.c(90): var params = {};\n
Login.c(90): params[def.foreignKey] =
injectedItem[definition.idAttribute];\n
Login.c(90): injectedItem[def.localField] =
DS.defaults.constructor.prototype.defaultFilter.cal
Login.c(90): l(DS, DS.store[relationName].collection, relationName, params,
{ allowSimpleWhere: true })
Login.c(90): ;\n
Login.c(90): });\n
Login.c(90): } else if (def.type === 'hasOne') {\n
Login.c(90): DS.utils.forEach(linked, function (injectedItem) {\n
Login.c(90): var params = {};\n
Login.c(90): params[def.foreignKey] =
injectedItem[definition.idAttribute];\n
Login.c(90): var children =
DS.defaults.constructor.prototype.defaultFilter.call(DS, DS.store[r
Login.c(90): elationName].collection, relationName, params, { allowSimpleWhere:
true });\n
Login.c(90): if (children.length) {\n
Login.c(90): injectedItem[def.localField] = children[0];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkAll\n
Login.c(90): * @name linkAll\n
Login.c(90): * @description\n
Login.c(90): * Find relations of a collection of items that are already in the
data store and link the
Login.c(90): m to the items.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.linkAll(resourceName[, params][, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `user` has `hasMany` relationships to `post` and
`comment`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('user'); // [{ name: 'John', id: 1 }, { name:
'Sally', id: 2 }]\n
Login.c(90): *\n
Login.c(90): * // link posts\n
Login.c(90): * DS.linkAll('user', {\n
Login.c(90): * name: : 'John'\n
Login.c(90): * }, ['post']);\n
Login.c(90): *\n
Login.c(90): * DS.filter('user'); // [{ name: 'John', id: 1, posts: [...] }, {
name: 'Sally', id: 2 }]
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * // link all relations\n
Login.c(90): * DS.linkAll('user', { name: : 'John' });\n
Login.c(90): *\n
Login.c(90): * DS.filter('user'); // [{ name: 'John', id: 1, posts: [...],
comments: [...] }, { name:
Login.c(90): 'Sally', id: 2 }]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} params Parameter object that is used to filter
items. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {array=} relations The relations to be linked. If not
provided then all relation
Login.c(90): s will be linked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item with its linked
relations.\n
Login.c(90): */\n
Login.c(90): function linkAll(resourceName, params, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (params && !DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.filter(resourceName, params);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _linkAll.call(DS, definition, linked, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _linkAll.call(DS, definition, linked, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = linkAll;\n
Login.c(90): \n
Login.c(90): },{}],84:[function(requi
Login.c(90): t=4245ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): re,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.linkInverse(' + resourceName + ', id[, relations]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _linkInverse(definition, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(DS.definitions, function (d) {\n
Login.c(90): DS.utils.forEach(d.relations, function (relatedModels) {\n
Login.c(90): DS.utils.forEach(relatedModels, function (defs,
relationName) {\n
Login.c(90): if (relations.length && !DS.utils.contains(relations,
d.name)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if (definition.name === relationName) {\n
Login.c(90): DS.linkAll(d.name, {}, [definition.name]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkInverse\n
Login.c(90): * @name linkInverse\n
Login.c(90): * @description\n
Login.c(90): * Find relations of the item with the given primary key that are
already in the data stor
Login.c(90): e and link this item to those\n
Login.c(90): * relations. This creates links in the opposite direction of
`DS.link`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.linkInverse(resourceName, id[, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `organization` has `hasMany` relationship to `user` and
`post` has a `belongsTo`
Login.c(90): relationship to `user`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('user', 1); // { organizationId: 5, id: 1 }\n
Login.c(90): * DS.get('organization', 5); // { id: 5 }\n
Login.c(90): * DS.filter('post', { userId: 1 }); // [ { id: 23, userId: 1 }, {
id: 44, userId: 1 }]\n
Login.c(90): *\n
Login.c(90): * // link user to its relations\n
Login.c(90): * DS.linkInverse('user', 1, ['organization']);\n
Login.c(90): *\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users:
[{ organizationId: 5, id: 1 }] }\n
Login.c(90): *\n
Login.c(90): * // link user to all of its all relations\n
Login.c(90): * DS.linkInverse('user', 1);\n
Login.c(90): *\n
Login.c(90): * DS.get('user', 1); // { organizationId: 5, id: 1 }\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users:
[{ organizationId: 5, id: 1 }] }\n
Login.c(90): * DS.filter('post', { userId: 1 }); // [ { id: 23, userId: 1,
user: {...} }, { id: 44, us
Login.c(90): erId: 1, user: {...} }]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for to
link relations.\n
Login.c(90): * @param {array=} relations The relations to be linked. If not
provided then all relation
Login.c(90): s will be linked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item with its linked
relations.\n
Login.c(90): */\n
Login.c(90): function linkInverse(resourceName, id, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.get(resourceName, id);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _linkInverse.call(DS, definition, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _linkInverse.call(DS, definition, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = linkInverse;\n
Login.c(90): \n
Login.c(90): },{}],85:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.previous(' + resourceName + '[, ' + id + ']): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:previous\n
Login.c(90): * @name previous\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the previous attributes of the item of the
type specified by `reso
Login.c(90): urceName` that has the primary key\n
Login.c(90): * specified by `id`. This object represents the state of the item
the last time it was sa
Login.c(90): ved via an async adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.previous(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * d; // { author: 'Sally', id: 5 }\n
Login.c(90): *\n
Login.c(90): * // You may have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.previous('document', 5); // { author: 'John Anderson', id: 5
}\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item whose
previous attributes are to
Login.c(90): be retrieved.\n
Login.c(90): * @returns {object} The previous attributes of the item of the
type specified by `resourc
Login.c(90): eName` with the primary key specified by `id`.\n
Login.c(90): */\n
Login.c(90): function previous(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // return resource from cache\n
Login.c(90): return
angular.copy(DS.store[resourceName].previousAttributes[id]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = previous;\n
Login.c(90): \n
Login.c(90): },{}],86:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.unlinkInverse(' + resourceName + ', id[, relations]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _unlinkInverse(definition, linked) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(DS.definitions, function (d) {\n
Login.c(90): DS.utils.forEach(d.relations, function (relatedModels) {\n
Login.c(90): DS.utils.forEach(relatedModels, function (defs,
relationName) {\n
Login.c(90): if (definition.name === relationName) {\n
Login.c(90): DS.utils.forEach(defs, function (def) {\n
Login.c(90): DS.utils.forEach(DS.store[def.name].collection,
function (item) {\n
Login.c(90): if (def.type === 'hasMany' && item[def.localField])
{\n
Login.c(90): var index;\n
Login.c(90): DS.utils.forEach(item[def.localField], function
(subItem, i) {\n
Login.c(90): if (subItem === linked) {\n
Login.c(90): index = i;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (index !== undefined) {\n
Login.c(90): item[def.localField].splice(index, 1);\n
Login.c(90): }\n
Login.c(90): } else if (item[def.localField] === linked) {\n
Login.c(90): delete item[def.localField];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:unlinkInverse\n
Login.c(90): * @name unlinkInverse\n
Login.c(90): * @description\n
Login.c(90): * Find relations of the item with the given primary key that are
already in the data stor
Login.c(90): e and _unlink_ this item from those\n
Login.c(90): * relations. This unlinks links that would be created by
`DS.linkInverse`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.unlinkInverse(resourceName, id[, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `organization` has `hasMany` relationship to `user` and
`post` has a `belongsTo`
Login.c(90): relationship to `user`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users:
[{ organizationId: 5, id: 1 }] }\n
Login.c(90): *\n
Login.c(90): * // unlink user 1 from its relations\n
Login.c(90): * DS.unlinkInverse('user', 1, ['organization']);\n
Login.c(90): *\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users: [] }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for which
to unlink relations.\n
Login.c(90): * @param {array=} relations The relations to be unlinked. If not
provided then all relati
Login.c(90): ons will be unlinked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item that has been
unlinked.\n
Login.c(90): */\n
Login.c(90): function unlinkInverse(resourceName, id, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.get(resourceName, id);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _unlinkInverse.call(DS, definition, linked, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _unlinkInverse.call(DS, definition, linked, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = unlinkInverse;\n
Login.c(90): \n
Login.c(90): },{}],87:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id errors.types:IllegalArgumentError\n
Login.c(90): * @name IllegalArgumentError\n
Login.c(90): * @description Error that is thrown/returned when a caller does
not honor the pre-conditi
Login.c(90): ons of a method/function.\n
Login.c(90): * @param {string=} message Error message. Default: `"Illegal
Argument!"`.\n
Login.c(90): * @returns {IllegalArgumentError} A new instance of
`IllegalArgumentError`.\n
Login.c(90): */\n
Login.c(90): function IllegalArgumentError(message) {\n
Login.c(90): Error.call(this);\n
Login.c(90): if (typeof Error.captureStackTrace === 'function') {\n
Login.c(90): Error.captureStackTrace(this, this.constructor);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:IllegalArgumentError.type\n
Login.c(90): * @name type\n
Login.c(90): * @propertyOf errors.types:IllegalArgumentError\n
Login.c(90): * @description Name of error type. Default:
`"IllegalArgumentError"`.\n
Login.c(90): */\n
Login.c(90): this.type = this.constructor.name;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:IllegalArgumentError.message\n
Login.c(90): * @name message\n
Login.c(90): * @propertyOf errors.types:IllegalArgumentError\n
Login.c(90): * @description Error message. Default: `"Illegal Argument!"`.\n
Login.c(90): */\n
Login.c(90): this.message = message || 'Illegal Argument!';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): IllegalArgumentError.prototype = Object.create(Error.prototype);\n
Login.c(90): IllegalArgumentError.prototype.constructor =
IllegalArgumentError;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id errors.types:RuntimeError\n
Login.c(90): * @name RuntimeError\n
Login.c(90): * @description Error that is thrown/returned for invalid state
during runtime.\n
Login.c(90): * @param {string=} message Error message. Default: `"Runtime
Error!"`.\n
Login.c(90): * @returns {RuntimeError} A new instance of `RuntimeError`.\n
Login.c(90): */\n
Login.c(90): function RuntimeError(message) {\n
Login.c(90): Error.call(this);\n
Login.c(90): if (typeof Error.captureStackTrace === 'function') {\n
Login.c(90): Error.captureStackTrace(this, this.constructor);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:RuntimeError.type\n
Login.c(90): * @name type\n
Login.c(90): * @propertyOf errors.types:RuntimeError\n
Login.c(90): * @description Name of error type. Default: `"RuntimeError"`.\n
Login.c(90): */\n
Login.c(90): this.type = this.constructor.name;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:RuntimeError.message\n
Login.c(90): * @name message\n
Login.c(90): * @propertyOf errors.types:RuntimeError\n
Login.c(90): * @description Error message. Default: `"Runtime Error!"`.\n
Login.c(90): */\n
Login.c(90): this.message = message || 'RuntimeError Error!';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): RuntimeError.prototype = Object.create(Error.prototype);\n
Login.c(90): RuntimeError.prototype.constructor = RuntimeError;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id errors.types:NonexistentResourceError\n
Login.c(90): * @name NonexistentResourceError\n
Login.c(90): * @description Error that is thrown/returned when trying to
access a resource that does n
Login.c(90): ot exist.\n
Login.c(90): * @param {string=} resourceName Name of non-existent resource.\n
Login.c(90): * @returns {NonexistentResourceError} A new instance of
`NonexistentResourceError`.\n
Login.c(90): */\n
Login.c(90): function NonexistentResourceError(resourceName) {\n
Login.c(90): Error.call(this);\n
Login.c(90): if (typeof Error.captureStackTrace === 'function') {\n
Login.c(90): Error.captureStackTrace(this, this.constructor);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:NonexistentResourceError.type\n
Login.c(90): * @name type\n
Login.c(90): * @propertyOf errors.types:NonexistentResourceError\n
Login.c(90): * @description Name of error type. Default:
`"NonexistentResourceError"`.\n
Login.c(90): */\n
Login.c(90): this.type = this.constructor.name;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:NonexistentResourceError.message\n
Login.c(90): * @name message\n
Login.c(90): * @propertyOf errors.types:NonexistentResourceError\n
Login.c(90): * @description Error message. Default: `"Runtime Error!"`.\n
Login.c(90): */\n
Login.c(90): this.message = (resourceName || '') + ' is not a registered
resource!';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): NonexistentResourceError.prototype =
Object.create(Error.prototype);\n
Login.c(90): NonexistentResourceError.prototype.constructor =
NonexistentResourceError;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id errors\n
Login.c(90): * @name angular-data error types\n
Login.c(90): * @description\n
Login.c(90): * Various error types that may be thrown by angular-data.\n
Login.c(90): *\n
Login.c(90): * - [IllegalArgumentError]
(/documentation/api/api/errors.types:IllegalArgumentError)\n
Login.c(90): * - [RuntimeError]
(/documentation/api/api/errors.types:RuntimeError)\n
Login.c(90): * - [NonexistentResourceError]
(/documentation/api/api/errors.types:NonexistentResourceErr
Login.c(90): or)\n
Login.c(90): *\n
Login.c(90): * References to the constructor functions of the
Login.c(90): t=4262ms: 8132-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): se errors can be found in `DS.errors`.\n
Login.c(90): */\n
Login.c(90): module.exports = [function () {\n
Login.c(90): return {\n
Login.c(90): IllegalArgumentError: IllegalArgumentError,\n
Login.c(90): IA: IllegalArgumentError,\n
Login.c(90): RuntimeError: RuntimeError,\n
Login.c(90): R: RuntimeError,\n
Login.c(90): NonexistentResourceError: NonexistentResourceError,\n
Login.c(90): NER: NonexistentResourceError\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): },{}],88:[function(require,module,exports){\n
Login.c(90): (function (window, angular, undefined) {\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id angular-data\n
Login.c(90): * @name angular-data\n
Login.c(90): * @description\n
Login.c(90): * __Version:__ 1.0.0-rc.1\n
Login.c(90): *\n
Login.c(90): * ## Install\n
Login.c(90): *\n
Login.c(90): * #### Bower\n
Login.c(90): * ```text\n
Login.c(90): * bower install angular-data\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-data.js` or `dist/angular-data.min.js`
onto your web page after An
Login.c(90): gular.js.\n
Login.c(90): *\n
Login.c(90): * #### Npm\n
Login.c(90): * ```text\n
Login.c(90): * npm install angular-data\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-data.js` or `dist/angular-data.min.js`
onto your web page after An
Login.c(90): gular.js.\n
Login.c(90): *\n
Login.c(90): * #### Manual download\n
Login.c(90): * Download angular-data from the [Releases]
(https://github.com/jmdobry/angular-data/rel
Login.c(90): eases)\n
Login.c(90): * section of the angular-data GitHub project.\n
Login.c(90): *\n
Login.c(90): * ## Load into Angular\n
Login.c(90): * Your Angular app must depend on the module `"angular-
data.DS"` in order to use angula
Login.c(90): r-data. Loading\n
Login.c(90): * angular-data into your app allows you to inject the
following:\n
Login.c(90): *\n
Login.c(90): * - `DS`\n
Login.c(90): * - `DSHttpAdapter`\n
Login.c(90): * - `DSUtils`\n
Login.c(90): * - `DSErrors`\n
Login.c(90): *\n
Login.c(90): * [DS](/documentation/api/api/DS) is the Data Store itself,
which you will inject often
Login.c(90): .\n
Login.c(90): * [DSHttpAdapter](/documentation/api/api/DSHttpAdapter) is
useful as a wrapper for `$ht
Login.c(90): tp` and is configurable.\n
Login.c(90): * [DSUtils](/documentation/api/api/DSUtils) has some useful
utility methods.\n
Login.c(90): * [DSErrors](/documentation/api/api/DSErrors) provides
references to the various errors
Login.c(90): thrown by the data store.\n
Login.c(90): */\n
Login.c(90): angular.module('angular-data.DS', ['ng'])\n
Login.c(90): .factory('DSUtils', require('./utils'))\n
Login.c(90): .factory('DSErrors', require('./errors'))\n
Login.c(90): .provider('DSHttpAdapter', require('./adapters/http'))\n
Login.c(90): .provider('DSLocalStorageAdapter',
require('./adapters/localStorage'))\n
Login.c(90): .provider('DS', require('./datastore'))\n
Login.c(90): .config(['$provide', function ($provide) {\n
Login.c(90): $provide.decorator('$q', ['$delegate', function ($delegate)
{\n
Login.c(90): // do whatever you you want\n
Login.c(90): $delegate.promisify = function (fn, target) {\n
Login.c(90): if (!fn) {\n
Login.c(90): return;\n
Login.c(90): } else if (typeof fn !== 'function') {\n
Login.c(90): throw new Error('Can only promisify functions!');\n
Login.c(90): }\n
Login.c(90): var $q = this;\n
Login.c(90): return function () {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): var args = Array.prototype.slice.apply(arguments);\n
Login.c(90): \n
Login.c(90): args.push(function (err, result) {\n
Login.c(90): if (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): } else {\n
Login.c(90): deferred.resolve(result);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var promise = fn.apply(target || this, args);\n
Login.c(90): if (promise && promise.then) {\n
Login.c(90): promise.then(deferred.resolve, deferred.reject);\n
Login.c(90): }\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): return $delegate;\n
Login.c(90): }]);\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): })(window, window.angular);\n
Login.c(90): \n
Login.c(90): },
{"./adapters/http":51,"./adapters/localStorage":52,"./datastore":64,"./errors":87,"
./uti
Login.c(90): ls":89}],89:[function(require,module,exports){\n
Login.c(90): function Events(target) {\n
Login.c(90): var events = {};\n
Login.c(90): target = target || this;\n
Login.c(90): /**\n
Login.c(90): * On: listen to events\n
Login.c(90): */\n
Login.c(90): target.on = function (type, func, ctx) {\n
Login.c(90): events[type] = events[type] || [];\n
Login.c(90): events[type].push({\n
Login.c(90): f: func,\n
Login.c(90): c: ctx\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Off: stop listening to event / specific callback\n
Login.c(90): */\n
Login.c(90): target.off = function (type, func) {\n
Login.c(90): var listeners = events[type];\n
Login.c(90): if (!listeners) {\n
Login.c(90): events = {};\n
Login.c(90): } else if (func) {\n
Login.c(90): for (var i = 0; i < listeners.length; i++) {\n
Login.c(90): if (listeners[i] === func) {\n
Login.c(90): listeners.splice(i, 1);\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): listeners.splice(0, listeners.length);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): target.emit = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): var listeners = events[args.shift()] || [];\n
Login.c(90): if (listeners) {\n
Login.c(90): for (var i = 0; i < listeners.length; i++) {\n
Login.c(90): listeners[i].f.apply(listeners[i].c, args);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = [function () {\n
Login.c(90): return {\n
Login.c(90): isBoolean: require('mout/lang/isBoolean'),\n
Login.c(90): isString: angular.isString,\n
Login.c(90): isArray: angular.isArray,\n
Login.c(90): isObject: angular.isObject,\n
Login.c(90): isNumber: angular.isNumber,\n
Login.c(90): isFunction: angular.isFunction,\n
Login.c(90): isEmpty: require('mout/lang/isEmpty'),\n
Login.c(90): toJson: angular.toJson,\n
Login.c(90): fromJson: angular.fromJson,\n
Login.c(90): makePath: require('mout/string/makePath'),\n
Login.c(90): upperCase: require('mout/string/upperCase'),\n
Login.c(90): pascalCase: require('mout/string/pascalCase'),\n
Login.c(90): deepMixIn: require('mout/object/deepMixIn'),\n
Login.c(90): forEach: angular.forEach,\n
Login.c(90): pick: require('mout/object/pick'),\n
Login.c(90): set: require('mout/object/set'),\n
Login.c(90): merge: require('mout/object/merge'),\n
Login.c(90): contains: require('mout/array/contains'),\n
Login.c(90): filter: require('mout/array/filter'),\n
Login.c(90): toLookup: require('mout/array/toLookup'),\n
Login.c(90): remove: require('mout/array/remove'),\n
Login.c(90): slice: require('mout/array/slice'),\n
Login.c(90): sort: require('mout/array/sort'),\n
Login.c(90): guid: require('mout/random/guid'),\n
Login.c(90): keys: require('mout/object/keys'),\n
Login.c(90): resolveItem: function (resource, idOrInstance) {\n
Login.c(90): if (resource && (this.isString(idOrInstance) ||
this.isNumber(idOrInstance))) {\n
Login.c(90): return resource.index[idOrInstance] || idOrInstance;\n
Login.c(90): } else {\n
Login.c(90): return idOrInstance;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): resolveId: function (definition, idOrInstance) {\n
Login.c(90): if (this.isString(idOrInstance) ||
this.isNumber(idOrInstance)) {\n
Login.c(90): return idOrInstance;\n
Login.c(90): } else if (idOrInstance && definition) {\n
Login.c(90): return idOrInstance[definition.idAttribute] ||
idOrInstance;\n
Login.c(90): } else {\n
Login.c(90): return idOrInstance;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): updateTimestamp: function (timestamp) {\n
Login.c(90): var newTimestamp = typeof Date.now === 'function' ?
Date.now() : new Date().getTime(
Login.c(90): );\n
Login.c(90): if (timestamp && newTimestamp <= timestamp) {\n
Login.c(90): return timestamp + 1;\n
Login.c(90): } else {\n
Login.c(90): return newTimestamp;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): deepFreeze: function deepFreeze(o) {\n
Login.c(90): if (typeof Object.freeze === 'function') {\n
Login.c(90): var prop, propKey;\n
Login.c(90): Object.freeze(o); // First freeze the object.\n
Login.c(90): for (propKey in o) {\n
Login.c(90): prop = o[propKey];\n
Login.c(90): if (!o.hasOwnProperty(propKey) || typeof prop !==
'object' || Object.isFrozen(pr
Login.c(90): op)) {\n
Login.c(90): // If the object is on the prototype, not an object,
or is already frozen,\n
Login.c(90): // skip it. Note that this might leave an unfrozen
reference somewhere in the\n
Login.c(90): // object if there is an already frozen object
containing an unfrozen object.\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deepFreeze(prop); // Recursively call deepFreeze.\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): diffObjectFromOldObject: function (object, oldObject) {\n
Login.c(90): var added = {};\n
Login.c(90): var removed = {};\n
Login.c(90): var changed = {};\n
Login.c(90): \n
Login.c(90): for (var prop in oldObject) {\n
Login.c(90): var newValue = object[prop];\n
Login.c(90): \n
Login.c(90): if (newValue !== undefined && newValue ===
oldObject[prop])\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (!(prop in object)) {\n
Login.c(90): removed[prop] = undefined;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (newValue !== oldObject[prop])\n
Login.c(90): changed[prop] = newValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var prop2 in object) {\n
Login.c(90): if (prop2 in oldObject)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): added[prop2] = object[prop2];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): Events: Events\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): },
{"mout/array/contains":2,"mout/array/filter":3,"mout/array/remove":7,"mout/array/sl
ice":
Login.c(90):
8,"mout/array/sort":9,"mout/array/toLookup":10,"mout/lang/isBoolean":17,"mout/lang/
isEmpty
Login.c(90):
":18,"mout/object/deepMixIn":28,"mout/object/keys":32,"mout/object/merge":33,"mout/
object/
Login.c(90):
pick":36,"mout/object/set":37,"mout/random/guid":39,"mout/string/makePath":46,"mout
/string
Login.c(90): /pascalCase":47,"mout/string/upperCase":50}]},{},[88]);
Login.c(90): web_submit_form("login.do") highest severity level was "warning",
1621389 body bytes, 4709 header bytes, 258 chunking overhead bytes [MsgId:
MMSG-26387]
Login.c(96): web_add_auto_header("acess_token") started [MsgId: MMSG-26355]
Login.c(96): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(96): web_add_auto_header("acess_token") was successful [MsgId: MMSG-
26392]
Login.c(98): web_custom_request("check_token") started [MsgId: MMSG-26355]
Login.c(98): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(98): t=4524ms: 406-byte response headers for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): HTTP/1.1 401 Unauthorized\r\n
Login.c(98): Server: Apache-Coyote/1.1\r\n
Login.c(98): Cache-Control: no-store\r\n
Login.c(98): Pragma: no-cache\r\n
Login.c(98): WWW-Authenticate: Basic realm="UAA/client", error="unauthorized",
error_description="An Au
Login.c(98): thentication object was not found in the SecurityContext"\r\n
Login.c(98): Content-Type: application/json;charset=UTF-8\r\n
Login.c(98): Transfer-Encoding: chunked\r\n
Login.c(98): Content-Encoding: gzip\r\n
Login.c(98): Vary: Accept-Encoding\r\n
Login.c(98): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(98): \r\n
Login.c(98): t=4525ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): a\r\n
Login.c(98): t=4525ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): 5b\r\n
Login.c(98): t=4525ms: 2-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): t=4525ms: 101-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): t=4525ms: 108-byte DECODED response body for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): {"error":"unauthorized","error_description":"An Authentication
object was not found in the
Login.c(98): SecurityContext"}
Login.c(98): t=4525ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): d\r\n
Login.c(98): t=4526ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): 0\r\n
Login.c(98): \r\n
Login.c(98): t=4526ms: 13-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): t=4665ms: 204-byte response headers for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): HTTP/1.1 200 OK\r\n
Login.c(98): Server: Apache-Coyote/1.1\r\n
Login.c(98): Content-Type: application/json;charset=UTF-8\r\n
Login.c(98): Transfer-Encoding: chunked\r\n
Login.c(98): Content-Encoding: gzip\r\n
Login.c(98): Vary: Accept-Encoding\r\n
Login.c(98): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(98): \r\n
Login.c(98): t=4721ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): a\r\n
Login.c(98): t=4722ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): de\r\n
Login.c(98): t=4722ms: 5-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): e\r\n
Login.c(98): t=4722ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): 0\r\n
Login.c(98): \r\n
Login.c(98): t=4722ms: 246-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): t=4722ms: 350-byte DECODED response body for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): {"jti":"2b70137a-52ec-41a1-b9b0-de8a7fa1c1e6","sub":"47691e4a-
0538-48ff-9220-f07bd7b0ebd1"
Login.c(98): ,"scope":
["password.write"],"client_id":"app","cid":"app","user_id":"47691e4a-0538-48ff-92
Login.c(98): 20-
f07bd7b0ebd1","user_name":"XXXX","email":"XXXX@user.from.vpo.cf","iat":1420040504,"
ex
Login.c(98):
p":1420041104,"iss":"https://localhost:8443/uaa/oauth/token","aud":["password"]}
Login.c(98): Downloading resource "http://v5devtom.ep.com/license-service-nbcu-int-
2014-release/v1/license" (specified by argument number 11) [MsgId: MMSG-
26577]
Login.c(98): t=4731ms: 195-byte response headers for
"http://v5devtom.ep.com/license-service-nbcu-int-2014-release/v1/license"
(RelFrameId=, Internal ID=28)
Login.c(98): HTTP/1.1 400 Bad Request\r\n
Login.c(98): Server: Apache-Coyote/1.1\r\n
Login.c(98): X-Powered-By: EP Rest Platform\r\n
Login.c(98): Content-Type: application/json\r\n
Login.c(98): Content-Length: 30\r\n
Login.c(98): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(98): Connection: close\r\n
Login.c(98): \r\n
Login.c(98): t=4732ms: 30-byte response body for "http://v5devtom.ep.com/license-
service-nbcu-int-2014-release/v1/license" (RelFrameId=, Internal ID=28)
Login.c(98): Missing access token in header
Login.c(98): Warning -26631: HTTP Status-Code=400 (Bad Request) for
"http://v5devtom.ep.com/license-service-nbcu-int-2014-release/v1/license"
[MsgId: MWAR-26631]
Login.c(98): web_custom_request("check_token") highest severity level was
"warning", 390 body bytes, 805 header bytes, 42 chunking overhead bytes
[MsgId: MMSG-26387]
Login.c(112): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(112): Value is :
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLC
JzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZ
C53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUz
OC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHV
zZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cH
M6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao
15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc
Login.c(116): web_add_auto_header("acess_token") started [MsgId: MMSG-26355]
Login.c(116): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(116): web_add_auto_header("acess_token") was successful [MsgId:
MMSG-26392]
Login.c(118): web_url("layout") started [MsgId: MMSG-26355]
Login.c(118): t=4789ms: 203-byte response headers for
"http://v5devtom.ep.com/v5/ui/layout" (RelFrameId=1, Internal ID=29)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"4267-1419875080000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:44:40 GMT\r\n
Login.c(118): Content-Length: 4267\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4796ms: 4267-byte response body for
"http://v5devtom.ep.com/v5/ui/layout" (RelFrameId=1, Internal ID=29)
Login.c(118): <!doctype html>\r\n
Login.c(118): <html ng-app="app">\r\n
Login.c(118): <head>\r\n
Login.c(118): <title>Vista 5</title>\r\n
Login.c(118): <!-- General META -->\r\n
Login.c(118): <meta charset="utf-8">\r\n
Login.c(118): <meta http-equiv="Content-type"
content="text/html;charset=UTF-8">\r\n
Login.c(118): <meta http-equiv="X-UA-Compatible"
content="IE=edge,chrome=1">\r\n
Login.c(118): <meta name="viewport" content="width=device-width, initial-
scale=1, maximum-scale=1, u
Login.c(118): ser-scalable=no">\r\n
Login.c(118): <!-- Latest compiled and minified CSS -->\r\n
Login.c(118): <!-- jQuery (necessary for Bootstrap's JavaScript plugins)
--> \r\n
Login.c(118): <!-- bower -->\r\n
Login.c(118): <link rel="stylesheet"
href="vendor/bootstrap/dist/css/bootstrap.css">\r\n
Login.c(118): <link rel="stylesheet" href="vendor/font-awesome/css/font-
awesome.css">\r\n
Login.c(118): <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-
awesome/4.2.0/css/font-awes
Login.c(118): ome.min.css">\r\n
Login.c(118): \r\n
Login.c(118): <link rel="stylesheet"
href="vendor/slickgrid/css/slick.grid.css">\r\n
Login.c(118): <link rel="stylesheet" href="vendor/slickgrid/css/slick-
default-theme.css">\r\n
Login.c(118): <link rel="stylesheet"
href="vendor/slickgrid/css/slick.columnpicker.css">\r\n
Login.c(118): <link rel="stylesheet" href="vendor/slickgrid/css/jquery-
ui.css">\r\n
Login.c(118): \r\n
Login.c(118): <!-- css -->\r\n
Login.c(118): <link href="style.min.css" rel="stylesheet">\r\n
Login.c(118): <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements
and media queries -->\r\n
Login.c(118): <!-- WARNING: Respond.js doesn't work if you view the page
via file:// -->\r\n
Login.c(118): <!--[if lt IE 9]>\r\n
Login.c(118): <script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>\r
Login.c(118): \n
Login.c(118): <script
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script
Login.c(118): >\r\n
Login.c(118): <![endif]--> \r\n
Login.c(118): </head>\r\n
Login.c(118): <body>\r\n
Login.c(118): \r\n
Login.c(118): <!-- <header class="navbar navbar-fixed-top"
role="navigation">\r\n
Login.c(118): <div class="container-fluid heading">\r\n
Login.c(118): <div id="logo" class="logo col-md-2">Vista
5</div>\r\n
Login.c(118): <div user-license-header="" class="userName col-md-2
col-md-offset-9"></div>\r
Login.c(118): \n
Login.c(118): </div>\r\n
Login.c(118): </header>\r\n
Login.c(118): \r\n
Login.c(118): <div class="container-fluid"> \r\n
Login.c(118): \r\n
Login.c(118): <div class="row content" ng-controller="ShellCtrl as
shell" data-ng-include="'layo
Login.c(118): ut/templates/shell.tpl.html'"></div> \r\n
Login.c(118): </div> -->\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): <div id="wraper">\r\n
Login.c(118): \r\n
Login.c(118): <div class="row content" ng-controller="ShellCtrl as
shell" data-ng-include="'
Login.c(118): layout/templates/shell.tpl.html'" ng-
show="shell.authenticated"></div> \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): <footer class="footer">\r\n
Login.c(118): <div class="copyright">\r\n
Login.c(118): Copyright 2014. Entertainment Partners, Inc.
\r\n
Login.c(118): </div>\r\n
Login.c(118): </footer>\r\n
Login.c(118): \r\n
Login.c(118): </div>\r\n
Login.c(118): \r\n
Login.c(118): <script src="vendor/jquery/dist/jquery.js"></script>\r\n
Login.c(118): <script
src="vendor/bootstrap/dist/js/bootstrap.js"></script>\r\n
Login.c(118): <!-- menu -->\r\n
Login.c(118): <script src="vendor/menu/metisMenu.min.js"></script>\r\n
Login.c(118): <script src="vendor/menu/sb-admin-2.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <script src="vendor/angular/angular.js"></script>\r\n
Login.c(118): <script src="vendor/handlebars/handlebars-
v2.0.0.js"></script>\r\n
Login.c(118): <script src="vendor/angular-ui-router/release/angular-ui-
router.js"></script>\r\n
Login.c(118): <script src="vendor/angular-data/dist/angular-
data.js"></script>\r\n
Login.c(118): <script src="vendor/angular-cache/dist/angular-
cache.js"></script>\r\n
Login.c(118): <script src="vendor/angular-translate/angular-
translate.js"></script>\r\n
Login.c(118): <script src="vendor/angular-translate-loader-static-
files/angular-translate-loader-sta
Login.c(118): tic-files.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <script src="vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js"></script>\r\n
Login.c(118): <script src="vendor/angular-validation/angular-
validation.js"></script>\r\n
Login.c(118): <script src="vendor/angular-validation/angular-validation-
rule.js"></script>\r\n
Login.c(118): <script src="vendor/ngstorage/ngStorage.min.js"></script>\r\n
Login.c(118): <script src="vendor/angular-
oauth/angularOauth.js"></script>\r\n
Login.c(118): <!-- SlickGrid -->\r\n
Login.c(118): <script src="vendor/slickgrid/jquery-ui.js"></script>\r\n
Login.c(118): <script src="vendor/slickgrid/jquery.event.drag-
2.2.js"></script>\r\n
Login.c(118): <script src="slick_lib.js"></script>\r\n
Login.c(118): <script src="slick_custom.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <!-- UI Utils -->\r\n
Login.c(118): <script src="vendor/ui-utils-0.1.1/ui-utils.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <!-- js -->\r\n
Login.c(118): <script src="global-templates.js"></script>\r\n
Login.c(118): <script src="ep-global-components.js"></script>\r\n
Login.c(118): <script src="templates.js"></script>\r\n
Login.c(118): <script src="config.js"></script>\r\n
Login.c(118): <script src="app.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): </body>\r\n
Login.c(118): </html>
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/css/bootstrap.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/font-
awesome/css/font-awesome.css" in HTML "http://v5devtom.ep.com/v5/ui/layout"
[MsgId: MMSG-26659]
Login.c(118): Found resource "http://maxcdn.bootstrapcdn.com/font-
awesome/4.2.0/css/font-awesome.min.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick.grid.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick.columnpicker.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/style.min.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js"
is in the cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-
2.js" in HTML "http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" is
in the cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-ui-
router/release/angular-ui-router.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
data/dist/angular-data.js" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
cache/dist/angular-cache.js" is in the cache already and will not be downloaded
again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
translate/angular-translate.js" is in the cache already and will not be downloaded
again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-translate-
loader-static-files/angular-translate-loader-static-files.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-ui-
bootstrap/ui-bootstrap-tpls-0.11.2.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
validation/angular-validation.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
validation/angular-validation-rule.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
oauth/angularOauth.js" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-
ui.js" in HTML "http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/slick_lib.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/slick_custom.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/ui-utils-
0.1.1/ui-utils.js" in HTML "http://v5devtom.ep.com/v5/ui/layout" [MsgId:
MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/global-templates.js" is in the
cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/ep-global-components.js" is in
the cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/templates.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/config.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/app.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Downloading resource "http://v5devtom.ep.com/company-setup-service-
nbcu-int-2014-release/v1/leftnav" (specified by argument number 21) [MsgId:
MMSG-26577]
Login.c(118): Downloading resource "http://v5devtom.ep.com/license-service-nbcu-
int-2014-release/v1/license" (specified by argument number 23) [MsgId: MMSG-
26577]
Login.c(118): t=4830ms: 281-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"26651-1416253796000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:49:56 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4830ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): a\r\n
Login.c(118): t=4831ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4831ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4831ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4831ms: 1155-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): t=4831ms: 3650-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): /*!\n
Login.c(118): * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io -
@fontawesome\n
Login.c(118): * License - http://fontawesome.io/license (Font: SIL OFL 1.1,
CSS: MIT License)\n
Login.c(118): */\n
Login.c(118): /* FONT PATH\n
Login.c(118): * -------------------------- */\n
Login.c(118): @font-face {\n
Login.c(118): font-family: 'FontAwesome';\n
Login.c(118): src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');\n
Login.c(118): src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0')
format('embedded-opentype'),
Login.c(118): url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),
url('../fonts/fontawesom
Login.c(118): e-webfont.ttf?v=4.2.0') format('truetype'),
url('../fonts/fontawesome-webfont.svg?v=4.2.0#
Login.c(118): fontawesomeregular') format('svg');\n
Login.c(118): font-weight: normal;\n
Login.c(118): font-style: normal;\n
Login.c(118): }\n
Login.c(118): .fa {\n
Login.c(118): display: inline-block;\n
Login.c(118): font: normal normal normal 14px/1 FontAwesome;\n
Login.c(118): font-size: inherit;\n
Login.c(118): text-rendering: auto;\n
Login.c(118): -webkit-font-smoothing: antialiased;\n
Login.c(118): -moz-osx-font-smoothing: grayscale;\n
Login.c(118): }\n
Login.c(118): /* makes the font 33% larger relative to the icon container */\n
Login.c(118): .fa-lg {\n
Login.c(118): font-size: 1.33333333em;\n
Login.c(118): line-height: 0.75em;\n
Login.c(118): vertical-align: -15%;\n
Login.c(118): }\n
Login.c(118): .fa-2x {\n
Login.c(118): font-size: 2em;\n
Login.c(118): }\n
Login.c(118): .fa-3x {\n
Login.c(118): font-size: 3em;\n
Login.c(118): }\n
Login.c(118): .fa-4x {\n
Login.c(118): font-size: 4em;\n
Login.c(118): }\n
Login.c(118): .fa-5x {\n
Login.c(118): font-size: 5em;\n
Login.c(118): }\n
Login.c(118): .fa-fw {\n
Login.c(118): width: 1.28571429em;\n
Login.c(118): text-align: center;\n
Login.c(118): }\n
Login.c(118): .fa-ul {\n
Login.c(118): padding-left: 0;\n
Login.c(118): margin-left: 2.14285714em;\n
Login.c(118): list-style-type: none;\n
Login.c(118): }\n
Login.c(118): .fa-ul > li {\n
Login.c(118): position: relative;\n
Login.c(118): }\n
Login.c(118): .fa-li {\n
Login.c(118): position: absolute;\n
Login.c(118): left: -2.14285714em;\n
Login.c(118): width: 2.14285714em;\n
Login.c(118): top: 0.14285714em;\n
Login.c(118): text-align: center;\n
Login.c(118): }\n
Login.c(118): .fa-li.fa-lg {\n
Login.c(118): left: -1.85714286em;\n
Login.c(118): }\n
Login.c(118): .fa-border {\n
Login.c(118): padding: .2em .25em .15em;\n
Login.c(118): border: solid 0.08em #eeeeee;\n
Login.c(118): border-radius: .1em;\n
Login.c(118): }\n
Login.c(118): .pull-right {\n
Login.c(118): float: right;\n
Login.c(118): }\n
Login.c(118): .pull-left {\n
Login.c(118): float: left;\n
Login.c(118): }\n
Login.c(118): .fa.pull-left {\n
Login.c(118): margin-right: .3em;\n
Login.c(118): }\n
Login.c(118): .fa.pull-right {\n
Login.c(118): margin-left: .3em;\n
Login.c(118): }\n
Login.c(118): .fa-spin {\n
Login.c(118): -webkit-animation: fa-spin 2s infinite linear;\n
Login.c(118): animation: fa-spin 2s infinite linear;\n
Login.c(118): }\n
Login.c(118): @-webkit-keyframes fa-spin {\n
Login.c(118): 0% {\n
Login.c(118): -webkit-transform: rotate(0deg);\n
Login.c(118): transform: rotate(0deg);\n
Login.c(118): }\n
Login.c(118): 100% {\n
Login.c(118): -webkit-transform: rotate(359deg);\n
Login.c(118): transform: rotate(359deg);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): @keyframes fa-spin {\n
Login.c(118): 0% {\n
Login.c(118): -webkit-transform: rotate(0deg);\n
Login.c(118): transform: rotate(0deg);\n
Login.c(118): }\n
Login.c(118): 100% {\n
Login.c(118): -webkit-transform: rotate(359deg);\n
Login.c(118): transform: rotate(359deg);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): .fa-rotate-90 {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n
Login.c(118): -webkit-transform: rotate(90deg);\n
Login.c(118): -ms-transform: rotate(90deg);\n
Login.c(118): transform: rotate(90deg);\n
Login.c(118): }\n
Login.c(118): .fa-rotate-180 {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n
Login.c(118): -webkit-transform: rotate(180deg);\n
Login.c(118): -ms-transform: rotate(180deg);\n
Login.c(118): transform: rotate(180deg);\n
Login.c(118): }\n
Login.c(118): .fa-rotate-270 {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n
Login.c(118): -webkit-transform: rotate(270deg);\n
Login.c(118): -ms-transform: rotate(270deg);\n
Login.c(118): transform: rotate(270deg);\n
Login.c(118): }\n
Login.c(118): .fa-flip-horizontal {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n
Login.c(118): -webkit-transform: scale(-1, 1);\n
Login.c(118): -ms-transform: scale(-1, 1);\n
Login.c(118): transform: scale(-1, 1);\n
Login.c(118): }\n
Login.c(118): .fa-flip-vertical {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n
Login.c(118): -webkit-transform: scale(1, -1);\n
Login.c(118): -ms-transform: scale(1, -1);\n
Login.c(118): transform: scale(1, -1);\n
Login.c(118): }\n
Login.c(118): :root .fa-rotate-90,\n
Login.c(118): :root .fa-rotate-180,\n
Login.c(118): :root .fa-rotate-270,\n
Login.c(118): :root .fa-flip-horizontal,\n
Login.c(118): :root .fa-flip-vertical {\n
Login.c(118): filter: none;\n
Login.c(118): }\n
Login.c(118): .fa-stack {\n
Login.c(118): position: relative;\n
Login.c(118): display: inline-block;\n
Login.c(118): width: 2em;\n
Login.c(118): height: 2em;\n
Login.c(118): line-height: 2em;\n
Login.c(118): vertical-align: middle;\n
Login.c(118): }\n
Login.c(118): .fa-stack-1x,\n
Login.c(118): .fa-stack-2x {\n
Login.c(118): position: absolute;\n
Login.c(118): left: 0;\n
Login.c(118): width: 100%;\n
Login.c(118): text-align: center;\n
Login.c(118): }\n
Login.c(118): .fa-stack-1x {\n
Login.c(118): line-height: inherit;\n
Login.c(118): }\n
Login.c(118): .fa-stack-2x {\n
Login.c(118): font-size: 2em;\n
Login.c(118): }\n
Login.c(118): .fa-inverse {\n
Login.c(118): color: #ffffff;\n
Login.c(118): }\n
Login.c(118): /* Font Awesome uses the Unicode P
Login.c(118): t=4838ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4838ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4838ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): d6\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4839ms: 4189-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): t=4840ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): rivate Use Area (PUA) to ensure screen\n
Login.c(118): readers do not read off random characters that represent icons
*/\n
Login.c(118): .fa-glass:before {\n
Login.c(118): content: "\\f000";\n
Login.c(118): }\n
Login.c(118): .fa-music:before {\n
Login.c(118): content: "\\f001";\n
Login.c(118): }\n
Login.c(118): .fa-search:before {\n
Login.c(118): content: "\\f002";\n
Login.c(118): }\n
Login.c(118): .fa-envelope-o:before {\n
Login.c(118): content: "\\f003";\n
Login.c(118): }\n
Login.c(118): .fa-heart:before {\n
Login.c(118): content: "\\f004";\n
Login.c(118): }\n
Login.c(118): .fa-star:before {\n
Login.c(118): content: "\\f005";\n
Login.c(118): }\n
Login.c(118): .fa-star-o:before {\n
Login.c(118): content: "\\f006";\n
Login.c(118): }\n
Login.c(118): .fa-user:before {\n
Login.c(118): content: "\\f007";\n
Login.c(118): }\n
Login.c(118): .fa-film:before {\n
Login.c(118): content: "\\f008";\n
Login.c(118): }\n
Login.c(118): .fa-th-large:before {\n
Login.c(118): content: "\\f009";\n
Login.c(118): }\n
Login.c(118): .fa-th:before {\n
Login.c(118): content: "\\f00a";\n
Login.c(118): }\n
Login.c(118): .fa-th-list:before {\n
Login.c(118): content: "\\f00b";\n
Login.c(118): }\n
Login.c(118): .fa-check:before {\n
Login.c(118): content: "\\f00c";\n
Login.c(118): }\n
Login.c(118): .fa-remove:before,\n
Login.c(118): .fa-close:before,\n
Login.c(118): .fa-times:before {\n
Login.c(118): content: "\\f00d";\n
Login.c(118): }\n
Login.c(118): .fa-search-plus:before {\n
Login.c(118): content: "\\f00e";\n
Login.c(118): }\n
Login.c(118): .fa-search-minus:before {\n
Login.c(118): content: "\\f010";\n
Login.c(118): }\n
Login.c(118): .fa-power-off:before {\n
Login.c(118): content: "\\f011";\n
Login.c(118): }\n
Login.c(118): .fa-signal:before {\n
Login.c(118): content: "\\f012";\n
Login.c(118): }\n
Login.c(118): .fa-gear:before,\n
Login.c(118): .fa-cog:before {\n
Login.c(118): content: "\\f013";\n
Login.c(118): }\n
Login.c(118): .fa-trash-o:before {\n
Login.c(118): content: "\\f014";\n
Login.c(118): }\n
Login.c(118): .fa-home:before {\n
Login.c(118): content: "\\f015";\n
Login.c(118): }\n
Login.c(118): .fa-file-o:before {\n
Login.c(118): content: "\\f016";\n
Login.c(118): }\n
Login.c(118): .fa-clock-o:before {\n
Login.c(118): content: "\\f017";\n
Login.c(118): }\n
Login.c(118): .fa-road:before {\n
Login.c(118): content: "\\f018";\n
Login.c(118): }\n
Login.c(118): .fa-download:before {\n
Login.c(118): content: "\\f019";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-down:before {\n
Login.c(118): content: "\\f01a";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-up:before {\n
Login.c(118): content: "\\f01b";\n
Login.c(118): }\n
Login.c(118): .fa-inbox:before {\n
Login.c(118): content: "\\f01c";\n
Login.c(118): }\n
Login.c(118): .fa-play-circle-o:before {\n
Login.c(118): content: "\\f01d";\n
Login.c(118): }\n
Login.c(118): .fa-rotate-right:before,\n
Login.c(118): .fa-repeat:before {\n
Login.c(118): content: "\\f01e";\n
Login.c(118): }\n
Login.c(118): .fa-refresh:before {\n
Login.c(118): content: "\\f021";\n
Login.c(118): }\n
Login.c(118): .fa-list-alt:before {\n
Login.c(118): content: "\\f022";\n
Login.c(118): }\n
Login.c(118): .fa-lock:before {\n
Login.c(118): content: "\\f023";\n
Login.c(118): }\n
Login.c(118): .fa-flag:before {\n
Login.c(118): content: "\\f024";\n
Login.c(118): }\n
Login.c(118): .fa-headphones:before {\n
Login.c(118): content: "\\f025";\n
Login.c(118): }\n
Login.c(118): .fa-volume-off:before {\n
Login.c(118): content: "\\f026";\n
Login.c(118): }\n
Login.c(118): .fa-volume-down:before {\n
Login.c(118): content: "\\f027";\n
Login.c(118): }\n
Login.c(118): .fa-volume-up:before {\n
Login.c(118): content: "\\f028";\n
Login.c(118): }\n
Login.c(118): .fa-qrcode:before {\n
Login.c(118): content: "\\f029";\n
Login.c(118): }\n
Login.c(118): .fa-barcode:before {\n
Login.c(118): content: "\\f02a";\n
Login.c(118): }\n
Login.c(118): .fa-tag:before {\n
Login.c(118): content: "\\f02b";\n
Login.c(118): }\n
Login.c(118): .fa-tags:before {\n
Login.c(118): content: "\\f02c";\n
Login.c(118): }\n
Login.c(118): .fa-book:before {\n
Login.c(118): content: "\\f02d";\n
Login.c(118): }\n
Login.c(118): .fa-bookmark:before {\n
Login.c(118): content: "\\f02e";\n
Login.c(118): }\n
Login.c(118): .fa-print:before {\n
Login.c(118): content: "\\f02f";\n
Login.c(118): }\n
Login.c(118): .fa-camera:before {\n
Login.c(118): content: "\\f030";\n
Login.c(118): }\n
Login.c(118): .fa-font:before {\n
Login.c(118): content: "\\f031";\n
Login.c(118): }\n
Login.c(118): .fa-bold:before {\n
Login.c(118): content: "\\f032";\n
Login.c(118): }\n
Login.c(118): .fa-italic:before {\n
Login.c(118): content: "\\f033";\n
Login.c(118): }\n
Login.c(118): .fa-text-height:before {\n
Login.c(118): content: "\\f034";\n
Login.c(118): }\n
Login.c(118): .fa-text-width:before {\n
Login.c(118): content: "\\f035";\n
Login.c(118): }\n
Login.c(118): .fa-align-left:before {\n
Login.c(118): content: "\\f036";\n
Login.c(118): }\n
Login.c(118): .fa-align-center:before {\n
Login.c(118): content: "\\f037";\n
Login.c(118): }\n
Login.c(118): .fa-align-right:before {\n
Login.c(118): content: "\\f038";\n
Login.c(118): }\n
Login.c(118): .fa-align-justify:before {\n
Login.c(118): content: "\\f039";\n
Login.c(118): }\n
Login.c(118): .fa-list:before {\n
Login.c(118): content: "\\f03a";\n
Login.c(118): }\n
Login.c(118): .fa-dedent:before,\n
Login.c(118): .fa-outdent:before {\n
Login.c(118): content: "\\f03b";\n
Login.c(118): }\n
Login.c(118): .fa-indent:before {\n
Login.c(118): content: "\\f03c";\n
Login.c(118): }\n
Login.c(118): .fa-video-camera:before {\n
Login.c(118): content: "\\f03d";\n
Login.c(118): }\n
Login.c(118): .fa-photo:before,\n
Login.c(118): .fa-image:before,\n
Login.c(118): .fa-picture-o:before {\n
Login.c(118): content: "\\f03e";\n
Login.c(118): }\n
Login.c(118): .fa-pencil:before {\n
Login.c(118): content: "\\f040";\n
Login.c(118): }\n
Login.c(118): .fa-map-marker:before {\n
Login.c(118): content: "\\f041";\n
Login.c(118): }\n
Login.c(118): .fa-adjust:before {\n
Login.c(118): content: "\\f042";\n
Login.c(118): }\n
Login.c(118): .fa-tint:before {\n
Login.c(118): content: "\\f043";\n
Login.c(118): }\n
Login.c(118): .fa-edit:before,\n
Login.c(118): .fa-pencil-square-o:before {\n
Login.c(118): content: "\\f044";\n
Login.c(118): }\n
Login.c(118): .fa-share-square-o:before {\n
Login.c(118): content: "\\f045";\n
Login.c(118): }\n
Login.c(118): .fa-check-square-o:before {\n
Login.c(118): content: "\\f046";\n
Login.c(118): }\n
Login.c(118): .fa-arrows:before {\n
Login.c(118): content: "\\f047";\n
Login.c(118): }\n
Login.c(118): .fa-step-backward:before {\n
Login.c(118): content: "\\f048";\n
Login.c(118): }\n
Login.c(118): .fa-fast-backward:before {\n
Login.c(118): content: "\\f049";\n
Login.c(118): }\n
Login.c(118): .fa-backward:before {\n
Login.c(118): content: "\\f04a";\n
Login.c(118): }\n
Login.c(118): .fa-play:before {\n
Login.c(118): content: "\\f04b";\n
Login.c(118): }\n
Login.c(118): .fa-pause:before {\n
Login.c(118): content: "\\f04c";\n
Login.c(118): }\n
Login.c(118): .fa-stop:before {\n
Login.c(118): content: "\\f04d";\n
Login.c(118): }\n
Login.c(118): .fa-forward:before {\n
Login.c(118): content: "\\f04e";\n
Login.c(118): }\n
Login.c(118): .fa-fast-forward:before {\n
Login.c(118): content: "\\f050";\n
Login.c(118): }\n
Login.c(118): .fa-step-forward:before {\n
Login.c(118): content: "\\f051";\n
Login.c(118): }\n
Login.c(118): .fa-eject:before {\n
Login.c(118): content: "\\f052";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-left:before {\n
Login.c(118): content: "\\f053";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-right:before {\n
Login.c(118): content: "\\f054";\n
Login.c(118): }\n
Login.c(118): .fa-plus-circle:before {\n
Login.c(118): content: "\\f055";\n
Login.c(118): }\n
Login.c(118): .fa-minus-circle:before {\n
Login.c(118): content: "\\f056";\n
Login.c(118): }\n
Login.c(118): .fa-times-circle:before {\n
Login.c(118): content: "\\f057";\n
Login.c(118): }\n
Login.c(118): .fa-check-circle:before {\n
Login.c(118): content: "\\f058";\n
Login.c(118): }\n
Login.c(118): .fa-question-circle:before {\n
Login.c(118): content: "\\f059";\n
Login.c(118): }\n
Login.c(118): .fa-info-circle:before {\n
Login.c(118): content: "\\f05a";\n
Login.c(118): }\n
Login.c(118): .fa-crosshairs:before {\n
Login.c(118): content: "\\f05b";\n
Login.c(118): }\n
Login.c(118): .fa-times-circle-o:before {\n
Login.c(118): content: "\\f05c";\n
Login.c(118): }\n
Login.c(118): .fa-check-circle-o:before {\n
Login.c(118): content: "\\f05d";\n
Login.c(118): }\n
Login.c(118): .fa-ban:before {\n
Login.c(118): content: "\\f05e";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-left:before {\n
Login.c(118): content: "\\f060";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-right:before {\n
Login.c(118): content: "\\f061";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-up:before {\n
Login.c(118): content: "\\f062";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-down:before {\n
Login.c(118): content: "\\f063";\n
Login.c(118): }\n
Login.c(118): .fa-mail-forward:before,\n
Login.c(118): .fa-share:before {\n
Login.c(118): content: "\\f064";\n
Login.c(118): }\n
Login.c(118): .fa-expand:before {\n
Login.c(118): content: "\\f065";\n
Login.c(118): }\n
Login.c(118): .fa-compress:before {\n
Login.c(118): content: "\\f066";\n
Login.c(118): }\n
Login.c(118): .fa-plus:before {\n
Login.c(118): content: "\\f067";\n
Login.c(118): }\n
Login.c(118): .fa-minus:before {\n
Login.c(118): content: "\\f068";\n
Login.c(118): }\n
Login.c(118): .fa-asterisk:before {\n
Login.c(118): content: "\\f069";\n
Login.c(118): }\n
Login.c(118): .fa-exclamation-circle:before {\n
Login.c(118): content: "\\f06a";\n
Login.c(118): }\n
Login.c(118): .fa-gift:before {\n
Login.c(118): content: "\\f06b";\n
Login.c(118): }\n
Login.c(118): .fa-leaf:before {\n
Login.c(118): content: "\\f06c";\n
Login.c(118): }\n
Login.c(118): .fa-fire:before {\n
Login.c(118): content: "\\f06d";\n
Login.c(118): }\n
Login.c(118): .fa-eye:before {\n
Login.c(118): content: "\\f06e";\n
Login.c(118): }\n
Login.c(118): .fa-eye-slash:before {\n
Login.c(118): content: "\\f070";\n
Login.c(118): }\n
Login.c(118): .fa-warning:before,\n
Login.c(118): .fa-exclamation-triangle:before {\n
Login.c(118): content: "\\f071";\n
Login.c(118): }\n
Login.c(118): .fa-plane:before {\n
Login.c(118): content: "\\f072";\n
Login.c(118): }\n
Login.c(118): .fa-calendar:before {\n
Login.c(118): content: "\\f073";\n
Login.c(118): }\n
Login.c(118): .fa-random:before {\n
Login.c(118): content: "\\f074";\n
Login.c(118): }\n
Login.c(118): .fa-comment:before {\n
Login.c(118): content: "\\f075";\n
Login.c(118): }\n
Login.c(118): .fa-magnet:before {\n
Login.c(118): content: "\\f076";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-up:before {\n
Login.c(118): content: "\\f077";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-down:before {\n
Login.c(118): content: "\\f078";\n
Login.c(118): }\n
Login.c(118): .fa-retweet:before {\n
Login.c(118): content: "\\f079";\n
Login.c(118): }\n
Login.c(118): .fa-shopping-cart:before {\n
Login.c(118): content: "\\f07a";\n
Login.c(118): }\n
Login.c(118): .fa-folder:before {\n
Login.c(118): content: "\\f07b";\n
Login.c(118): }\n
Login.c(118): .fa-folder-open:before {\n
Login.c(118): content: "\\f07c";\n
Login.c(118): }\n
Login.c(118): .fa-arrows-v:before {\n
Login.c(118): content: "\\f07d";\n
Login.c(118): }\n
Login.c(118): .fa-arrows-h:before {\n
Login.c(118): content: "\\f07e";\n
Login.c(118): }\n
Login.c(118): .fa-bar-chart-o:before,\n
Login.c(118): .fa-bar-chart:before {\n
Login.c(118): content: "\\f080";\n
Login.c(118): }\n
Login.c(118): .fa-twitter-square:before {\n
Login.c(118): content: "\\f081";\n
Login.c(118): }\n
Login.c(118): .fa-facebook-square:before {\n
Login.c(118): content: "\\f082";\n
Login.c(118): }\n
Login.c(118): .fa-camera-retro:before {\n
Login.c(118): content: "\\f083";\n
Login.c(118): }\n
Login.c(118): .fa-key:before {\n
Login.c(118): content: "\\f084";\n
Login.c(118): }\n
Login.c(118): .fa-gears:before,\n
Login.c(118): .fa-cogs:before {\n
Login.c(118): content: "\\f085";\n
Login.c(118): }\n
Login.c(118): .fa-comments:before {\n
Login.c(118): content: "\\f086";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-o-up:before {\n
Login.c(118): content: "\\f087";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-o-down:before {\n
Login.c(118): content: "\\f088";\n
Login.c(118): }\n
Login.c(118): .fa-star-half:before {\n
Login.c(118): content: "\\f089";\n
Login.c(118): }\n
Login.c(118): .fa-heart-o:before {\n
Login.c(118): content: "\\f08a";\n
Login.c(118): }\n
Login.c(118): .fa-sign-out:before {\n
Login.c(118): content: "\\f08b";\n
Login.c(118): }\n
Login.c(118): .fa-linkedin-square:before {\n
Login.c(118): content: "\\f08c";\n
Login.c(118): }\n
Login.c(118): .fa-thumb-tack:before {\n
Login.c(118): content: "\\f08d";\n
Login.c(118): }\n
Login.c(118): .fa-external-link:before {\n
Login.c(118): content: "\\f08e";\n
Login.c(118): }\n
Login.c(118): .fa-sign-in:before {\n
Login.c(118): content: "\\f090";\n
Login.c(118): }\n
Login.c(118): .fa-trophy:before {\n
Login.c(118): content: "\\f091";\n
Login.c(118): }\n
Login.c(118): .fa-github-square:before {\n
Login.c(118): content: "\\f092";\n
Login.c(118): }\n
Login.c(118): .fa-upload:before {\n
Login.c(118): content: "\\f093";\n
Login.c(118): }\n
Login.c(118): .fa-lemon-o:before {\n
Login.c(118): content: "\\f094";\n
Login.c(118): }\n
Login.c(118): .fa-phone:before {\n
Login.c(118): content: "\\f095";\n
Login.c(118): }\n
Login.c(118): .fa-square-o:before {\n
Login.c(118): content: "\\f096";\n
Login.c(118): }\n
Login.c(118): .fa-bookmark-o:before {\n
Login.c(118): content: "\\f097";\n
Login.c(118): }\n
Login.c(118): .fa-phone-square:before {\n
Login.c(118): content: "\\f098";\n
Login.c(118): }\n
Login.c(118): .fa-twitter:before {\n
Login.c(118): content: "\\f099";\n
Login.c(118): }\n
Login.c(118): .fa-facebook:before {\n
Login.c(118): content: "\\f09a";\n
Login.c(118): }\n
Login.c(118): .fa-github:before {\n
Login.c(118): content: "\\f09b";\n
Login.c(118): }\n
Login.c(118): .fa-unlock:before {\n
Login.c(118): content: "\\f09c";\n
Login.c(118): }\n
Login.c(118): .fa-credit-card:before {\n
Login.c(118): content: "\\f09d";\n
Login.c(118): }\n
Login.c(118): .fa-rss:before {\n
Login.c(118): content: "\\f09e";\n
Login.c(118): }\n
Login.c(118): .fa-hdd-o:before {\n
Login.c(118): content: "\\f0a0";\n
Login.c(118): }\n
Login.c(118): .fa-bullhorn:before {\n
Login.c(118): content: "\\f0a1";\n
Login.c(118): }\n
Login.c(118): .fa-bell:before {\n
Login.c(118): content: "\\f0f3";\n
Login.c(118): }\n
Login.c(118): .fa-certificate:before {\n
Login.c(118): content: "\\f0a3";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-right:before {\n
Login.c(118): content: "\\f0a4";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-left:before {\n
Login.c(118): content: "\\f0a5";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-up:before {\n
Login.c(118): content: "\\f0a6";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-down:before {\n
Login.c(118): content: "\\f0a7";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-left:before {\n
Login.c(118): content: "\\f0a8";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-right:before {\n
Login.c(118): content: "\\f0a9";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-up:before {\n
Login.c(118): content: "\\f0aa";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-down:before {\n
Login.c(118): content: "\\f0ab";\n
Login.c(118): }\n
Login.c(118): .fa-globe:before {\n
Login.c(118): content: "\\f0ac";\n
Login.c(118): }\n
Login.c(118): .fa-wrench:before {\n
Login.c(118): content: "\\f0ad";\n
Login.c(118): }\n
Login.c(118): .fa-tasks:before {\n
Login.c(118): content: "\\f0ae";\n
Login.c(118): }\n
Login.c(118): .fa-filter:before {\n
Login.c(118): content: "\\f0b0";\n
Login.c(118): }\n
Login.c(118): .fa-briefcase:before {\n
Login.c(118): content: "\\f0b1";\n
Login.c(118): }\n
Login.c(118): .fa-arrows-alt:before {\n
Login.c(118): content: "\\f0b2";\n
Login.c(118): }\n
Login.c(118): .fa-group:before,\n
Login.c(118): .fa-users:before {\n
Login.c(118): content: "\\f0c0";\n
Login.c(118): }\n
Login.c(118): .fa-chain:before,\n
Login.c(118): .fa-link:before {\n
Login.c(118): content: "\\f0c1";\n
Login.c(118): }\n
Login.c(118): .fa-cloud:before {\n
Login.c(118): content: "\\f0c2";\n
Login.c(118): }\n
Login.c(118): .fa-flask:before {\n
Login.c(118): content: "\\f0c3";\n
Login.c(118): }\n
Login.c(118): .fa-cut:before,\n
Login.c(118): .fa-scissors:before {\n
Login.c(118): content: "\\f0c4";\n
Login.c(118): }\n
Login.c(118): .fa-copy:before,\n
Login.c(118): .fa-files-o:before {\n
Login.c(118): content: "\\f0c5";\n
Login.c(118): }\n
Login.c(118): .fa-paperclip:before {\n
Login.c(118): content: "\\f0c6";\n
Login.c(118): }\n
Login.c(118): .fa-save:before,\n
Login.c(118): .fa-floppy-o:before {\n
Login.c(118): content: "\\f0c7";\n
Login.c(118): }\n
Login.c(118): .fa-square:before {\n
Login.c(118): content: "\\f0c8";\n
Login.c(118): }\n
Login.c(118): .fa-navicon:before,\n
Login.c(118): .fa-reorder:before,\n
Login.c(118): .fa-bars:before {\n
Login.c(118): content: "\\f0c9";\n
Login.c(118): }\n
Login.c(118): .fa-list-ul:before {\n
Login.c(118): content: "\\f0ca";\n
Login.c(118): }\n
Login.c(118): .fa-list-ol:before {\n
Login.c(118): content: "\\f0cb";\n
Login.c(118): }\n
Login.c(118): .fa-strikethrough:before {\n
Login.c(118): content: "\\f0cc";\n
Login.c(118): }\n
Login.c(118): .fa-underline:before {\n
Login.c(118): content: "\\f0cd";\n
Login.c(118): }\n
Login.c(118): .fa-table:before {\n
Login.c(118): content: "\\f0ce";\n
Login.c(118): }\n
Login.c(118): .fa-magic:before {\n
Login.c(118): content: "\\f0d0";\n
Login.c(118): }\n
Login.c(118): .fa-truck:before {\n
Login.c(118): content: "\\f0d1";\n
Login.c(118): }\n
Login.c(118): .fa-pinterest:before {\n
Login.c(118): content: "\\f0d2";\n
Login.c(118): }\n
Login.c(118): .fa-pinterest-square:before {\n
Login.c(118): content: "\\f0d3";\n
Login.c(118): }\n
Login.c(118): .fa-google-plus-square:before {\n
Login.c(118): content: "\\f0d4";\n
Login.c(118): }\n
Login.c(118): .fa-google-plus:before {\n
Login.c(118): content: "\\f0d5";\n
Login.c(118): }\n
Login.c(118): .fa-money:before {\n
Login.c(118): content: "\\f0d6";\n
Login.c(118): }\n
Login.c(118): .fa-caret-down:before {\n
Login.c(118): content: "\\f0d7";\n
Login.c(118): }\n
Login.c(118): .fa-caret-up:before {\n
Login.c(118): content: "\\f0d8";\n
Login.c(118): }\n
Login.c(118): .fa-caret-left:before {\n
Login.c(118): content: "\\f0d9";\n
Login.c(118): }\n
Login.c(118): .fa-caret-right:before {\n
Login.c(118): content: "\\f0da";\n
Login.c(118): }\n
Login.c(118): .fa-columns:before {\n
Login.c(118): content: "\\f0db";\n
Login.c(118): }\n
Login.c(118): .fa-unsorted:before,\n
Login.c(118): .fa-sort:before {\n
Login.c(118): content: "\\f0dc";\n
Login.c(118): }\n
Login.c(118): .fa-sort-down:before,\n
Login.c(118): .fa-sort-desc:before {\n
Login.c(118): content: "\\f0dd";\n
Login.c(118): }\n
Login.c(118): .fa-sort-up:before,\n
Login.c(118): .fa-sort-asc:before {\n
Login.c(118): content: "\\f0de";\n
Login.c(118): }\n
Login.c(118): .fa-envelope:before {\n
Login.c(118): content: "\\f0e0";\n
Login.c(118): }\n
Login.c(118): .fa-linkedin:before {\n
Login.c(118): content: "\\f0e1";\n
Login.c(118): }\n
Login.c(118): .fa-rotate-left:before,\n
Login.c(118): .fa-undo:before {\n
Login.c(118): content: "\\f0e2";\n
Login.c(118): }\n
Login.c(118): .fa-legal:before,\n
Login.c(118): .fa-gavel:before {\n
Login.c(118): content: "\\f0e3";\n
Login.c(118): }\n
Login.c(118): .fa-dashboard:before,\n
Login.c(118): .fa-tachometer:before {\n
Login.c(118): content: "\\f0e4";\n
Login.c(118): }\n
Login.c(118): .fa-comment-o:before {\n
Login.c(118): content: "\\f0e5";\n
Login.c(118): }\n
Login.c(118): .fa-comments-o:before {\n
Login.c(118): content: "\\f0e6";\n
Login.c(118): }\n
Login.c(118): .fa-flash:before,\n
Login.c(118): .fa-bolt:before {\n
Login.c(118): content: "\\f0e7";\n
Login.c(118): }\n
Login.c(118): .fa-sitemap:before {\n
Login.c(118): content: "\\f0e8";\n
Login.c(118): }\n
Login.c(118): .fa-umbrella:before {\n
Login.c(118): content: "\\f0e9";\n
Login.c(118): }\n
Login.c(118): .fa-paste:before,\n
Login.c(118): .fa-clipboard:before {\n
Login.c(118): content: "\\f0ea";\n
Login.c(118): }\n
Login.c(118): .fa-lightbulb-o:before {\n
Login.c(118): content: "\\f0eb";\n
Login.c(118): }\n
Login.c(118): .fa-exchange:before {\n
Login.c(118): content: "\\f0ec";\n
Login.c(118): }\n
Login.c(118): .fa-cloud-download:before {\n
Login.c(118): content: "\\f0ed";\n
Login.c(118): }\n
Login.c(118): .fa-cloud-upload:before {\n
Login.c(118): content: "\\f0ee";\n
Login.c(118): }\n
Login.c(118): .fa-user-md:before {\n
Login.c(118): content: "\\f0f0";\n
Login.c(118): }\n
Login.c(118): .fa-stethoscope:before {\n
Login.c(118): content: "\\f0f1";\n
Login.c(118): }\n
Login.c(118): .fa-suitcase:before {\n
Login.c(118): content: "\\f0f2";\n
Login.c(118): }\n
Login.c(118): .fa-bell-o:before {\n
Login.c(118): content: "\\f0a2";\n
Login.c(118): }\n
Login.c(118): .fa-coffee:before {\n
Login.c(118): content: "\\f0f4";\n
Login.c(118): }\n
Login.c(118): .fa-cutlery:before {\n
Login.c(118): content: "\\f0f5";\n
Login.c(118): }\n
Login.c(118): .fa-file-text-o:before {\n
Login.c(118): content: "\\f0f6";\n
Login.c(118): }\n
Login.c(118): .fa-building-o:before {\n
Login.c(118): content: "\\f0f7";\n
Login.c(118): }\n
Login.c(118): .fa-hospital-o:before {\n
Login.c(118): content: "\\f0f8";\n
Login.c(118): }\n
Login.c(118): .fa-ambulance:before {\n
Login.c(118): content: "\\f0f9";\n
Login.c(118): }\n
Login.c(118): .fa-medkit:before {\n
Login.c(118): content: "\\f0fa";\n
Login.c(118): }\n
Login.c(118): .fa-fighter-jet:before {\n
Login.c(118): content: "\\f0fb";\n
Login.c(118): }\n
Login.c(118): .fa-beer:before {\n
Login.c(118): content: "\\f0fc";\n
Login.c(118): }\n
Login.c(118): .fa-h-square:before {\n
Login.c(118): content: "\\f0fd";\n
Login.c(118): }\n
Login.c(118): .fa-plus-square:before {\n
Login.c(118): content: "\\f0fe";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-left:before {\n
Login.c(118): content: "\\f100";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-right:before {\n
Login.c(118): content: "\\f101";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-up:before {\n
Login.c(118): content: "\\f102";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-down:before {\n
Login.c(118): content: "\\f103";\n
Login.c(118): }\n
Login.c(118): .fa-angle-left:before {\n
Login.c(118): content: "\\f104";\n
Login.c(118): }\n
Login.c(118): .fa-angle-right:before {\n
Login.c(118): content: "\\f105";\n
Login.c(118): }\n
Login.c(118): .fa-angle-up:before {\n
Login.c(118): content: "\\f106";\n
Login.c(118): }\n
Login.c(118): .fa-angle-down:before {\n
Login.c(118): content: "\\f107";\n
Login.c(118): }\n
Login.c(118): .fa-desktop:before {\n
Login.c(118): content: "\\f108";\n
Login.c(118): }\n
Login.c(118): .fa-laptop:before {\n
Login.c(118): content: "\\f109";\n
Login.c(118): }\n
Login.c(118): .fa-tablet:before {\n
Login.c(118): content: "\\f10a";\n
Login.c(118): }\n
Login.c(118): .fa-mobile-phone:before,\n
Login.c(118): .fa-mobile:before {\n
Login.c(118): content: "\\f10b";\n
Login.c(118): }\n
Login.c(118): .fa-circle-o:before {\n
Login.c(118): content: "\\f10c";\n
Login.c(118): }\n
Login.c(118): .fa-quote-left:before {\n
Login.c(118): content: "\\f10d";\n
Login.c(118): }\n
Login.c(118): .fa-quote-right:before {\n
Login.c(118): content: "\\f10e";\n
Login.c(118): }\n
Login.c(118): .fa-spinner:before {\n
Login.c(118): content: "\\f110";\n
Login.c(118): }\n
Login.c(118): .fa-circle:before {\n
Login.c(118): content: "\\f111";\n
Login.c(118): }\n
Login.c(118): .fa-mail-reply:before,\n
Login.c(118): .fa-reply:before {\n
Login.c(118): content: "\\f112";\n
Login.c(118): }\n
Login.c(118): .fa-github-alt:before {\n
Login.c(118): content: "\\f113";\n
Login.c(118): }\n
Login.c(118): .fa-folder-o:before {\n
Login.c(118): content: "\\f114";\n
Login.c(118): }\n
Login.c(118): .fa-folder-open-o:before {\n
Login.c(118): content: "\\f115";\n
Login.c(118): }\n
Login.c(118): .fa-smile-o:before {\n
Login.c(118): content: "\\f118";\n
Login.c(118): }\n
Login.c(118): .fa-frown-o:before {\n
Login.c(118): content: "\\f119";\n
Login.c(118): }\n
Login.c(118): .fa-meh-o:before {\n
Login.c(118): content: "\\f11a";\n
Login.c(118): }\n
Login.c(118): .fa-gamepad:before {\n
Login.c(118): content: "\\f11b";\n
Login.c(118): }\n
Login.c(118): .fa-keyboard-o:before {\n
Login.c(118): content: "\\f11c";\n
Login.c(118): }\n
Login.c(118): .fa-flag-o:before {\n
Login.c(118): content: "\\f11d";\n
Login.c(118): }\n
Login.c(118): .fa-flag-checkered:before {\n
Login.c(118): content: "\\f11e";\n
Login.c(118): }\n
Login.c(118): .fa-terminal:before {\n
Login.c(118): content: "\\f120";\n
Login.c(118): }\n
Login.c(118): .fa-code:before {\n
Login.c(118): content: "\\f121";\n
Login.c(118): }\n
Login.c(118): .fa-mail-reply-all:before,\n
Login.c(118): .fa-reply-all:before {\n
Login.c(118): content: "\\f122";\n
Login.c(118): }\n
Login.c(118): .fa-star-half-empty:before,\n
Login.c(118): .fa-star-half-full:before,
Login.c(118): t=4873ms: 10713-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \n
Login.c(118): .fa-star-half-o:before {\n
Login.c(118): content: "\\f123";\n
Login.c(118): }\n
Login.c(118): .fa-location-arrow:before {\n
Login.c(118): content: "\\f124";\n
Login.c(118): }\n
Login.c(118): .fa-crop:before {\n
Login.c(118): content: "\\f125";\n
Login.c(118): }\n
Login.c(118): .fa-code-fork:before {\n
Login.c(118): content: "\\f126";\n
Login.c(118): }\n
Login.c(118): .fa-unlink:before,\n
Login.c(118): .fa-chain-broken:before {\n
Login.c(118): content: "\\f127";\n
Login.c(118): }\n
Login.c(118): .fa-question:before {\n
Login.c(118): content: "\\f128";\n
Login.c(118): }\n
Login.c(118): .fa-info:before {\n
Login.c(118): content: "\\f129";\n
Login.c(118): }\n
Login.c(118): .fa-exclamation:before {\n
Login.c(118): content: "\\f12a";\n
Login.c(118): }\n
Login.c(118): .fa-superscript:before {\n
Login.c(118): content: "\\f12b";\n
Login.c(118): }\n
Login.c(118): .fa-subscript:before {\n
Login.c(118): content: "\\f12c";\n
Login.c(118): }\n
Login.c(118): .fa-eraser:before {\n
Login.c(118): content: "\\f12d";\n
Login.c(118): }\n
Login.c(118): .fa-puzzle-piece:before {\n
Login.c(118): content: "\\f12e";\n
Login.c(118): }\n
Login.c(118): .fa-microphone:before {\n
Login.c(118): content: "\\f130";\n
Login.c(118): }\n
Login.c(118): .fa-microphone-slash:before {\n
Login.c(118): content: "\\f131";\n
Login.c(118): }\n
Login.c(118): .fa-shield:before {\n
Login.c(118): content: "\\f132";\n
Login.c(118): }\n
Login.c(118): .fa-calendar-o:before {\n
Login.c(118): content: "\\f133";\n
Login.c(118): }\n
Login.c(118): .fa-fire-extinguisher:before {\n
Login.c(118): content: "\\f134";\n
Login.c(118): }\n
Login.c(118): .fa-rocket:before {\n
Login.c(118): content: "\\f135";\n
Login.c(118): }\n
Login.c(118): .fa-maxcdn:before {\n
Login.c(118): content: "\\f136";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-left:before {\n
Login.c(118): content: "\\f137";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-right:before {\n
Login.c(118): content: "\\f138";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-up:before {\n
Login.c(118): content: "\\f139";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-down:before {\n
Login.c(118): content: "\\f13a";\n
Login.c(118): }\n
Login.c(118): .fa-html5:before {\n
Login.c(118): content: "\\f13b";\n
Login.c(118): }\n
Login.c(118): .fa-css3:before {\n
Login.c(118): content: "\\f13c";\n
Login.c(118): }\n
Login.c(118): .fa-anchor:before {\n
Login.c(118): content: "\\f13d";\n
Login.c(118): }\n
Login.c(118): .fa-unlock-alt:before {\n
Login.c(118): content: "\\f13e";\n
Login.c(118): }\n
Login.c(118): .fa-bullseye:before {\n
Login.c(118): content: "\\f140";\n
Login.c(118): }\n
Login.c(118): .fa-ellipsis-h:before {\n
Login.c(118): content: "\\f141";\n
Login.c(118): }\n
Login.c(118): .fa-ellipsis-v:before {\n
Login.c(118): content: "\\f142";\n
Login.c(118): }\n
Login.c(118): .fa-rss-square:before {\n
Login.c(118): content: "\\f143";\n
Login.c(118): }\n
Login.c(118): .fa-play-circle:before {\n
Login.c(118): content: "\\f144";\n
Login.c(118): }\n
Login.c(118): .fa-ticket:before {\n
Login.c(118): content: "\\f145";\n
Login.c(118): }\n
Login.c(118): .fa-minus-square:before {\n
Login.c(118): content: "\\f146";\n
Login.c(118): }\n
Login.c(118): .fa-minus-square-o:before {\n
Login.c(118): content: "\\f147";\n
Login.c(118): }\n
Login.c(118): .fa-level-up:before {\n
Login.c(118): content: "\\f148";\n
Login.c(118): }\n
Login.c(118): .fa-level-down:before {\n
Login.c(118): content: "\\f149";\n
Login.c(118): }\n
Login.c(118): .fa-check-square:before {\n
Login.c(118): content: "\\f14a";\n
Login.c(118): }\n
Login.c(118): .fa-pencil-square:before {\n
Login.c(118): content: "\\f14b";\n
Login.c(118): }\n
Login.c(118): .fa-external-link-square:before {\n
Login.c(118): content: "\\f14c";\n
Login.c(118): }\n
Login.c(118): .fa-share-square:before {\n
Login.c(118): content: "\\f14d";\n
Login.c(118): }\n
Login.c(118): .fa-compass:before {\n
Login.c(118): content: "\\f14e";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-down:before,\n
Login.c(118): .fa-caret-square-o-down:before {\n
Login.c(118): content: "\\f150";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-up:before,\n
Login.c(118): .fa-caret-square-o-up:before {\n
Login.c(118): content: "\\f151";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-right:before,\n
Login.c(118): .fa-caret-square-o-right:before {\n
Login.c(118): content: "\\f152";\n
Login.c(118): }\n
Login.c(118): .fa-euro:before,\n
Login.c(118): .fa-eur:before {\n
Login.c(118): content: "\\f153";\n
Login.c(118): }\n
Login.c(118): .fa-gbp:before {\n
Login.c(118): content: "\\f154";\n
Login.c(118): }\n
Login.c(118): .fa-dollar:before,\n
Login.c(118): .fa-usd:before {\n
Login.c(118): content: "\\f155";\n
Login.c(118): }\n
Login.c(118): .fa-rupee:before,\n
Login.c(118): .fa-inr:before {\n
Login.c(118): content: "\\f156";\n
Login.c(118): }\n
Login.c(118): .fa-cny:before,\n
Login.c(118): .fa-rmb:before,\n
Login.c(118): .fa-yen:before,\n
Login.c(118): .fa-jpy:before {\n
Login.c(118): content: "\\f157";\n
Login.c(118): }\n
Login.c(118): .fa-ruble:before,\n
Login.c(118): .fa-rouble:before,\n
Login.c(118): .fa-rub:before {\n
Login.c(118): content: "\\f158";\n
Login.c(118): }\n
Login.c(118): .fa-won:before,\n
Login.c(118): .fa-krw:before {\n
Login.c(118): content: "\\f159";\n
Login.c(118): }\n
Login.c(118): .fa-bitcoin:before,\n
Login.c(118): .fa-btc:before {\n
Login.c(118): content: "\\f15a";\n
Login.c(118): }\n
Login.c(118): .fa-file:before {\n
Login.c(118): content: "\\f15b";\n
Login.c(118): }\n
Login.c(118): .fa-file-text:before {\n
Login.c(118): content: "\\f15c";\n
Login.c(118): }\n
Login.c(118): .fa-sort-alpha-asc:before {\n
Login.c(118): content: "\\f15d";\n
Login.c(118): }\n
Login.c(118): .fa-sort-alpha-desc:before {\n
Login.c(118): content: "\\f15e";\n
Login.c(118): }\n
Login.c(118): .fa-sort-amount-asc:before {\n
Login.c(118): content: "\\f160";\n
Login.c(118): }\n
Login.c(118): .fa-sort-amount-desc:before {\n
Login.c(118): content: "\\f161";\n
Login.c(118): }\n
Login.c(118): .fa-sort-numeric-asc:before {\n
Login.c(118): content: "\\f162";\n
Login.c(118): }\n
Login.c(118): .fa-sort-numeric-desc:before {\n
Login.c(118): content: "\\f163";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-up:before {\n
Login.c(118): content: "\\f164";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-down:before {\n
Login.c(118): content: "\\f165";\n
Login.c(118): }\n
Login.c(118): .fa-youtube-square:before {\n
Login.c(118): content: "\\f166";\n
Login.c(118): }\n
Login.c(118): .fa-youtube:before {\n
Login.c(118): content: "\\f167";\n
Login.c(118): }\n
Login.c(118): .fa-xing:before {\n
Login.c(118): content: "\\f168";\n
Login.c(118): }\n
Login.c(118): .fa-xing-square:before {\n
Login.c(118): content: "\\f169";\n
Login.c(118): }\n
Login.c(118): .fa-youtube-play:before {\n
Login.c(118): content: "\\f16a";\n
Login.c(118): }\n
Login.c(118): .fa-dropbox:before {\n
Login.c(118): content: "\\f16b";\n
Login.c(118): }\n
Login.c(118): .fa-stack-overflow:before {\n
Login.c(118): content: "\\f16c";\n
Login.c(118): }\n
Login.c(118): .fa-instagram:before {\n
Login.c(118): content: "\\f16d";\n
Login.c(118): }\n
Login.c(118): .fa-flickr:before {\n
Login.c(118): content: "\\f16e";\n
Login.c(118): }\n
Login.c(118): .fa-adn:before {\n
Login.c(118): content: "\\f170";\n
Login.c(118): }\n
Login.c(118): .fa-bitbucket:before {\n
Login.c(118): content: "\\f171";\n
Login.c(118): }\n
Login.c(118): .fa-bitbucket-square:before {\n
Login.c(118): content: "\\f172";\n
Login.c(118): }\n
Login.c(118): .fa-tumblr:before {\n
Login.c(118): content: "\\f173";\n
Login.c(118): }\n
Login.c(118): .fa-tumblr-square:before {\n
Login.c(118): content: "\\f174";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-down:before {\n
Login.c(118): content: "\\f175";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-up:before {\n
Login.c(118): content: "\\f176";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-left:before {\n
Login.c(118): content: "\\f177";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-right:before {\n
Login.c(118): content: "\\f178";\n
Login.c(118): }\n
Login.c(118): .fa-apple:before {\n
Login.c(118): content: "\\f179";\n
Login.c(118): }\n
Login.c(118): .fa-windows:before {\n
Login.c(118): content: "\\f17a";\n
Login.c(118): }\n
Login.c(118): .fa-android:before {\n
Login.c(118): content: "\\f17b";\n
Login.c(118): }\n
Login.c(118): .fa-linux:before {\n
Login.c(118): content: "\\f17c";\n
Login.c(118): }\n
Login.c(118): .fa-dribbble:before {\n
Login.c(118): content: "\\f17d";\n
Login.c(118): }\n
Login.c(118): .fa-skype:before {\n
Login.c(118): content: "\\f17e";\n
Login.c(118): }\n
Login.c(118): .fa-foursquare:before {\n
Login.c(118): content: "\\f180";\n
Login.c(118): }\n
Login.c(118): .fa-trello:before {\n
Login.c(118): content: "\\f181";\n
Login.c(118): }\n
Login.c(118): .fa-female:before {\n
Login.c(118): content: "\\f182";\n
Login.c(118): }\n
Login.c(118): .fa-male:before {\n
Login.c(118): content: "\\f183";\n
Login.c(118): }\n
Login.c(118): .fa-gittip:before {\n
Login.c(118): content: "\\f184";\n
Login.c(118): }\n
Login.c(118): .fa-sun-o:before {\n
Login.c(118): content: "\\f185";\n
Login.c(118): }\n
Login.c(118): .fa-moon-o:before {\n
Login.c(118): content: "\\f186";\n
Login.c(118): }\n
Login.c(118): .fa-archive:before {\n
Login.c(118): content: "\\f187";\n
Login.c(118): }\n
Login.c(118): .fa-bug:before {\n
Login.c(118): content: "\\f188";\n
Login.c(118): }\n
Login.c(118): .fa-vk:before {\n
Login.c(118): content: "\\f189";\n
Login.c(118): }\n
Login.c(118): .fa-weibo:before {\n
Login.c(118): content: "\\f18a";\n
Login.c(118): }\n
Login.c(118): .fa-renren:before {\n
Login.c(118): content: "\\f18b";\n
Login.c(118): }\n
Login.c(118): .fa-pagelines:before {\n
Login.c(118): content: "\\f18c";\n
Login.c(118): }\n
Login.c(118): .fa-stack-exchange:before {\n
Login.c(118): content: "\\f18d";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-right:before {\n
Login.c(118): content: "\\f18e";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-left:before {\n
Login.c(118): content: "\\f190";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-left:before,\n
Login.c(118): .fa-caret-square-o-left:before {\n
Login.c(118): content: "\\f191";\n
Login.c(118): }\n
Login.c(118): .fa-dot-circle-o:before {\n
Login.c(118): content: "\\f192";\n
Login.c(118): }\n
Login.c(118): .fa-wheelchair:before {\n
Login.c(118): content: "\\f193";\n
Login.c(118): }\n
Login.c(118): .fa-vimeo-square:before {\n
Login.c(118): content: "\\f194";\n
Login.c(118): }\n
Login.c(118): .fa-turkish-lira:before,\n
Login.c(118): .fa-try:before {\n
Login.c(118): content: "\\f195";\n
Login.c(118): }\n
Login.c(118): .fa-plus-square-o:before {\n
Login.c(118): content: "\\f196";\n
Login.c(118): }\n
Login.c(118): .fa-space-shuttle:before {\n
Login.c(118): content: "\\f197";\n
Login.c(118): }\n
Login.c(118): .fa-slack:before {\n
Login.c(118): content: "\\f198";\n
Login.c(118): }\n
Login.c(118): .fa-envelope-square:before {\n
Login.c(118): content: "\\f199";\n
Login.c(118): }\n
Login.c(118): .fa-wordpress:before {\n
Login.c(118): content: "\\f19a";\n
Login.c(118): }\n
Login.c(118): .fa-openid:before {\n
Login.c(118): content: "\\f19b";\n
Login.c(118): }\n
Login.c(118): .fa-institution:before,\n
Login.c(118): .fa-bank:before,\n
Login.c(118): .fa-university:before {\n
Login.c(118): content: "\\f19c";\n
Login.c(118): }\n
Login.c(118): .fa-mortar-board:before,\n
Login.c(118): .fa-graduation-cap:before {\n
Login.c(118): content: "\\f19d";\n
Login.c(118): }\n
Login.c(118): .fa-yahoo:before {\n
Login.c(118): content: "\\f19e";\n
Login.c(118): }\n
Login.c(118): .fa-google:before {\n
Login.c(118): content: "\\f1a0";\n
Login.c(118): }\n
Login.c(118): .fa-reddit:before {\n
Login.c(118): content: "\\f1a1";\n
Login.c(118): }\n
Login.c(118): .fa-reddit-square:before {\n
Login.c(118): content: "\\f1a2";\n
Login.c(118): }\n
Login.c(118): .fa-stumbleupon-circle:before {\n
Login.c(118): content: "\\f1a3";\n
Login.c(118): }\n
Login.c(118): .fa-stumbleupon:before {\n
Login.c(118): content: "\\f1a4";\n
Login.c(118): }\n
Login.c(118): .fa-delicious:before {\n
Login.c(118): content: "\\f1a5";\n
Login.c(118): }\n
Login.c(118): .fa-digg:before {\n
Login.c(118): content: "\\f1a6";\n
Login.c(118): }\n
Login.c(118): .fa-pied-piper:before {\n
Login.c(118): content: "\\f1a7";\n
Login.c(118): }\n
Login.c(118): .fa-pied-piper-alt:before {\n
Login.c(118): content: "\\f1a8";\n
Login.c(118): }\n
Login.c(118): .fa-drupal:before {\n
Login.c(118): content: "\\f1a9";\n
Login.c(118): }\n
Login.c(118): .fa-joomla:before {\n
Login.c(118): content: "\\f1aa";\n
Login.c(118): }\n
Login.c(118): .fa-language:before {\n
Login.c(118): content: "\\f1ab";\n
Login.c(118): }\n
Login.c(118): .fa-fax:before {\n
Login.c(118): content: "\\f1ac";\n
Login.c(118): }\n
Login.c(118): .fa-building:before {\n
Login.c(118): content: "\\f1ad";\n
Login.c(118): }\n
Login.c(118): .fa-child:before {\n
Login.c(118): content: "\\f1ae";\n
Login.c(118): }\n
Login.c(118): .fa-paw:before {\n
Login.c(118): content: "\\f1b0";\n
Login.c(118): }\n
Login.c(118): .fa-spoon:before {\n
Login.c(118): content: "\\f1b1";\n
Login.c(118): }\n
Login.c(118): .fa-cube:before {\n
Login.c(118): content: "\\f1b2";\n
Login.c(118): }\n
Login.c(118): .fa-cubes:before {\n
Login.c(118): content: "\\f1b3";\n
Login.c(118): }\n
Login.c(118): .fa-behance:before {\n
Login.c(118): content: "\\f1b4";\n
Login.c(118): }\n
Login.c(118): .fa-behance-square:before {\n
Login.c(118): content: "\\f1b5";\n
Login.c(118): }\n
Login.c(118): .fa-steam:before {\n
Login.c(118): content: "\\f1b6";\n
Login.c(118): }\n
Login.c(118): .fa-steam-square:before {\n
Login.c(118): content: "\\f1b7";\n
Login.c(118): }\n
Login.c(118): .fa-recycle:before {\n
Login.c(118): content: "\\f1b8";\n
Login.c(118): }\n
Login.c(118): .fa-automobile:before,\n
Login.c(118): .fa-car:before {\n
Login.c(118): content: "\\f1b9";\n
Login.c(118): }\n
Login.c(118): .fa-cab:before,\n
Login.c(118): .fa-taxi:before {\n
Login.c(118): content: "\\f1ba";\n
Login.c(118): }\n
Login.c(118): .fa-tree:before {\n
Login.c(118): content: "\\f1bb";\n
Login.c(118): }\n
Login.c(118): .fa-spotify:before {\n
Login.c(118): content: "\\f1bc";\n
Login.c(118): }\n
Login.c(118): .fa-deviantart:before {\n
Login.c(118): content: "\\f1bd";\n
Login.c(118): }\n
Login.c(118): .fa-soundcloud:before {\n
Login.c(118): content: "\\f1be";\n
Login.c(118): }\n
Login.c(118): .fa-database:before {\n
Login.c(118): content: "\\f1c0";\n
Login.c(118): }\n
Login.c(118): .fa-file-pdf-o:before {\n
Login.c(118): content: "\\f1c1";\n
Login.c(118): }\n
Login.c(118): .fa-file-word-o:before {\n
Login.c(118): content: "\\f1c2";\n
Login.c(118): }\n
Login.c(118): .fa-file-excel-o:before {\n
Login.c(118): content: "\\f1c3";\n
Login.c(118): }\n
Login.c(118): .fa-file-powerpoint-o:before {\n
Login.c(118): content: "\\f1c4";\n
Login.c(118): }\n
Login.c(118): .fa-file-photo-o:before,\n
Login.c(118): .fa-file-picture-o:before,\n
Login.c(118): .fa-file-image-o:before {\n
Login.c(118): content: "\\f1c5";\n
Login.c(118): }\n
Login.c(118): .fa-file-zip-o:before,\n
Login.c(118): .fa-file-archive-o:before {\n
Login.c(118): content: "\\f1c6";\n
Login.c(118): }\n
Login.c(118): .fa-file-sound-o:before,\n
Login.c(118): .fa-file-audio-o:before {\n
Login.c(118): content: "\\f1c7";\n
Login.c(118): }\n
Login.c(118): .fa-file-movie-o:before,\n
Login.c(118): .fa-file-video-o:before {\n
Login.c(118): content: "\\f1c8";\n
Login.c(118): }\n
Login.c(118): .fa-file-code-o:before {\n
Login.c(118): content: "\\f1c9";\n
Login.c(118): }\n
Login.c(118): .fa-vine:before {\n
Login.c(118): content: "\\f1ca";\n
Login.c(118): }\n
Login.c(118): .fa-codepen:before {\n
Login.c(118): content: "\\f1cb";\n
Login.c(118): }\n
Login.c(118): .fa-jsfiddle:before {\n
Login.c(118): content: "\\f1cc";\n
Login.c(118): }\n
Login.c(118): .fa-life-bouy:before,\n
Login.c(118): .fa-life-buoy:before,\n
Login.c(118): .fa-life-saver:before,\n
Login.c(118): .fa-support:before,\n
Login.c(118): .fa-life-ring:before {\n
Login.c(118): content: "\\f1cd";\n
Login.c(118): }\n
Login.c(118): .fa-circle-o-notch:before {\n
Login.c(118): content: "\\f1ce";\n
Login.c(118): }\n
Login.c(118): .fa-ra:before,\n
Login.c(118): .fa-rebel:before {\n
Login.c(118): content: "\\f1d0";\n
Login.c(118): }\n
Login.c(118): .fa-ge:before,\n
Login.c(118): .fa-empire:before {\n
Login.c(118): content: "\\f1d1";\n
Login.c(118): }\n
Login.c(118): .fa-git-square:before {\n
Login.c(118): content: "\\f1d2";\n
Login.c(118): }\n
Login.c(118): .fa-git:before {\n
Login.c(118): content: "\\f1d3";\n
Login.c(118): }\n
Login.c(118): .fa-hacker-news:before {\n
Login.c(118): content: "\\f1d4";\n
Login.c(118): }\n
Login.c(118): .fa-tencent-weibo:before {\n
Login.c(118): content: "\\f1d5";\n
Login.c(118): }\n
Login.c(118): .fa-qq:before {\n
Login.c(118): content: "\\f1d6";\n
Login.c(118): }\n
Login.c(118): .fa-wechat:before,\n
Login.c(118): .fa-weixin:before {\n
Login.c(118): content: "\\f1d7";\n
Login.c(118): }\n
Login.c(118): .fa-send:before,\n
Login.c(118): .fa-paper-plane:before {\n
Login.c(118): content: "\\f1d8";\n
Login.c(118): }\n
Login.c(118): .fa-send-o:before,\n
Login.c(118): .fa-paper-plane-o:before {\n
Login.c(118): content: "\\f1d9";\n
Login.c(118): }\n
Login.c(118): .fa-history:before {\n
Login.c(118): content: "\\f1da";\n
Login.c(118): }\n
Login.c(118): .fa-circle-thin:before {\n
Login.c(118): content: "\\f1db";\n
Login.c(118): }\n
Login.c(118): .fa-header:before {\n
Login.c(118): content: "\\f1dc";\n
Login.c(118): }\n
Login.c(118): .fa-paragraph:before {\n
Login.c(118): content: "\\f1dd";\n
Login.c(118): }\n
Login.c(118): .fa-sliders:before {\n
Login.c(118): content: "\\f1de";\n
Login.c(118): }\n
Login.c(118): .fa-share-alt:before {\n
Login.c(118): content: "\\f1e0";\n
Login.c(118): }\n
Login.c(118): .fa-share-alt-square:before {\n
Login.c(118): content: "\\f1e1";\n
Login.c(118): }\n
Login.c(118): .fa-bomb:before {\n
Login.c(118): content: "\\f1e2";\n
Login.c(118): }\n
Login.c(118): .fa-soccer-ball-o:before,\n
Login.c(118): .fa-futbol-o:before {\n
Login.c(118): content: "\\f1e3";\n
Login.c(118): }\n
Login.c(118): .fa-tty:before {\n
Login.c(118): content: "\\f1e4";\n
Login.c(118): }\n
Login.c(118): .fa-binoculars:before {\n
Login.c(118): content: "\\f1e5";\n
Login.c(118): }\n
Login.c(118): .fa-plug:before {\n
Login.c(118): content: "\\f1e6";\n
Login.c(118): }\n
Login.c(118): .fa-slideshare:before {\n
Login.c(118): content: "\\f1e7";\n
Login.c(118): }\n
Login.c(118): .fa-twitch:before {\n
Login.c(118): content: "\\f1e8";\n
Login.c(118): }\n
Login.c(118): .fa-yelp:before {\n
Login.c(118): content: "\\f1e9";\n
Login.c(118): }\n
Login.c(118): .fa-newspaper-o:before {\n
Login.c(118): content: "\\f1ea";\n
Login.c(118): }\n
Login.c(118): .fa-wifi:before {\n
Login.c(118): content: "\\f1eb";\n
Login.c(118): }\n
Login.c(118): .fa-calculator:before {\n
Login.c(118): content: "\\f1ec";\n
Login.c(118): }\n
Login.c(118): .fa-paypal:before {\n
Login.c(118): content: "\\f1ed";\n
Login.c(118): }\n
Login.c(118): .fa-google-wallet:before {\n
Login.c(118): content: "\\f1ee";\n
Login.c(118): }\n
Login.c(118): .fa-cc-visa:before {\n
Login.c(118): content: "\\f1f0";\n
Login.c(118): }\n
Login.c(118): .fa-cc-mastercard:before {\n
Login.c(118): content: "\\f1f1";\n
Login.c(118): }\n
Login.c(118): .fa-cc-discover:before {\n
Login.c(118): content: "\\f1f2";\n
Login.c(118): }\n
Login.c(118): .fa-cc-amex:before {\n
Login.c(118): content: "\\f1f3";\n
Login.c(118): }\n
Login.c(118): .fa-cc-paypal:before {\n
Login.c(118): content: "\\f1f4";\n
Login.c(118): }\n
Login.c(118): .fa-cc-stripe:before {\n
Login.c(118): content: "\\f1f5";\n
Login.c(118): }\n
Login.c(118): .fa-bell-slash:before {\n
Login.c(118): content: "\\f1f6";\n
Login.c(118): }\n
Login.c(118): .fa-bell-slash-o:before {\n
Login.c(118): content: "\\f1f7";\n
Login.c(118): }\n
Login.c(118): .fa-trash:before {\n
Login.c(118): content: "\\f1f8";\n
Login.c(118): }\n
Login.c(118): .fa-copyright:before {\n
Login.c(118): content: "\\f1f9";\n
Login.c(118): }\n
Login.c(118): .fa-at:before {\n
Login.c(118): content: "\\f1fa";\n
Login.c(118): }\n
Login.c(118): .fa-eyedropper:before {\n
Login.c(118): content: "\\f1fb";\n
Login.c(118): }\n
Login.c(118): .fa-paint-brush:before {\n
Login.c(118): content: "\\f1fc";\n
Login.c(118): }\n
Login.c(118): .fa-birthday-cake:before {\n
Login.c(118): content: "\\f1fd";\n
Login.c(118): }\n
Login.c(118): .fa-area-chart:before {\n
Login.c(118): content: "\\f1fe";\n
Login.c(118): }\n
Login.c(118): .fa-pie-chart:before {\n
Login.c(118): content: "\\f200";\n
Login.c(118): }\n
Login.c(118): .fa-line-chart:before {\n
Login.c(118): content: "\\f201";\n
Login.c(118): }\n
Login.c(118): .fa-lastfm:before {\n
Login.c(118): content: "\\f202";\n
Login.c(118): }\n
Login.c(118): .fa-lastfm-square:before {\n
Login.c(118): content: "\\f203";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-off:before {\n
Login.c(118): content: "\\f204";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-on:before {\n
Login.c(118): content: "\\f205";\n
Login.c(118): }\n
Login.c(118): .fa-bicycle:before {\n
Login.c(118): content: "\\f206";\n
Login.c(118): }\n
Login.c(118): .fa-bus:before {\n
Login.c(118): content: "\\f207";\n
Login.c(118): }\n
Login.c(118): .fa-ioxhost:before {\n
Login.c(118): content: "\\f208";\n
Login.c(118): }\n
Login.c(118): .fa-angellist:before {\n
Login.c(118): content: "\\f209";\n
Login.c(118): }\n
Login.c(118): .fa-cc:before {\n
Login.c(118): content: "\\f20a";\n
Login.c(118): }\n
Login.c(118): .fa-shekel:before,\n
Login.c(118): .fa-sheqel:before,\n
Login.c(118): .fa-ils:before {\n
Login.c(118): content: "\\f20b";\n
Login.c(118): }\n
Login.c(118): .fa-meanpath:before {\n
Login.c(118): content: "\\f20c";\n
Login.c(118): }\n
Login.c(118): t=4904ms: 522-byte response headers for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Connection: keep-alive\r\n
Login.c(118): Last-Modified: Tue, 26 Aug 2014 20:38:35 GMT\r\n
Login.c(118): ETag: W/"feda974a77ea5783b8be673f142b7c88"\r\n
Login.c(118): Server: NetDNA-cache/2.2\r\n
Login.c(118): Expires: Sat, 26 Dec 2015 15:41:48 GMT\r\n
Login.c(118): Cache-Control: max-age=31104000\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Access-Control-Allow-Origin: *\r\n
Login.c(118): X-Hello-Human: You should work for us! Email:
jdorfman+theheader@maxcdn.com or @MaxCDNDeve
Login.c(118): loper on Twitter\r\n
Login.c(118): X-Cache: HIT\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): \r\n
Login.c(118): t=4904ms: 6-byte chunked response overhead for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): 161b\r\n
Login.c(118): t=4905ms: 7-byte chunked response overhead for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4905ms: 5659-byte ENCODED response body received for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): t=4905ms: 12288-byte DECODED response body for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): /*!\n
Login.c(118): * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io -
@fontawesome\n
Login.c(118): * License - http://fontawesome.io/license (Font: SIL OFL 1.1,
CSS: MIT License)\n
Login.c(118): */@font-face{font-
family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0'
Login.c(118): );src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0')
format('embedded-opentype'),u
Login.c(118): rl('../fonts/fontawesome-webfont.woff?v=4.2.0')
format('woff'),url('../fonts/fontawesome-w
Login.c(118): ebfont.ttf?v=4.2.0')
format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#font
Login.c(118): awesomeregular') format('svg');font-weight:normal;font-
style:normal}.fa{display:inline-blo
Login.c(118): ck;font:normal normal normal 14px/1 FontAwesome;font-
size:inherit;text-rendering:auto;-web
Login.c(118): kit-font-smoothing:antialiased;-moz-osx-font-
smoothing:grayscale}.fa-lg{font-size:1.333333
Login.c(118): 33em;line-height:.75em;vertical-align:-15%}.fa-2x{font-
size:2em}.fa-3x{font-size:3em}.fa-4
Login.c(118): x{font-size:4em}.fa-5x{font-size:5em}.fa-
fw{width:1.28571429em;text-align:center}.fa-ul{pa
Login.c(118): dding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-
ul>li{position:relative}.fa
Login.c(118): -li{position:absolute;left:-
2.14285714em;width:2.14285714em;top:.14285714em;text-align:cen
Login.c(118): ter}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em
.15em;border:solid .08em
Login.c(118): #eee;border-radius:.1em}.pull-right{float:right}.pull-
left{float:left}.fa.pull-left{margi
Login.c(118): n-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-
animation:fa-spin 2s infinit
Login.c(118): e linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes
fa-spin{0%{-webkit-transf
Login.c(118): orm:rotate(0deg);transform:rotate(0deg)}100%{-webkit-
transform:rotate(359deg);transform:ro
Login.c(118): tate(359deg)}}@keyframes fa-spin{0%{-webkit-
transform:rotate(0deg);transform:rotate(0deg)}
Login.c(118): 100%{-webkit-
transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progi
Login.c(118): d:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-
transform:rotate(90deg);-ms-tr
Login.c(118): ansform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-
180{filter:progid:DXImageTransfor
Login.c(118): m.Microsoft.BasicImage(rotation=2);-webkit-
transform:rotate(180deg);-ms-transform:rotate(1
Login.c(118): 80deg);transform:rotate(180deg)}.fa-rotate-
270{filter:progid:DXImageTransform.Microsoft.Ba
Login.c(118): sicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-
transform:rotate(270deg);transfo
Login.c(118): rm:rotate(270deg)}.fa-flip-
horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(
Login.c(118): rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-
transform:scale(-1, 1);transform:
Login.c(118): scale(-1, 1)}.fa-flip-
vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotatio
Login.c(118): n=2, mirror=1);-webkit-transform:scale(1, -1);-ms-
transform:scale(1, -1);transform:scale(1
Login.c(118): , -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-
270,:root .fa-flip-horizon
Login.c(118): tal,:root .fa-flip-vertical{filter:none}.fa-
stack{position:relative;display:inline-block;w
Login.c(118): idth:2em;height:2em;line-height:2em;vertical-align:middle}.fa-
stack-1x,.fa-stack-2x{positi
Login.c(118): on:absolute;left:0;width:100%;text-align:center}.fa-stack-
1x{line-height:inherit}.fa-stack
Login.c(118): -2x{font-size:2em}.fa-inverse{color:#fff}.fa-
glass:before{content:"\\f000"}.fa-music:befor
Login.c(118): e{content:"\\f001"}.fa-search:before{content:"\\f002"}.fa-
envelope-o:before{content:"\\f00
Login.c(118): 3"}.fa-heart:before{content:"\\f004"}.fa-
star:before{content:"\\f005"}.fa-star-o:before{co
Login.c(118): ntent:"\\f006"}.fa-user:before{content:"\\f007"}.fa-
film:before{content:"\\f008"}.fa-th-la
Login.c(118): rge:before{content:"\\f009"}.fa-th:before{content:"\\f00a"}.fa-
th-list:before{content:"\\f
Login.c(118): 00b"}.fa-check:before{content:"\\f00c"}.fa-remove:before,.fa-
close:before,.fa-times:before
Login.c(118): {content:"\\f00d"}.fa-search-plus:before{content:"\\f00e"}.fa-
search-minus:before{content:
Login.c(118): "\\f010"}.fa-power-off:before{content:"\\f011"}.fa-
signal:before{content:"\\f012"}.fa-gear
Login.c(118): :before,.fa-cog:before{content:"\\f013"}.fa-trash-
o:before{content:"\\f014"}.fa-home:befor
Login.c(118): e{content:"\\f015"}.fa-file-o:before{content:"\\f016"}.fa-clock-
o:before{content:"\\f017"}
Login.c(118): .fa-road:before{content:"\\f018"}.fa-
download:before{content:"\\f019"}.fa-arrow-circle-o-d
Login.c(118): own:before{content:"\\f01a"}.fa-arrow-circle-o-
up:before{content:"\\f01b"}.fa-inbox:before
Login.c(118): {content:"\\f01c"}.fa-play-circle-o:before{content:"\\f01d"}.fa-
rotate-right:before,.fa-re
Login.c(118): peat:before{content:"\\f01e"}.fa-
refresh:before{content:"\\f021"}.fa-list-alt:before{conte
Login.c(118): nt:"\\f022"}.fa-lock:before{content:"\\f023"}.fa-
flag:before{content:"\\f024"}.fa-headphon
Login.c(118): es:before{content:"\\f025"}.fa-volume-
off:before{content:"\\f026"}.fa-volume-down:before{c
Login.c(118): ontent:"\\f027"}.fa-volume-up:before{content:"\\f028"}.fa-
qrcode:before{content:"\\f029"}.
Login.c(118): fa-barcode:before{content:"\\f02a"}.fa-
tag:before{content:"\\f02b"}.fa-tags:before{content
Login.c(118): :"\\f02c"}.fa-book:before{content:"\\f02d"}.fa-
bookmark:before{content:"\\f02e"}.fa-print:
Login.c(118): before{content:"\\f02f"}.fa-camera:before{content:"\\f030"}.fa-
font:before{content:"\\f031
Login.c(118): "}.fa-bold:before{content:"\\f032"}.fa-
italic:before{content:"\\f033"}.fa-text-height:befo
Login.c(118): re{content:"\\f034"}.fa-text-width:before{content:"\\f035"}.fa-
align-left:before{content:"
Login.c(118): \\f036"}.fa-align-center:before{content:"\\f037"}.fa-align-
right:before{content:"\\f038"}.
Login.c(118): fa-align-justify:before{content:"\\f039"}.fa-
list:before{content:"\\f03a"}.fa-dedent:befor
Login.c(118): e,.fa-outdent:before{content:"\\f03b"}.fa-
indent:before{content:"\\f03c"}.fa-video-camera:
Login.c(118): before{content:"\\f03d"}.fa-photo:before,.fa-image:before,.fa-
picture-o:before{content:"\\
Login.c(118): f03e"}.fa-pencil:before{content:"\\f040"}.fa-map-
marker:before{content:"\\f041"}.fa-adjust
Login.c(118): :before{content:"\\f042"}.fa-tint:before{content:"\\f043"}.fa-
edit:before,.fa-pencil-squar
Login.c(118): e-o:before{content:"\\f044"}.fa-share-square-
o:before{content:"\\f045"}.fa-check-square-o:
Login.c(118): before{content:"\\f046"}.fa-arrows:before{content:"\\f047"}.fa-
step-backward:before{conten
Login.c(118): t:"\\f048"}.fa-fast-backward:before{content:"\\f049"}.fa-
backward:before{content:"\\f04a"}
Login.c(118): .fa-play:before{content:"\\f04b"}.fa-
pause:before{content:"\\f04c"}.fa-stop:before{content
Login.c(118): :"\\f04d"}.fa-forward:before{content:"\\f04e"}.fa-fast-
forward:before{content:"\\f050"}.fa
Login.c(118): -step-forward:before{content:"\\f051"}.fa-
eject:before{content:"\\f052"}.fa-chevron-left:b
Login.c(118): efore{content:"\\f053"}.fa-chevron-
right:before{content:"\\f054"}.fa-plus-circle:before{co
Login.c(118): ntent:"\\f055"}.fa-minus-circle:before{content:"\\f056"}.fa-
times-circle:before{content:"\\
Login.c(118): f057"}.fa-check-circle:before{content:"\\f058"}.fa-question-
circle:before{content:"\\f059"
Login.c(118): }.fa-info-circle:before{content:"\\f05a"}.fa-
crosshairs:before{content:"\\f05b"}.fa-times-
Login.c(118): circle-o:before{content:"\\f05c"}.fa-check-circle-
o:before{content:"\\f05d"}.fa-ban:before
Login.c(118): {content:"\\f05e"}.fa-arrow-left:before{content:"\\f060"}.fa-
arrow-right:before{content:"\\
Login.c(118): f061"}.fa-arrow-up:before{content:"\\f062"}.fa-arrow-
down:before{content:"\\f063"}.fa-mail
Login.c(118): -forward:before,.fa-share:before{content:"\\f064"}.fa-
expand:before{content:"\\f065"}.fa-c
Login.c(118): ompress:before{content:"\\f066"}.fa-
plus:before{content:"\\f067"}.fa-minus:before{content:
Login.c(118): "\\f068"}.fa-asterisk:before{content:"\\f069"}.fa-exclamation-
circle:before{content:"\\f06
Login.c(118): a"}.fa-gift:before{content:"\\f06b"}.fa-
leaf:before{content:"\\f06c"}.fa-fire:before{conte
Login.c(118): nt:"\\f06d"}.fa-eye:before{content:"\\f06e"}.fa-eye-
slash:before{content:"\\f070"}.fa-warn
Login.c(118): ing:before,.fa-exclamation-triangle:before{content:"\\f071"}.fa-
plane:before{content:"\\f0
Login.c(118): 72"}.fa-calendar:before{content:"\\f073"}.fa-
random:before{content:"\\f074"}.fa-comment:be
Login.c(118): fore{content:"\\f075"}.fa-magnet:before{content:"\\f076"}.fa-
chevron-up:before{content:"\\
Login.c(118): f077"}.fa-chevron-down:before{content:"\\f078"}.fa-
retweet:before{content:"\\f079"}.fa-sho
Login.c(118): pping-cart:before{content:"\\f07a"}.fa-
folder:before{content:"\\f07b"}.fa-folder-open:befo
Login.c(118): re{content:"\\f07c"}.fa-arrows-v:before{content:"\\f07d"}.fa-
arrows-h:before{content:"\\f0
Login.c(118): 7e"}.fa-bar-chart-o:before,.fa-bar-
chart:before{content:"\\f080"}.fa-twitter-square:before
Login.c(118): {content:"\\f081"}.fa-facebook-
square:before{content:"\\f082"}.fa-camera-retro:before{cont
Login.c(118): ent:"\\f083"}.fa-key:before{content:"\\f084"}.fa-
gears:before,.fa-cogs:before{content:"\\f
Login.c(118): 085"}.fa-comments:before{content:"\\f086"}.fa-thumbs-o-
up:before{content:"\\f087"}.fa-thum
Login.c(118): bs-o-down:before{content:"\\f088"}.fa-star-
half:before{content:"\\f089"}.fa-heart-o:before
Login.c(118): {content:"\\f08a"}.fa-sign-out:before{content:"\\f08b"}.fa-
linkedin-square:before{content:
Login.c(118): "\\f08c"}.fa-thumb-tack:before{content:"\\f08d"}.fa-external-
link:before{content:"\\f08e"}
Login.c(118): .fa-sign-in:before{content:"\\f090"}.fa-
trophy:before{content:"\\f091"}.fa-github-square:b
Login.c(118): efore{content:"\\f092"}.fa-upload:before{content:"\\f093"}.fa-
lemon-o:before{content:"\\f0
Login.c(118): 94"}.fa-phone:before{content:"\\f095"}.fa-square-
o:before{content:"\\f096"}.fa-bookmark-o:
Login.c(118): before{content:"\\f097"}.fa-phone-
square:before{content:"\\f098"}.fa-twitter:before{conten
Login.c(118): t:"\\f099"}.fa-facebook:before{content:"\\f09a"}.fa-
github:before{content:"\\f09b"}.fa-unl
Login.c(118): ock:before{content:"\\f09c"}.fa-credit-
card:before{content:"\\f09d"}.fa-rss:before{content
Login.c(118): :"\\f09e"}.fa-hdd-o:before{content:"\\f0a0"}.fa-
bullhorn:before{content:"\\f0a1"}.fa-bell:
Login.c(118): before{content:"\\f0f3"}.fa-
certificate:before{content:"\\f0a3"}.fa-hand-o-right:before{co
Login.c(118): ntent:"\\f0a4"}.fa-hand-o-left:before{content:"\\f0a5"}.fa-hand-
o-up:before{content:"\\f0a
Login.c(118): 6"}.fa-hand-o-down:before{content:"\\f0a7"}.fa-arrow-circle-
left:before{content:"\\f0a8"}.
Login.c(118): fa-arrow-circle-right:before{content:"\\f0a9"}.fa-arrow-circle-
up:before{content:"\\f0aa"}
Login.c(118): .fa-arrow-circle-down:before{content:"\\f0ab"}.fa-
globe:before{content:"\\f0ac"}.fa-wrench
Login.c(118): :before{content:"\\f0ad"}.fa-tasks:before{content:"\\f0ae"}.fa-
filter:before{content:"\\f0
Login.c(118): b0"}.fa-briefcase:before{content:"\\f0b1"}.fa-arrows-
alt:before{content:"\\f0b2"}.fa-group
Login.c(118): :before,.fa-users:before{content:"\\f0c0"}.fa-chain:before,.fa-
link:before{content:"\\f0c1
Login.c(118): "}.fa-cloud:before{content:"\\f0c2"}.fa-
flask:before{content:"\\f0c3"}.fa-cut:before,.fa-s
Login.c(118): cissors:before{content:"\\f0c4"}.fa-copy:before,.fa-files-
o:before{content:"\\f0c5"}.fa-pa
Login.c(118): perclip:before{content:"\\f0c6"}.fa-save:before,.fa-floppy-
o:before{content:"\\f0c7"}.fa-s
Login.c(118): quare:before{content:"\\f0c8"}.fa-navicon:before,.fa-
reorder:before,.fa-bars:before{conten
Login.c(118): t:"\\f0c9"}.fa-list-ul:before{content:"\\f0ca"}.fa-list-
ol:before{content:"\\f0cb"}.fa-str
Login.c(118): ikethrough:before{content:"\\f0cc"}.fa-
underline:before{content:"\\f0cd"}.fa-table:before{
Login.c(118): content:"\\f0ce"}.fa-magic:before{content:"\\f0d0"}.fa-
truck:before{content:"\\f0d1"}.fa-p
Login.c(118): interest:before{content:"\\f0d2"}.fa-pinterest-
square:before{content:"\\f0d3"}.fa-google-p
Login.c(118): lus-square:before{content:"\\f0d4"}.fa-google-
plus:before{content:"\\f0d5"}.fa-money:befor
Login.c(118): e{content:"\\f0d6"}.fa-caret-down:before{content:"\\f0d7"}.fa-
caret-up:before{content:"\\f
Login.c(118): 0d8"}.fa-caret-left:before{content:"\\f0d9"}.fa-caret-
right:before{content:"\\f0da"}.fa-co
Login.c(118): lumns:before{content:"\\f0db"}.fa-unsorted:before,.fa-
sort:before{content:"\\f0dc"}.fa-sor
Login.c(118): t-down:before,.fa-sort-desc:before{content:"\\f0dd"}.fa-sort-
up:before,.fa-sort-asc:before
Login.c(118): {content:"\\f0de"}.fa-envelope:before{content:"\\f0e0"}.fa-
linkedin:before{content:"\\f0e1
Login.c(118): "}.fa-rotate-left:before,.fa-undo:before{content:"\\f0e2"}.fa-
legal:before,.fa-gavel:befor
Login.c(118): e{content:"\\f0e3"}.fa-dashboard:before,.fa-
tachometer:before{content:"\\f0e4"}.fa-comment
Login.c(118): -o:before{content:"\\f0e5"}.fa-comments-
o:before{content:"\\f0e6"}.fa-flash:before,.fa-bol
Login.c(118): t:before{content:"\\f0e7"}.fa-
sitemap:before{content:"\\f0e8"}.fa-umbrella:before{content:
Login.c(118): "\\f0e9"}.fa-paste:before,.fa-
clipboard:before{content:"\\f0ea"}.fa-lightbulb-o:before{con
Login.c(118): tent:"\\f0eb"}.fa-exchange:before{content:"\\f0ec"}.fa-cloud-
download:before{content:"\\f0
Login.c(118): ed"}.fa-cloud-upload:before{content:"\\f0ee"}.fa-user-
md:before{content:"\\f0f0"}.fa-steth
Login.c(118): oscope:before{content:"\\f0f1"}.fa-
suitcase:before{content:"\\f0f2"}.fa-bell-o:before{cont
Login.c(118): ent:"\\f0a2"}.fa-coffee:before{content:"\\f0f4"}.fa-
cutlery:before{content:"\\f0f5"}.fa-fi
Login.c(118): le-text-o:before{content:"\\f0f6"}.fa-building-
o:before{content:"\\f0f7"}.fa-hospital-o:be
Login.c(118): fore{content:"\\f0f8"}.fa-ambulance:before{content:"\\f0f9"}.fa-
medkit:before{content:"\\f
Login.c(118): 0fa"}.fa-fighter-jet:before{content:"\\f0fb"}.fa-
beer:before{content:"\\f0fc"}.fa-h-square
Login.c(118): :before{content:"\\f0fd"}.fa-plus-
square:before{content:"\\f0fe"}.fa-angle-double-left:bef
Login.c(118): ore{content:"\\f100"}.fa-angle-double-
right:before{content:"\\f101"}.fa-angle-double-up:be
Login.c(118): fore{content:"\\f102"}.fa-angle-double-
down:before{content:"\\f103"}.fa-angle-left:before{
Login.c(118): content:"\\f104"}.fa-angle-right:before{content:"\\f105"}.fa-
angle-up:before{content:"\\f1
Login.c(118): 06"}.fa-angle-down:before{content:"\\f107"}.fa-
desktop:before{content:"\\f108"}.fa-laptop:
Login.c(118): before{content:"\\f109"}.fa-tablet:before{content:"\\f10a"}.fa-
mobile-phone:before,.fa-mob
Login.c(118): ile:before{content:"\\f10b"}.fa-ci
Login.c(118): t=4919ms: 9696-byte DECODED response body for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): rcle-o:before{content:"\\f10c"}.fa-quote-
left:before{content:"\\f10d"}.fa-quote-right:befo
Login.c(118): re{content:"\\f10e"}.fa-spinner:before{content:"\\f110"}.fa-
circle:before{content:"\\f111"
Login.c(118): }.fa-mail-reply:before,.fa-reply:before{content:"\\f112"}.fa-
github-alt:before{content:"\\
Login.c(118): f113"}.fa-folder-o:before{content:"\\f114"}.fa-folder-open-
o:before{content:"\\f115"}.fa-s
Login.c(118): mile-o:before{content:"\\f118"}.fa-frown-
o:before{content:"\\f119"}.fa-meh-o:before{conten
Login.c(118): t:"\\f11a"}.fa-gamepad:before{content:"\\f11b"}.fa-keyboard-
o:before{content:"\\f11c"}.fa-
Login.c(118): flag-o:before{content:"\\f11d"}.fa-flag-
checkered:before{content:"\\f11e"}.fa-terminal:bef
Login.c(118): ore{content:"\\f120"}.fa-code:before{content:"\\f121"}.fa-mail-
reply-all:before,.fa-reply-
Login.c(118): all:before{content:"\\f122"}.fa-star-half-empty:before,.fa-star-
half-full:before,.fa-star-
Login.c(118): half-o:before{content:"\\f123"}.fa-location-
arrow:before{content:"\\f124"}.fa-crop:before{
Login.c(118): content:"\\f125"}.fa-code-fork:before{content:"\\f126"}.fa-
unlink:before,.fa-chain-broken:
Login.c(118): before{content:"\\f127"}.fa-question:before{content:"\\f128"}.fa-
info:before{content:"\\f1
Login.c(118): 29"}.fa-exclamation:before{content:"\\f12a"}.fa-
superscript:before{content:"\\f12b"}.fa-su
Login.c(118): bscript:before{content:"\\f12c"}.fa-
eraser:before{content:"\\f12d"}.fa-puzzle-piece:before
Login.c(118): {content:"\\f12e"}.fa-microphone:before{content:"\\f130"}.fa-
microphone-slash:before{conte
Login.c(118): nt:"\\f131"}.fa-shield:before{content:"\\f132"}.fa-calendar-
o:before{content:"\\f133"}.fa-
Login.c(118): fire-extinguisher:before{content:"\\f134"}.fa-
rocket:before{content:"\\f135"}.fa-maxcdn:be
Login.c(118): fore{content:"\\f136"}.fa-chevron-circle-
left:before{content:"\\f137"}.fa-chevron-circle-r
Login.c(118): ight:before{content:"\\f138"}.fa-chevron-circle-
up:before{content:"\\f139"}.fa-chevron-cir
Login.c(118): cle-down:before{content:"\\f13a"}.fa-
html5:before{content:"\\f13b"}.fa-css3:before{content
Login.c(118): :"\\f13c"}.fa-anchor:before{content:"\\f13d"}.fa-unlock-
alt:before{content:"\\f13e"}.fa-bu
Login.c(118): llseye:before{content:"\\f140"}.fa-ellipsis-
h:before{content:"\\f141"}.fa-ellipsis-v:befor
Login.c(118): e{content:"\\f142"}.fa-rss-square:before{content:"\\f143"}.fa-
play-circle:before{content:"
Login.c(118): \\f144"}.fa-ticket:before{content:"\\f145"}.fa-minus-
square:before{content:"\\f146"}.fa-mi
Login.c(118): nus-square-o:before{content:"\\f147"}.fa-level-
up:before{content:"\\f148"}.fa-level-down:b
Login.c(118): efore{content:"\\f149"}.fa-check-
square:before{content:"\\f14a"}.fa-pencil-square:before{c
Login.c(118): ontent:"\\f14b"}.fa-external-link-
square:before{content:"\\f14c"}.fa-share-square:before{c
Login.c(118): ontent:"\\f14d"}.fa-compass:before{content:"\\f14e"}.fa-toggle-
down:before,.fa-caret-squar
Login.c(118): e-o-down:before{content:"\\f150"}.fa-toggle-up:before,.fa-caret-
square-o-up:before{content
Login.c(118): :"\\f151"}.fa-toggle-right:before,.fa-caret-square-o-
right:before{content:"\\f152"}.fa-eur
Login.c(118): o:before,.fa-eur:before{content:"\\f153"}.fa-
gbp:before{content:"\\f154"}.fa-dollar:before
Login.c(118): ,.fa-usd:before{content:"\\f155"}.fa-rupee:before,.fa-
inr:before{content:"\\f156"}.fa-cny:
Login.c(118): before,.fa-rmb:before,.fa-yen:before,.fa-
jpy:before{content:"\\f157"}.fa-ruble:before,.fa-
Login.c(118): rouble:before,.fa-rub:before{content:"\\f158"}.fa-won:before,.fa-
krw:before{content:"\\f15
Login.c(118): 9"}.fa-bitcoin:before,.fa-btc:before{content:"\\f15a"}.fa-
file:before{content:"\\f15b"}.fa
Login.c(118): -file-text:before{content:"\\f15c"}.fa-sort-alpha-
asc:before{content:"\\f15d"}.fa-sort-alp
Login.c(118): ha-desc:before{content:"\\f15e"}.fa-sort-amount-
asc:before{content:"\\f160"}.fa-sort-amoun
Login.c(118): t-desc:before{content:"\\f161"}.fa-sort-numeric-
asc:before{content:"\\f162"}.fa-sort-numer
Login.c(118): ic-desc:before{content:"\\f163"}.fa-thumbs-
up:before{content:"\\f164"}.fa-thumbs-down:befo
Login.c(118): re{content:"\\f165"}.fa-youtube-
square:before{content:"\\f166"}.fa-youtube:before{content:
Login.c(118): "\\f167"}.fa-xing:before{content:"\\f168"}.fa-xing-
square:before{content:"\\f169"}.fa-yout
Login.c(118): ube-play:before{content:"\\f16a"}.fa-
dropbox:before{content:"\\f16b"}.fa-stack-overflow:be
Login.c(118): fore{content:"\\f16c"}.fa-instagram:before{content:"\\f16d"}.fa-
flickr:before{content:"\\f
Login.c(118): 16e"}.fa-adn:before{content:"\\f170"}.fa-
bitbucket:before{content:"\\f171"}.fa-bitbucket-s
Login.c(118): quare:before{content:"\\f172"}.fa-
tumblr:before{content:"\\f173"}.fa-tumblr-square:before{
Login.c(118): content:"\\f174"}.fa-long-arrow-down:before{content:"\\f175"}.fa-
long-arrow-up:before{cont
Login.c(118): ent:"\\f176"}.fa-long-arrow-left:before{content:"\\f177"}.fa-
long-arrow-right:before{conte
Login.c(118): nt:"\\f178"}.fa-apple:before{content:"\\f179"}.fa-
windows:before{content:"\\f17a"}.fa-andr
Login.c(118): oid:before{content:"\\f17b"}.fa-
linux:before{content:"\\f17c"}.fa-dribbble:before{content:
Login.c(118): "\\f17d"}.fa-skype:before{content:"\\f17e"}.fa-
foursquare:before{content:"\\f180"}.fa-trel
Login.c(118): lo:before{content:"\\f181"}.fa-
female:before{content:"\\f182"}.fa-male:before{content:"\\f
Login.c(118): 183"}.fa-gittip:before{content:"\\f184"}.fa-sun-
o:before{content:"\\f185"}.fa-moon-o:befor
Login.c(118): e{content:"\\f186"}.fa-archive:before{content:"\\f187"}.fa-
bug:before{content:"\\f188"}.fa
Login.c(118): -vk:before{content:"\\f189"}.fa-
weibo:before{content:"\\f18a"}.fa-renren:before{content:"\\
Login.c(118): f18b"}.fa-pagelines:before{content:"\\f18c"}.fa-stack-
exchange:before{content:"\\f18d"}.fa
Login.c(118): -arrow-circle-o-right:before{content:"\\f18e"}.fa-arrow-circle-o-
left:before{content:"\\f1
Login.c(118): 90"}.fa-toggle-left:before,.fa-caret-square-o-
left:before{content:"\\f191"}.fa-dot-circle-
Login.c(118): o:before{content:"\\f192"}.fa-
wheelchair:before{content:"\\f193"}.fa-vimeo-square:before{c
Login.c(118): ontent:"\\f194"}.fa-turkish-lira:before,.fa-
try:before{content:"\\f195"}.fa-plus-square-o:
Login.c(118): before{content:"\\f196"}.fa-space-
shuttle:before{content:"\\f197"}.fa-slack:before{content
Login.c(118): :"\\f198"}.fa-envelope-square:before{content:"\\f199"}.fa-
wordpress:before{content:"\\f19a
Login.c(118): "}.fa-openid:before{content:"\\f19b"}.fa-institution:before,.fa-
bank:before,.fa-university
Login.c(118): :before{content:"\\f19c"}.fa-mortar-board:before,.fa-graduation-
cap:before{content:"\\f19d
Login.c(118): "}.fa-yahoo:before{content:"\\f19e"}.fa-
google:before{content:"\\f1a0"}.fa-reddit:before{c
Login.c(118): ontent:"\\f1a1"}.fa-reddit-square:before{content:"\\f1a2"}.fa-
stumbleupon-circle:before{co
Login.c(118): ntent:"\\f1a3"}.fa-stumbleupon:before{content:"\\f1a4"}.fa-
delicious:before{content:"\\f1a
Login.c(118): 5"}.fa-digg:before{content:"\\f1a6"}.fa-pied-
piper:before{content:"\\f1a7"}.fa-pied-piper-
Login.c(118): alt:before{content:"\\f1a8"}.fa-
drupal:before{content:"\\f1a9"}.fa-joomla:before{content:"
Login.c(118): \\f1aa"}.fa-language:before{content:"\\f1ab"}.fa-
fax:before{content:"\\f1ac"}.fa-building:
Login.c(118): before{content:"\\f1ad"}.fa-child:before{content:"\\f1ae"}.fa-
paw:before{content:"\\f1b0"}
Login.c(118): .fa-spoon:before{content:"\\f1b1"}.fa-
cube:before{content:"\\f1b2"}.fa-cubes:before{conten
Login.c(118): t:"\\f1b3"}.fa-behance:before{content:"\\f1b4"}.fa-behance-
square:before{content:"\\f1b5"}
Login.c(118): .fa-steam:before{content:"\\f1b6"}.fa-steam-
square:before{content:"\\f1b7"}.fa-recycle:bef
Login.c(118): ore{content:"\\f1b8"}.fa-automobile:before,.fa-
car:before{content:"\\f1b9"}.fa-cab:before,
Login.c(118): .fa-taxi:before{content:"\\f1ba"}.fa-
tree:before{content:"\\f1bb"}.fa-spotify:before{conte
Login.c(118): nt:"\\f1bc"}.fa-deviantart:before{content:"\\f1bd"}.fa-
soundcloud:before{content:"\\f1be"}
Login.c(118): .fa-database:before{content:"\\f1c0"}.fa-file-pdf-
o:before{content:"\\f1c1"}.fa-file-word-
Login.c(118): o:before{content:"\\f1c2"}.fa-file-excel-
o:before{content:"\\f1c3"}.fa-file-powerpoint-o:b
Login.c(118): efore{content:"\\f1c4"}.fa-file-photo-o:before,.fa-file-picture-
o:before,.fa-file-image-o:
Login.c(118): before{content:"\\f1c5"}.fa-file-zip-o:before,.fa-file-archive-
o:before{content:"\\f1c6"}.
Login.c(118): fa-file-sound-o:before,.fa-file-audio-
o:before{content:"\\f1c7"}.fa-file-movie-o:before,.f
Login.c(118): a-file-video-o:before{content:"\\f1c8"}.fa-file-code-
o:before{content:"\\f1c9"}.fa-vine:be
Login.c(118): fore{content:"\\f1ca"}.fa-codepen:before{content:"\\f1cb"}.fa-
jsfiddle:before{content:"\\f
Login.c(118): 1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-
saver:before,.fa-support:before,.f
Login.c(118): a-life-ring:before{content:"\\f1cd"}.fa-circle-o-
notch:before{content:"\\f1ce"}.fa-ra:befo
Login.c(118): re,.fa-rebel:before{content:"\\f1d0"}.fa-ge:before,.fa-
empire:before{content:"\\f1d1"}.fa-
Login.c(118): git-square:before{content:"\\f1d2"}.fa-
git:before{content:"\\f1d3"}.fa-hacker-news:before{
Login.c(118): content:"\\f1d4"}.fa-tencent-weibo:before{content:"\\f1d5"}.fa-
qq:before{content:"\\f1d6"}
Login.c(118): .fa-wechat:before,.fa-weixin:before{content:"\\f1d7"}.fa-
send:before,.fa-paper-plane:befor
Login.c(118): e{content:"\\f1d8"}.fa-send-o:before,.fa-paper-plane-
o:before{content:"\\f1d9"}.fa-history
Login.c(118): :before{content:"\\f1da"}.fa-circle-
thin:before{content:"\\f1db"}.fa-header:before{content
Login.c(118): :"\\f1dc"}.fa-paragraph:before{content:"\\f1dd"}.fa-
sliders:before{content:"\\f1de"}.fa-sh
Login.c(118): are-alt:before{content:"\\f1e0"}.fa-share-alt-
square:before{content:"\\f1e1"}.fa-bomb:befo
Login.c(118): re{content:"\\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-
o:before{content:"\\f1e3"}.fa-tty:
Login.c(118): before{content:"\\f1e4"}.fa-
binoculars:before{content:"\\f1e5"}.fa-plug:before{content:"\\
Login.c(118): f1e6"}.fa-slideshare:before{content:"\\f1e7"}.fa-
twitch:before{content:"\\f1e8"}.fa-yelp:b
Login.c(118): efore{content:"\\f1e9"}.fa-newspaper-
o:before{content:"\\f1ea"}.fa-wifi:before{content:"\\
Login.c(118): f1eb"}.fa-calculator:before{content:"\\f1ec"}.fa-
paypal:before{content:"\\f1ed"}.fa-google
Login.c(118): -wallet:before{content:"\\f1ee"}.fa-cc-
visa:before{content:"\\f1f0"}.fa-cc-mastercard:befo
Login.c(118): re{content:"\\f1f1"}.fa-cc-discover:before{content:"\\f1f2"}.fa-
cc-amex:before{content:"\\
Login.c(118): f1f3"}.fa-cc-paypal:before{content:"\\f1f4"}.fa-cc-
stripe:before{content:"\\f1f5"}.fa-bell
Login.c(118): -slash:before{content:"\\f1f6"}.fa-bell-slash-
o:before{content:"\\f1f7"}.fa-trash:before{c
Login.c(118): ontent:"\\f1f8"}.fa-copyright:before{content:"\\f1f9"}.fa-
at:before{content:"\\f1fa"}.fa-e
Login.c(118): yedropper:before{content:"\\f1fb"}.fa-paint-
brush:before{content:"\\f1fc"}.fa-birthday-cak
Login.c(118): e:before{content:"\\f1fd"}.fa-area-
chart:before{content:"\\f1fe"}.fa-pie-chart:before{cont
Login.c(118): ent:"\\f200"}.fa-line-chart:before{content:"\\f201"}.fa-
lastfm:before{content:"\\f202"}.fa
Login.c(118): -lastfm-square:before{content:"\\f203"}.fa-toggle-
off:before{content:"\\f204"}.fa-toggle-o
Login.c(118): n:before{content:"\\f205"}.fa-
bicycle:before{content:"\\f206"}.fa-bus:before{content:"\\f2
Login.c(118): 07"}.fa-ioxhost:before{content:"\\f208"}.fa-
angellist:before{content:"\\f209"}.fa-cc:befor
Login.c(118): e{content:"\\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-
ils:before{content:"\\f20b"}.fa
Login.c(118): -meanpath:before{content:"\\f20c"}
Login.c(118): t=4924ms: 280-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"2261-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4925ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): a\r\n
Login.c(118): t=4925ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4925ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): \r\n
Login.c(118): 103\r\n
Login.c(118): t=4925ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4925ms: 781-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): t=4925ms: 2261-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): /*\n
Login.c(118): IMPORTANT:\n
Login.c(118): In order to preserve the uniform grid appearance, all cell styles
need to have padding, ma
Login.c(118): rgin and border sizes.\n
Login.c(118): No built-in (selected, editable, highlight, flashing, invalid,
loading, :focus) or user-sp
Login.c(118): ecified CSS\n
Login.c(118): classes should alter those!\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): .slick-header-columns {\n
Login.c(118): background: url('images/header-columns-bg.gif') repeat-x center
bottom;\n
Login.c(118): border-bottom: 1px solid silver;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-header-column {\n
Login.c(118): background: url('images/header-columns-bg.gif') repeat-x center
bottom;\n
Login.c(118): border-right: 1px solid silver;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-header-column:hover, .slick-header-column-active {\n
Login.c(118): background: white url('images/header-columns-over-bg.gif')
repeat-x center bottom;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-headerrow {\n
Login.c(118): background: #fafafa;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-headerrow-column {\n
Login.c(118): background: #fafafa;\n
Login.c(118): border-bottom: 0;\n
Login.c(118): height: 100%;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.ui-state-active {\n
Login.c(118): background: #F5F7D7;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row {\n
Login.c(118): position: absolute;\n
Login.c(118): background: white;\n
Login.c(118): border: 0px;\n
Login.c(118): line-height: 20px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.selected {\n
Login.c(118): z-index: 10;\n
Login.c(118): background: #DFE8F6;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell {\n
Login.c(118): padding-left: 4px;\n
Login.c(118): padding-right: 4px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group {\n
Login.c(118): border-bottom: 2px solid silver;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-toggle {\n
Login.c(118): width: 9px;\n
Login.c(118): height: 9px;\n
Login.c(118): margin-right: 5px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-toggle.expanded {\n
Login.c(118): background: url(images/collapse.gif) no-repeat center center;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-toggle.collapsed {\n
Login.c(118): background: url(images/expand.gif) no-repeat center center;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-totals {\n
Login.c(118): color: gray;\n
Login.c(118): background: white;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell.selected {\n
Login.c(118): background-color: beige;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell.active {\n
Login.c(118): border-color: gray;\n
Login.c(118): border-style: solid;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-sortable-placeholder {\n
Login.c(118): background: silver !important;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.odd {\n
Login.c(118): background: #fafafa;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.ui-state-active {\n
Login.c(118): background: #F5F7D7;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.loading {\n
Login.c(118): opacity: 0.5;\n
Login.c(118): filter: alpha(opacity = 50);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell.invalid {\n
Login.c(118): border-color: red;\n
Login.c(118): -moz-animation-duration: 0.2s;\n
Login.c(118): -webkit-animation-duration: 0.2s;\n
Login.c(118): -moz-animation-name: slickgrid-invalid-hilite;\n
Login.c(118): -webkit-animation-name: slickgrid-invalid-hilite; \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): @-moz-keyframes slickgrid-invalid-hilite {\n
Login.c(118): from { box-shadow: 0 0 6px red; }\n
Login.c(118): to { box-shadow: none; }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): @-webkit-keyframes slickgrid-invalid-hilite {\n
Login.c(118): from { box-shadow: 0 0 6px red; }\n
Login.c(118): to { box-shadow: none; }\n
Login.c(118): }
Login.c(118): t=4931ms: 281-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"35212-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4932ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): a\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 1b2\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4935ms: 8124-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): t=4935ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): /*! jQuery UI - v1.11.1 - 2014-08-13\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): * Includes: core.css, accordion.css, autocomplete.css,
button.css, datepicker.css, dialog.
Login.c(118): css, draggable.css, menu.css, progressbar.css, resizable.css,
selectable.css, selectmenu.c
Login.c(118): ss, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css,
theme.css\n
Login.c(118): * To view and modify this theme, visit
http://jqueryui.com/themeroller/?ffDefault=Verdana%
Login.c(118): 2CArial%2Csans-
serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=ccccc
Login.c(118):
c&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcH
eader=2
Login.c(118):
22222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpaci
tyConte
Login.c(118):
nt=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDef
ault=e6
Login.c(118):
e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefa
ult=555
Login.c(118):
555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHo
ver=75&
Login.c(118):
borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&b
gTextur
Login.c(118):
eActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconCo
lorActi
Login.c(118):
ve=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55
&border
Login.c(118):
ColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef
1ec&bgT
Login.c(118):
extureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconC
olorErr
Login.c(118):
or=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacity
Overlay
Login.c(118):
=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30
&thickn
Login.c(118): essShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-
8px&cornerRadiusShadow=8px\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors;
Licensed MIT */\n
Login.c(118): \n
Login.c(118): /* Layout helpers\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-helper-hidden {\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-helper-hidden-accessible {\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tclip: rect(0 0 0 0);\n
Login.c(118): \theight: 1px;\n
Login.c(118): \tmargin: -1px;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \twidth: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-helper-reset {\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tborder: 0;\n
Login.c(118): \toutline: 0;\n
Login.c(118): \tline-height: 1.3;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): \tfont-size: 100%;\n
Login.c(118): \tlist-style: none;\n
Login.c(118): }\n
Login.c(118): .ui-helper-clearfix:before,\n
Login.c(118): .ui-helper-clearfix:after {\n
Login.c(118): \tcontent: "";\n
Login.c(118): \tdisplay: table;\n
Login.c(118): \tborder-collapse: collapse;\n
Login.c(118): }\n
Login.c(118): .ui-helper-clearfix:after {\n
Login.c(118): \tclear: both;\n
Login.c(118): }\n
Login.c(118): .ui-helper-clearfix {\n
Login.c(118): \tmin-height: 0; /* support: IE7 */\n
Login.c(118): }\n
Login.c(118): .ui-helper-zfix {\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \theight: 100%;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \topacity: 0;\n
Login.c(118): \tfilter:Alpha(Opacity=0); /* support: IE8 */\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .ui-front {\n
Login.c(118): \tz-index: 100;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Interaction Cues\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-state-disabled {\n
Login.c(118): \tcursor: default !important;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Icons\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* states and images */\n
Login.c(118): .ui-icon {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \ttext-indent: -99999px;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tbackground-repeat: no-repeat;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Misc visuals\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* Overlays */\n
Login.c(118): .ui-widget-overlay {\n
Login.c(118): \tposition: fixed;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-header {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tmargin: 2px 0 0 0;\n
Login.c(118): \tpadding: .5em .5em .5em .7em;\n
Login.c(118): \tmin-height: 0; /* support: IE7 */\n
Login.c(118): \tfont-size: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-icons {\n
Login.c(118): \tpadding-left: 2.2em;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-icons .ui-accordion-icons {\n
Login.c(118): \tpadding-left: 2.2em;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tleft: .5em;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-content {\n
Login.c(118): \tpadding: 1em 2.2em;\n
Login.c(118): \tborder-top: 0;\n
Login.c(118): \toverflow: auto;\n
Login.c(118): }\n
Login.c(118): .ui-autocomplete {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tcursor: default;\n
Login.c(118): }\n
Login.c(118): .ui-button {\n
Login.c(118): \tdisplay: inline-block;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tline-height: normal;\n
Login.c(118): \tmargin-right: .1em;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tvertical-align: middle;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): \toverflow: visible; /* removes extra width in IE */\n
Login.c(118): }\n
Login.c(118): .ui-button,\n
Login.c(118): .ui-button:link,\n
Login.c(118): .ui-button:visited,\n
Login.c(118): .ui-button:hover,\n
Login.c(118): .ui-button:active {\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): /* to make room for the icon, a width needs to be set here */\n
Login.c(118): .ui-button-icon-only {\n
Login.c(118): \twidth: 2.2em;\n
Login.c(118): }\n
Login.c(118): /* button elements seem to need a little more width */\n
Login.c(118): button.ui-button-icon-only {\n
Login.c(118): \twidth: 2.4em;\n
Login.c(118): }\n
Login.c(118): .ui-button-icons-only {\n
Login.c(118): \twidth: 3.4em;\n
Login.c(118): }\n
Login.c(118): button.ui-button-icons-only {\n
Login.c(118): \twidth: 3.7em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* button text element */\n
Login.c(118): .ui-button .ui-button-text {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tline-height: normal;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-only .ui-button-text {\n
Login.c(118): \tpadding: .4em 1em;\n
Login.c(118): }\n
Login.c(118): .ui-button-icon-only .ui-button-text,\n
Login.c(118): .ui-button-icons-only .ui-button-text {\n
Login.c(118): \tpadding: .4em;\n
Login.c(118): \ttext-indent: -9999999px;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-primary .ui-button-text,\n
Login.c(118): .ui-button-text-icons .ui-button-text {\n
Login.c(118): \tpadding: .4em 1em .4em 2.1em;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-secondary .ui-button-text,\n
Login.c(118): .ui-button-text-icons .ui-button-text {\n
Login.c(118): \tpadding: .4em 2.1em .4em 1em;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icons .ui-button-text {\n
Login.c(118): \tpadding-left: 2.1em;\n
Login.c(118): \tpadding-right: 2.1em;\n
Login.c(118): }\n
Login.c(118): /* no icon support for input elements, provide padding by default
*/\n
Login.c(118): input.ui-button {\n
Login.c(118): \tpadding: .4em 1em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* button icon element(s) */\n
Login.c(118): .ui-button-icon-only .ui-icon,\n
Login.c(118): .ui-button-text-icon-primary .ui-icon,\n
Login.c(118): .ui-button-text-icon-secondary .ui-icon,\n
Login.c(118): .ui-button-text-icons .ui-icon,\n
Login.c(118): .ui-button-icons-only .ui-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-button-icon-only .ui-icon {\n
Login.c(118): \tleft: 50%;\n
Login.c(118): \tmargin-left: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-primary .ui-button-icon-primary,\n
Login.c(118): .ui-button-text-icons .ui-button-icon-primary,\n
Login.c(118): .ui-button-icons-only .ui-button-icon-primary {\n
Login.c(118): \tleft: .5em;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-secondary .ui-button-icon-secondary,\n
Login.c(118): .ui-button-text-icons .ui-button-icon-secondary,\n
Login.c(118): .ui-button-icons-only .ui-button-icon-secondary {\n
Login.c(118): \tright: .5em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* button sets */\n
Login.c(118): .ui-buttonset {\n
Login.c(118): \tmargin-right: 7px;\n
Login.c(118): }\n
Login.c(118): .ui-buttonset .ui-button {\n
Login.c(118): \tmargin-left: 0;\n
Login.c(118): \tmargin-right: -.3em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* workarounds */\n
Login.c(118): /* reset extra padding in Firefox, see h5bp.com/l */\n
Login.c(118): input.ui-button::-moz-focus-inner,\n
Login.c(118): button.ui-button::-moz-focus-inner {\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker {\n
Login.c(118): \twidth: 17em;\n
Login.c(118): \tpadding: .2em .2em 0;\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-header {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tpadding: .2em 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev,\n
Login.c(118): .ui-datepicker .ui-datepicker-next {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 2px;\n
Login.c(118): \twidth: 1.8em;\n
Login.c(118): \theight: 1.8em;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev-hover,\n
Login.c(118): .ui-datepicker .ui-datepicker-next-hover {\n
Login.c(118): \ttop: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev {\n
Login.c(118): \tleft: 2px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-next {\n
Login.c(118): \tright: 2px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev-hover {\n
Login.c(118): \tleft: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-next-hover {\n
Login.c(118): \tright: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev span,\n
Login.c(118): .ui-datepicker .ui-datepicker-next span {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tleft: 50%;\n
Login.c(118): \tmargin-left: -8px;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-title {\n
Login.c(118): \tmargin: 0 2.3em;\n
Login.c(118): \tline-height: 1.8em;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-title select {\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): \tmargin: 1px 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker select.ui-datepicker-month,\n
Login.c(118): .ui-datepicker select.ui-datepicker-year {\n
Login.c(118): \twidth: 45%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker table {\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \tfont-size: .9em;\n
Login.c(118): \tborder-collapse: collapse;\n
Login.c(118): \tmargin: 0 0 .4em;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker th {\n
Login.c(118): \tpadding: .7em .3em;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): \tborder: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker td {\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tpadding: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker td span,\n
Login.c(118): .ui-datepicker td a {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tpadding: .2em;\n
Login.c(118): \ttext-align: right;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-buttonpane {\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): \tmargin: .7em 0 0 0;\n
Login.c(118): \tpadding: 0 .2em;\n
Login.c(118): \tborder-left: 0;\n
Login.c(118): \tborder-right: 0;\n
Login.c(118): \tborder-bottom: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-buttonpane button {\n
Login.c(118): \tfloat: right;\n
Login.c(118): \tmargin: .5em .2em .4em;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tpadding: .2em .6em .3em .6em;\n
Login.c(118): \twidth: auto;\n
Login.c(118): \toverflow: visible;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-
current {\n
Login.c(118): \tfloat: left;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* with multiple calendars */\n
Login.c(118): .ui-datepicker.ui-datepicker-multi {\n
Login.c(118): \twidth: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group {\n
Login.c(118): \tfloat: left;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group table {\n
Login.c(118): \twidth: 95%;\n
Login.c(118): \tmargin: 0 auto .4em;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi-2 .ui-datepicker-group {\n
Login.c(118): \twidth: 50%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi-3 .ui-datepicker-group {\n
Login.c(118): \twidth: 33.3%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi-4 .ui-datepicker-group {\n
Login.c(118): \twidth: 25%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-
header,\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-
header {\n
Login.c(118): \tborder-left-width: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-buttonpane {\n
Login.c(118): \tclear: left;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-row-break {\n
Login.c(118): \tclear: both;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \tfont-size: 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* RTL support */\n
Login.c(118): .ui-datepicker-rtl {\n
Login.c(118): \tdirection: rtl;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-prev {\n
Login.c(118): \tright: 2px;\n
Login.c(118): \tleft: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-next {\n
Login.c(118): \tleft: 2px;\n
Login.c(118): \tright: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-prev:hover {\n
Login.c(118): \tright: 1px;\n
Login.c(118): \tleft: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-next:hover {\n
Login.c(118): \tleft: 1px;\n
Login.c(118): \tright: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-buttonpane {\n
Login.c(118): \tclear: right;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-buttonpane button {\n
Login.c(118): \tfloat: left;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-
datepicker-current,\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-group {\n
Login.c(118): \tfloat: right;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-
header,\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-
header {\n
Login.c(118): \tborder-right-width: 0;\n
Login.c(118): \tborder-left-width: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-dialog {\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tpadding: .2em;\n
Login.c(118): \toutline: 0;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-titlebar {\n
Login.c(118): \tpadding: .4em 1em;\n
Login.c(118): \tposition: relative;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-title {\n
Login.c(118): \tfloat: left;\n
Login.c(118): \tmargin: .1em 0;\n
Login.c(118): \twhite-space: nowrap;\n
Login.c(118): \twidth: 90%;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \ttext-overflow: ellipsis;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-titlebar-close {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tright: .3em;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \twidth: 20px;\n
Login.c(118): \tmargin: -10px 0 0 0;\n
Login.c(118): \tpadding: 1px;\n
Login.c(118): \theight: 20px;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-content {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tpadding: .5em 1em;\n
Login.c(118): \tbackground: none;\n
Login.c(118): \toverflow: auto;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-buttonpane {\n
Login.c(118): \ttext-align: left;\n
Login.c(118): \tborder-width: 1px 0 0 0;\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): \tmargin-top: .5em;\n
Login.c(118): \tpadding: .3em 1em .5em .4em;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n
Login.c(118): \tfloat: right;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-buttonpane button {\n
Login.c(118): \tmargin: .5em .4em .5em 0;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-resizable-se {\n
Login.c(118): \twidth: 12px;\n
Login.c(118): \theight: 12px;\n
Login.c(118): \tright: -5px;\n
Login.c(118): \tbottom: -5px;\n
Login.c(118): \tbackground-position: 16px 16px;\n
Login.c(118): }\n
Login.c(118): .ui-draggable .ui-dialog-titlebar {\n
Login.c(118): \tcursor: move;\n
Login.c(118): }\n
Login.c(118): .ui-draggable-handle {\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-menu {\n
Login.c(118): \tlist-style: none;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \toutline: none;\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-menu {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-menu-item {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tpadding: 3px 1em 3px .4em;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tmin-height: 0; /* support: IE7 */\n
Login.c(118): \t/* support: IE10, see #8844 */\n
Login.c(118): \tlist-style-image:
url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAA
Login.c(118): BAAEAAAIBRAA7");\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-menu-divider {\n
Login.c(118): \tmargin: 5px 0;\n
Login.c(118): \theight: 0;\n
Login.c(118): \tfont-size: 0;\n
Login.c(118): \tline-height: 0;\n
Login.c(118): \tborder-width: 1px 0 0 0;\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-state-focus,\n
Login.c(118): .ui-menu .ui-state-active {\n
Login.c(118): \tmargin: -1px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* icon support */\n
Login.c(118): .ui-menu-icons {\n
Login.c(118): \tposition: relative;\n
Login.c(118): }\n
Login.c(118): .ui-menu-icons .ui-menu-item {\n
Login.c(118): \tpadding-left: 2em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* left-aligned */\n
Login.c(118): .ui-menu .ui-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tbottom: 0;\n
Login.c(118): \tleft: .2em;\n
Login.c(118): \tmargin: auto 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* right-aligned */\n
Login.c(118): .ui-menu .ui-menu-icon {\n
Login.c(118): \tleft: auto;\n
Login.c(118): \tright: 0;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar {\n
Login.c(118): \theight: 2em;\n
Login.c(118): \ttext-align: left;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar .ui-progressbar-value {\n
Login.c(118): \tmargin: -1px;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar .ui-progressbar-overlay {\n
Login.c(118): \tbackground:
url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAA
Login.c(118):
AAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w
9XgU2FB
Login.c(118):
3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6
W459gnW
Login.c(118):
GfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2
uuzDmmH
Login.c(118):
UBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9
VpZRedY
Login.c(118):
cflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq6
2lAAACH
Login.c(118):
5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhB
VeT/Lz7
Login.c(118):
ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlK
Login.c(118): t=4957ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118):
jn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb
6HLgd/i
Login.c(118):
O7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHO
GpWMyor
Login.c(118):
blKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHG
hqp6ilY
Login.c(118):
uWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V
80/X02p
Login.c(118):
Ke8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/
+Xdie499XHd2g4
Login.c(118):
h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAA
oAAACko
Login.c(118):
QRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNY
rSgZdYr
Login.c(118):
TX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfk
JGkha6j
Login.c(118):
mY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqi
p61i9E3
Login.c(118):
vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+M
XSFi4Bn
Login.c(118):
iGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoA
CgAAAKX
Login.c(118):
jI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6no
mtJjp1t
Login.c(118):
utKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4G
BqJ+ckI
Login.c(118):
OqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbR
a2/gF8G
Login.c(118):
u2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1
rseztfX
Login.c(118):
ZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAA
AAAAoAC
Login.c(118):
gAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU
8xTqlLG
Login.c(118):
htCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvj
WKcnoGQ
Login.c(118): pqyPlpOhr3aElaqrq56Bq7VAAAOw==");\n
Login.c(118): \theight: 100%;\n
Login.c(118): \tfilter: alpha(opacity=25); /* support: IE8 */\n
Login.c(118): \topacity: 0.25;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar-indeterminate .ui-progressbar-value {\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): }\n
Login.c(118): .ui-resizable {\n
Login.c(118): \tposition: relative;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-handle {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tfont-size: 0.1px;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-disabled .ui-resizable-handle,\n
Login.c(118): .ui-resizable-autohide .ui-resizable-handle {\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-n {\n
Login.c(118): \tcursor: n-resize;\n
Login.c(118): \theight: 7px;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \ttop: -5px;\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-s {\n
Login.c(118): \tcursor: s-resize;\n
Login.c(118): \theight: 7px;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \tbottom: -5px;\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-e {\n
Login.c(118): \tcursor: e-resize;\n
Login.c(118): \twidth: 7px;\n
Login.c(118): \tright: -5px;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-w {\n
Login.c(118): \tcursor: w-resize;\n
Login.c(118): \twidth: 7px;\n
Login.c(118): \tleft: -5px;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-se {\n
Login.c(118): \tcursor: se-resize;\n
Login.c(118): \twidth: 12px;\n
Login.c(118): \theight: 12px;\n
Login.c(118): \tright: 1px;\n
Login.c(118): \tbottom: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-sw {\n
Login.c(118): \tcursor: sw-resize;\n
Login.c(118): \twidth: 9px;\n
Login.c(118): \theight: 9px;\n
Login.c(118): \tleft: -5px;\n
Login.c(118): \tbottom: -5px;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-nw {\n
Login.c(118): \tcursor: nw-resize;\n
Login.c(118): \twidth: 9px;\n
Login.c(118): \theight: 9px;\n
Login.c(118): \tleft: -5px;\n
Login.c(118): \ttop: -5px;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-ne {\n
Login.c(118): \tcursor: ne-resize;\n
Login.c(118): \twidth: 9px;\n
Login.c(118): \theight: 9px;\n
Login.c(118): \tright: -5px;\n
Login.c(118): \ttop: -5px;\n
Login.c(118): }\n
Login.c(118): .ui-selectable {\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-selectable-helper {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 100;\n
Login.c(118): \tborder: 1px dotted black;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-menu {\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-menu .ui-menu {\n
Login.c(118): \toverflow: auto;\n
Login.c(118): \t/* Support: IE7 */\n
Login.c(118): \toverflow-x: hidden;\n
Login.c(118): \tpadding-bottom: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): \tline-height: 1.5;\n
Login.c(118): \tpadding: 2px 0.4em;\n
Login.c(118): \tmargin: 0.5em 0 0 0;\n
Login.c(118): \theight: auto;\n
Login.c(118): \tborder: 0;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-open {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-button {\n
Login.c(118): \tdisplay: inline-block;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-button span.ui-icon {\n
Login.c(118): \tright: 0.5em;\n
Login.c(118): \tleft: auto;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-button span.ui-selectmenu-text {\n
Login.c(118): \ttext-align: left;\n
Login.c(118): \tpadding: 0.4em 2.1em 0.4em 1em;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tline-height: 1.4;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \ttext-overflow: ellipsis;\n
Login.c(118): \twhite-space: nowrap;\n
Login.c(118): }\n
Login.c(118): .ui-slider {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \ttext-align: left;\n
Login.c(118): }\n
Login.c(118): .ui-slider .ui-slider-handle {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 2;\n
Login.c(118): \twidth: 1.2em;\n
Login.c(118): \theight: 1.2em;\n
Login.c(118): \tcursor: default;\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-slider .ui-slider-range {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 1;\n
Login.c(118): \tfont-size: .7em;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tbackground-position: 0 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* support: IE8 - See #6727 */\n
Login.c(118): .ui-slider.ui-state-disabled .ui-slider-handle,\n
Login.c(118): .ui-slider.ui-state-disabled .ui-slider-range {\n
Login.c(118): \tfilter: inherit;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .ui-slider-horizontal {\n
Login.c(118): \theight: .8em;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-handle {\n
Login.c(118): \ttop: -.3em;\n
Login.c(118): \tmargin-left: -.6em;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-range {\n
Login.c(118): \ttop: 0;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-range-min {\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-range-max {\n
Login.c(118): \tright: 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .ui-slider-vertical {\n
Login.c(118): \twidth: .8em;\n
Login.c(118): \theight: 100px;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-handle {\n
Login.c(118): \tleft: -.3em;\n
Login.c(118): \tmargin-left: 0;\n
Login.c(118): \tmargin-bottom: -.6em;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-range {\n
Login.c(118): \tleft: 0;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-range-min {\n
Login.c(118): \tbottom: 0;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-range-max {\n
Login.c(118): \ttop: 0;\n
Login.c(118): }\n
Login.c(118): .ui-sortable-handle {\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-spinner {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tdisplay: inline-block;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tvertical-align: middle;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-input {\n
Login.c(118): \tborder: none;\n
Login.c(118): \tbackground: none;\n
Login.c(118): \tcolor: inherit;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: .2em 0;\n
Login.c(118): \tvertical-align: middle;\n
Login.c(118): \tmargin-left: .4em;\n
Login.c(118): \tmargin-right: 22px;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-button {\n
Login.c(118): \twidth: 16px;\n
Login.c(118): \theight: 50%;\n
Login.c(118): \tfont-size: .5em;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tcursor: default;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tright: 0;\n
Login.c(118): }\n
Login.c(118): /* more specificity required here to override default borders
*/\n
Login.c(118): .ui-spinner a.ui-spinner-button {\n
Login.c(118): \tborder-top: none;\n
Login.c(118): \tborder-bottom: none;\n
Login.c(118): \tborder-right: none;\n
Login.c(118): }\n
Login.c(118): /* vertically center icon */\n
Login.c(118): .ui-spinner .ui-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-up {\n
Login.c(118): \ttop: 0;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-down {\n
Login.c(118): \tbottom: 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* TR overrides */\n
Login.c(118): .ui-spinner .ui-icon-triangle-1-s {\n
Login.c(118): \t/* need to fix icons sprite */\n
Login.c(118): \tbackground-position: -65px -16px;\n
Login.c(118): }\n
Login.c(118): .ui-tabs {\n
Login.c(118): \tposition: relative;/* position: relative prevents IE scroll bug
(element with position:
Login.c(118): relative inside container with overflow: auto appear as "fixed")
*/\n
Login.c(118): \tpadding: .2em;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav {\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tpadding: .2em .2em 0;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav li {\n
Login.c(118): \tlist-style: none;\n
Login.c(118): \tfloat: left;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tmargin: 1px .2em 0 0;\n
Login.c(118): \tborder-bottom-width: 0;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \twhite-space: nowrap;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n
Login.c(118): \tfloat: left;\n
Login.c(118): \tpadding: .5em 1em;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-tabs-active {\n
Login.c(118): \tmargin-bottom: -1px;\n
Login.c(118): \tpadding-bottom: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n
Login.c(118): \tcursor: text;\n
Login.c(118): }\n
Login.c(118): .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-
anchor {\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-panel {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tborder-width: 0;\n
Login.c(118): \tpadding: 1em 1.4em;\n
Login.c(118): \tbackground: none;\n
Login.c(118): }\n
Login.c(118): .ui-tooltip {\n
Login.c(118): \tpadding: 8px;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 9999;\n
Login.c(118): \tmax-width: 300px;\n
Login.c(118): \t-webkit-box-shadow: 0 0 5px #aaa;\n
Login.c(118): \tbox-shadow: 0 0 5px #aaa;\n
Login.c(118): }\n
Login.c(118): body .ui-tooltip {\n
Login.c(118): \tborder-width: 2px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Component containers\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-widget {\n
Login.c(118): \tfont-family: Verdana,Arial,sans-serif;\n
Login.c(118): \tfont-size: 1.1em;\n
Login.c(118): }\n
Login.c(118): .ui-widget .ui-widget {\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): }\n
Login.c(118): .ui-widget input,\n
Login.c(118): .ui-widget select,\n
Login.c(118): .ui-widget textarea,\n
Login.c(118): .ui-widget button {\n
Login.c(118): \tfont-family: Verdana,Arial,sans-serif;\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): }\n
Login.c(118): .ui-widget-content {\n
Login.c(118): \tborder: 1px solid #aaaaaa;\n
Login.c(118): \tbackground: #ffffff url("images/ui-
bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x;\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): }\n
Login.c(118): .ui-widget-content a {\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): }\n
Login.c(118): .ui-widget-header {\n
Login.c(118): \tborder: 1px solid #aaaaaa;\n
Login.c(118): \tbackground: #cccccc url("images/ui-bg_highlight-
soft_75_cccccc_1x100.png") 50% 50% repea
Login.c(118): t-x;\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): }\n
Login.c(118): .ui-widget-header a {\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Interaction states\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-state-default,\n
Login.c(118): .ui-widget-content .ui-state-default,\n
Login.c(118): .ui-widget-header .ui-state-default {\n
Login.c(118): \tborder: 1px solid #d3d3d3;\n
Login.c(118): \tbackground: #e6e6e6 url("images/ui-
bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): \tcolor: #555555;\n
Login.c(118): }\n
Login.c(118): .ui-state-default a,\n
Login.c(118): .ui-state-default a:link,\n
Login.c(118): .ui-state-default a:visited {\n
Login.c(118): \tcolor: #555555;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-state-hover,\n
Login.c(118): .ui-widget-content .ui-state-hover,\n
Login.c(118): .ui-widget-header .ui-state-hover,\n
Login.c(118): .ui-state-focus,\n
Login.c(118): .ui-widget-content .ui-state-focus,\n
Login.c(118): .ui-widget-header .ui-state-focus {\n
Login.c(118): \tborder: 1px solid #999999;\n
Login.c(118): \tbackground: #dadada url("images/ui-
bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): }\n
Login.c(118): .ui-state-hover a,\n
Login.c(118): .ui-state-hover a:hover,\n
Login.c(118): .ui-state-hover a:link,\n
Login.c(118): .ui-state-hover a:visited,\n
Login.c(118): .ui-state-focus a,\n
Login.c(118): .ui-state-focus a:hover,\n
Login.c(118): .ui-state-focus a:link,\n
Login.c(118): .ui-state-focus a:visited {\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-state-active,\n
Login.c(118): .ui-widget-content .ui-state-active,\n
Login.c(118): .ui-widget-header .ui-state-active {\n
Login.c(118): \tborder: 1px solid #aaaaaa;\n
Login.c(118): \tbackground: #ffffff url("images/ui-
bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): }\n
Login.c(118): .ui-state-active a,\n
Login.c(118): .ui-state-active a:link,\n
Login.c(118): .ui-state-active a:visited {\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Interaction Cues\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-state-highlight,\n
Login.c(118): .ui-widget-content .ui-state-highlight,\n
Login.c(118): .ui-widget-header .ui-state-highlight {\n
Login.c(118): \tborder: 1px solid #fcefa1;\n
Login.c(118): \tbackground: #fbf9ee url("images/ui-
bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tcolor: #363636;\n
Login.c(118): }\n
Login.c(118): .ui-state-highlight a,\n
Login.c(118): .ui-widget-content .ui-state-highlight a,\n
Login.c(118): .ui-widget-header .ui-state-highlight a {\n
Login.c(118): \tcolor: #363636;\n
Login.c(118): }\n
Login.c(118): .ui-state-error,\n
Login.c(118): .ui-widget-content .ui-state-error,\n
Login.c(118): .ui-widget-header .ui-state-error {\n
Login.c(118): \tborder: 1px solid #cd0a0a;\n
Login.c(118): \tbackground: #fef1ec url("images/ui-
bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tcolor: #cd0a0a;\n
Login.c(118): }\n
Login.c(118): .ui-state-error a,\n
Login.c(118): .ui-widget-content .ui-state-error a,\n
Login.c(118): .ui-widget-header .ui-state-error a {\n
Login.c(118): \tcolor: #cd0a0a;\n
Login.c(118): }\n
Login.c(118): .ui-state-error-text,\n
Login.c(118): .ui-widget-content .ui-state-error-text,\n
Login.c(118): .ui-widget-header .ui-state-error-text {\n
Login.c(118): \tcolor: #cd0a0a;\n
Login.c(118): }\n
Login.c(118): .ui-priority-primary,\n
Login.c(118): .ui-widget-content .ui-priority-primary,\n
Login.c(118): .ui-widget-header .ui-priority-primary {\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): }\n
Login.c(118): .ui-priority-secondary,\n
Login.c(118): .ui-widget-content .ui-priority-secondary,\n
Login.c(118): .ui-widget-header .ui-priority-secondary {\n
Login.c(118): \topacity: .7;\n
Login.c(118): \tfilter:Alpha(Opacity=70); /* support: IE8 */\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): }\n
Login.c(118): .ui-state-disabled,\n
Login.c(118): .ui-widget-content .ui-state-disabled,\n
Login.c(118): .ui-widget-header .ui-state-disabled {\n
Login.c(118): \topacity: .35;\n
Login.c(118): \tfilter:Alpha(Opacity=35); /* support: IE8 */\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): }\n
Login.c(118): .ui-state-disabled .ui-icon {\n
Login.c(118): \tfilter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Icons\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* states and images */\n
Login.c(118): .ui-icon {\n
Login.c(118): \twidth: 16px;\n
Login.c(118): \theight: 16px;\n
Login.c(118): }\n
Login.c(118): .ui-icon,\n
Login.c(118): .ui-widget-content .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_cd0a0a_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-widget-header .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_222222_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-default .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_888888_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-hover .ui-icon,\n
Login.c(118): .ui-state-focus .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_454545_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-active .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_454545_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-highlight .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_2e83ff_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-error .ui-icon,\n
Login.c(118): .ui-state-error-text .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_cd0a0a_256x240.png");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* positioning */\n
Login.c(118): .ui-icon-blank { background-position: 16px 16px; }\n
Login.c(118): .ui-icon-carat-1-n { background-position: 0 0; }\n
Login.c(118): .ui-icon-carat-1-ne { background-position: -16px 0; }\n
Login.c(118): .ui-icon-carat-1-e { background-position: -32px 0; }\n
Login.c(118): .ui-icon-carat-1-se { background-position: -48px 0; }\n
Login.c(118): .ui-icon-carat-1-s { background-position: -64px 0; }\n
Login.c(118): .ui-icon-carat-1-sw { background-position: -80px 0; }\n
Login.c(118): .ui-icon-carat-1-w { background-position: -96px 0; }\n
Login.c(118): .ui-icon-carat-1-nw { background-position: -112px 0; }\n
Login.c(118): .ui-icon-carat-2-n-s { background-position: -128px 0; }\n
Login.c(118): .ui-icon-carat-2-e-w { background-position: -144px 0; }\n
Login.c(118): .ui-icon-triangle-1-n { background-position: 0 -16px; }\n
Login.c(118): .ui-icon-t
Login.c(118): t=4978ms: 10636-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): riangle-1-ne { background-position: -16px -16px; }\n
Login.c(118): .ui-icon-triangle-1-e { background-position: -32px -16px; }\n
Login.c(118): .ui-icon-triangle-1-se { background-position: -48px -16px; }\n
Login.c(118): .ui-icon-triangle-1-s { background-position: -64px -16px; }\n
Login.c(118): .ui-icon-triangle-1-sw { background-position: -80px -16px; }\n
Login.c(118): .ui-icon-triangle-1-w { background-position: -96px -16px; }\n
Login.c(118): .ui-icon-triangle-1-nw { background-position: -112px -16px; }\n
Login.c(118): .ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n
Login.c(118): .ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n
Login.c(118): .ui-icon-arrow-1-n { background-position: 0 -32px; }\n
Login.c(118): .ui-icon-arrow-1-ne { background-position: -16px -32px; }\n
Login.c(118): .ui-icon-arrow-1-e { background-position: -32px -32px; }\n
Login.c(118): .ui-icon-arrow-1-se { background-position: -48px -32px; }\n
Login.c(118): .ui-icon-arrow-1-s { background-position: -64px -32px; }\n
Login.c(118): .ui-icon-arrow-1-sw { background-position: -80px -32px; }\n
Login.c(118): .ui-icon-arrow-1-w { background-position: -96px -32px; }\n
Login.c(118): .ui-icon-arrow-1-nw { background-position: -112px -32px; }\n
Login.c(118): .ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n
Login.c(118): .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n
Login.c(118): .ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n
Login.c(118): .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n
Login.c(118): .ui-icon-arrowthick-1-n { background-position: 0 -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n
Login.c(118): .ui-icon-arrowthick-2-n-s { background-position: -128px
-48px; }\n
Login.c(118): .ui-icon-arrowthick-2-ne-sw { background-position: -144px
-48px; }\n
Login.c(118): .ui-icon-arrowthick-2-e-w { background-position: -160px
-48px; }\n
Login.c(118): .ui-icon-arrowthick-2-se-nw { background-position: -176px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-n { background-position: -192px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-e { background-position: -208px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-s { background-position: -224px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-w { background-position: -240px
-48px; }\n
Login.c(118): .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n
Login.c(118): .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px;
}\n
Login.c(118): .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px;
}\n
Login.c(118): .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px;
}\n
Login.c(118): .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n
Login.c(118): .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n
Login.c(118): .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n
Login.c(118): .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-w { background-position: -128px
-64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-n { background-position: -144px
-64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-e { background-position: -160px
-64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-s { background-position: -176px
-64px; }\n
Login.c(118): .ui-icon-arrow-4 { background-position: 0 -80px; }\n
Login.c(118): .ui-icon-arrow-4-diag { background-position: -16px -80px; }\n
Login.c(118): .ui-icon-extlink { background-position: -32px -80px; }\n
Login.c(118): .ui-icon-newwin { background-position: -48px -80px; }\n
Login.c(118): .ui-icon-refresh { background-position: -64px -80px; }\n
Login.c(118): .ui-icon-shuffle { background-position: -80px -80px; }\n
Login.c(118): .ui-icon-transfer-e-w { background-position: -96px -80px; }\n
Login.c(118): .ui-icon-transferthick-e-w { background-position: -112px
-80px; }\n
Login.c(118): .ui-icon-folder-collapsed { background-position: 0 -96px; }\n
Login.c(118): .ui-icon-folder-open { background-position: -16px -96px; }\n
Login.c(118): .ui-icon-document { background-position: -32px -96px; }\n
Login.c(118): .ui-icon-document-b { background-position: -48px -96px; }\n
Login.c(118): .ui-icon-note { background-position: -64px -96px; }\n
Login.c(118): .ui-icon-mail-closed { background-position: -80px -96px; }\n
Login.c(118): .ui-icon-mail-open { background-position: -96px -96px; }\n
Login.c(118): .ui-icon-suitcase { background-position: -112px -96px; }\n
Login.c(118): .ui-icon-comment { background-position: -128px -96px; }\n
Login.c(118): .ui-icon-person { background-position: -144px -96px; }\n
Login.c(118): .ui-icon-print { background-position: -160px -96px; }\n
Login.c(118): .ui-icon-trash { background-position: -176px -96px; }\n
Login.c(118): .ui-icon-locked { background-position: -192px -96px; }\n
Login.c(118): .ui-icon-unlocked { background-position: -208px -96px; }\n
Login.c(118): .ui-icon-bookmark { background-position: -224px -96px; }\n
Login.c(118): .ui-icon-tag { background-position: -240px -96px; }\n
Login.c(118): .ui-icon-home { background-position: 0 -112px; }\n
Login.c(118): .ui-icon-flag { background-position: -16px -112px; }\n
Login.c(118): .ui-icon-calendar { background-position: -32px -112px; }\n
Login.c(118): .ui-icon-cart { background-position: -48px -112px; }\n
Login.c(118): .ui-icon-pencil { background-position: -64px -112px; }\n
Login.c(118): .ui-icon-clock { background-position: -80px -112px; }\n
Login.c(118): .ui-icon-disk { background-position: -96px -112px; }\n
Login.c(118): .ui-icon-calculator { background-position: -112px -112px; }\n
Login.c(118): .ui-icon-zoomin { background-position: -128px -112px; }\n
Login.c(118): .ui-icon-zoomout { background-position: -144px -112px; }\n
Login.c(118): .ui-icon-search { background-position: -160px -112px; }\n
Login.c(118): .ui-icon-wrench { background-position: -176px -112px; }\n
Login.c(118): .ui-icon-gear { background-position: -192px -112px; }\n
Login.c(118): .ui-icon-heart { background-position: -208px -112px; }\n
Login.c(118): .ui-icon-star { background-position: -224px -112px; }\n
Login.c(118): .ui-icon-link { background-position: -240px -112px; }\n
Login.c(118): .ui-icon-cancel { background-position: 0 -128px; }\n
Login.c(118): .ui-icon-plus { background-position: -16px -128px; }\n
Login.c(118): .ui-icon-plusthick { background-position: -32px -128px; }\n
Login.c(118): .ui-icon-minus { background-position: -48px -128px; }\n
Login.c(118): .ui-icon-minusthick { background-position: -64px -128px; }\n
Login.c(118): .ui-icon-close { background-position: -80px -128px; }\n
Login.c(118): .ui-icon-closethick { background-position: -96px -128px; }\n
Login.c(118): .ui-icon-key { background-position: -112px -128px; }\n
Login.c(118): .ui-icon-lightbulb { background-position: -128px -128px; }\n
Login.c(118): .ui-icon-scissors { background-position: -144px -128px; }\n
Login.c(118): .ui-icon-clipboard { background-position: -160px -128px; }\n
Login.c(118): .ui-icon-copy { background-position: -176px -128px; }\n
Login.c(118): .ui-icon-contact { background-position: -192px -128px; }\n
Login.c(118): .ui-icon-image { background-position: -208px -128px; }\n
Login.c(118): .ui-icon-video { background-position: -224px -128px; }\n
Login.c(118): .ui-icon-script { background-position: -240px -128px; }\n
Login.c(118): .ui-icon-alert { background-position: 0 -144px; }\n
Login.c(118): .ui-icon-info { background-position: -16px -144px; }\n
Login.c(118): .ui-icon-notice { background-position: -32px -144px; }\n
Login.c(118): .ui-icon-help { background-position: -48px -144px; }\n
Login.c(118): .ui-icon-check { background-position: -64px -144px; }\n
Login.c(118): .ui-icon-bullet { background-position: -80px -144px; }\n
Login.c(118): .ui-icon-radio-on { background-position: -96px -144px; }\n
Login.c(118): .ui-icon-radio-off { background-position: -112px -144px; }\n
Login.c(118): .ui-icon-pin-w { background-position: -128px -144px; }\n
Login.c(118): .ui-icon-pin-s { background-position: -144px -144px; }\n
Login.c(118): .ui-icon-play { background-position: 0 -160px; }\n
Login.c(118): .ui-icon-pause { background-position: -16px -160px; }\n
Login.c(118): .ui-icon-seek-next { background-position: -32px -160px; }\n
Login.c(118): .ui-icon-seek-prev { background-position: -48px -160px; }\n
Login.c(118): .ui-icon-seek-end { background-position: -64px -160px; }\n
Login.c(118): .ui-icon-seek-start { background-position: -80px -160px; }\n
Login.c(118): /* ui-icon-seek-first is deprecated, use ui-icon-seek-start
instead */\n
Login.c(118): .ui-icon-seek-first { background-position: -80px -160px; }\n
Login.c(118): .ui-icon-stop { background-position: -96px -160px; }\n
Login.c(118): .ui-icon-eject { background-position: -112px -160px; }\n
Login.c(118): .ui-icon-volume-off { background-position: -128px -160px; }\n
Login.c(118): .ui-icon-volume-on { background-position: -144px -160px; }\n
Login.c(118): .ui-icon-power { background-position: 0 -176px; }\n
Login.c(118): .ui-icon-signal-diag { background-position: -16px -176px; }\n
Login.c(118): .ui-icon-signal { background-position: -32px -176px; }\n
Login.c(118): .ui-icon-battery-0 { background-position: -48px -176px; }\n
Login.c(118): .ui-icon-battery-1 { background-position: -64px -176px; }\n
Login.c(118): .ui-icon-battery-2 { background-position: -80px -176px; }\n
Login.c(118): .ui-icon-battery-3 { background-position: -96px -176px; }\n
Login.c(118): .ui-icon-circle-plus { background-position: 0 -192px; }\n
Login.c(118): .ui-icon-circle-minus { background-position: -16px -192px; }\n
Login.c(118): .ui-icon-circle-close { background-position: -32px -192px; }\n
Login.c(118): .ui-icon-circle-triangle-e { background-position: -48px
-192px; }\n
Login.c(118): .ui-icon-circle-triangle-s { background-position: -64px
-192px; }\n
Login.c(118): .ui-icon-circle-triangle-w { background-position: -80px
-192px; }\n
Login.c(118): .ui-icon-circle-triangle-n { background-position: -96px
-192px; }\n
Login.c(118): .ui-icon-circle-arrow-e { background-position: -112px -192px; }\n
Login.c(118): .ui-icon-circle-arrow-s { background-position: -128px -192px; }\n
Login.c(118): .ui-icon-circle-arrow-w { background-position: -144px -192px; }\n
Login.c(118): .ui-icon-circle-arrow-n { background-position: -160px -192px; }\n
Login.c(118): .ui-icon-circle-zoomin { background-position: -176px -192px; }\n
Login.c(118): .ui-icon-circle-zoomout { background-position: -192px -192px; }\n
Login.c(118): .ui-icon-circle-check { background-position: -208px -192px; }\n
Login.c(118): .ui-icon-circlesmall-plus { background-position: 0 -208px; }\n
Login.c(118): .ui-icon-circlesmall-minus { background-position: -16px
-208px; }\n
Login.c(118): .ui-icon-circlesmall-close { background-position: -32px
-208px; }\n
Login.c(118): .ui-icon-squaresmall-plus { background-position: -48px
-208px; }\n
Login.c(118): .ui-icon-squaresmall-minus { background-position: -64px
-208px; }\n
Login.c(118): .ui-icon-squaresmall-close { background-position: -80px
-208px; }\n
Login.c(118): .ui-icon-grip-dotted-vertical { background-position: 0
-224px; }\n
Login.c(118): .ui-icon-grip-dotted-horizontal { background-position: -16px
-224px; }\n
Login.c(118): .ui-icon-grip-solid-vertical { background-position: -32px -224px;
}\n
Login.c(118): .ui-icon-grip-solid-horizontal { background-position: -48px
-224px; }\n
Login.c(118): .ui-icon-gripsmall-diagonal-se { background-position: -64px
-224px; }\n
Login.c(118): .ui-icon-grip-diagonal-se { background-position: -80px
-224px; }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Misc visuals\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* Corner radius */\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-top,\n
Login.c(118): .ui-corner-left,\n
Login.c(118): .ui-corner-tl {\n
Login.c(118): \tborder-top-left-radius: 4px;\n
Login.c(118): }\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-top,\n
Login.c(118): .ui-corner-right,\n
Login.c(118): .ui-corner-tr {\n
Login.c(118): \tborder-top-right-radius: 4px;\n
Login.c(118): }\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-bottom,\n
Login.c(118): .ui-corner-left,\n
Login.c(118): .ui-corner-bl {\n
Login.c(118): \tborder-bottom-left-radius: 4px;\n
Login.c(118): }\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-bottom,\n
Login.c(118): .ui-corner-right,\n
Login.c(118): .ui-corner-br {\n
Login.c(118): \tborder-bottom-right-radius: 4px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Overlays */\n
Login.c(118): .ui-widget-overlay {\n
Login.c(118): \tbackground: #aaaaaa url("images/ui-
bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;\n
Login.c(118): \topacity: .3;\n
Login.c(118): \tfilter: Alpha(Opacity=30); /* support: IE8 */\n
Login.c(118): }\n
Login.c(118): .ui-widget-shadow {\n
Login.c(118): \tmargin: -8px 0 0 -8px;\n
Login.c(118): \tpadding: 8px;\n
Login.c(118): \tbackground: #aaaaaa url("images/ui-
bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;\n
Login.c(118): \topacity: .3;\n
Login.c(118): \tfilter: Alpha(Opacity=30); /* support: IE8 */\n
Login.c(118): \tborder-radius: 8px;\n
Login.c(118): }\n
Login.c(118): t=4987ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"60681-1416253782000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:49:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 60681\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4988ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): /*!\n
Login.c(118): * Bootstrap v3.2.0 (http://getbootstrap.com)\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): if (typeof jQuery === 'undefined') { throw new
Error('Bootstrap\\'s JavaScript requires jQ
Login.c(118): uery') }\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: transition.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#transitions\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // CSS TRANSITION SUPPORT (Shoutout:
http://www.modernizr.com/)\n
Login.c(118): //
============================================================\n
Login.c(118): \n
Login.c(118): function transitionEnd() {\n
Login.c(118): var el = document.createElement('bootstrap')\n
Login.c(118): \n
Login.c(118): var transEndEventNames = {\n
Login.c(118): WebkitTransition : 'webkitTransitionEnd',\n
Login.c(118): MozTransition : 'transitionend',\n
Login.c(118): OTransition : 'oTransitionEnd otransitionend',\n
Login.c(118): transition : 'transitionend'\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var name in transEndEventNames) {\n
Login.c(118): if (el.style[name] !== undefined) {\n
Login.c(118): return { end: transEndEventNames[name] }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return false // explicit for ie8 ( ._.)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // http://blog.alexmaccaw.com/css-transitions\n
Login.c(118): $.fn.emulateTransitionEnd = function (duration) {\n
Login.c(118): var called = false\n
Login.c(118): var $el = this\n
Login.c(118): $(this).one('bsTransitionEnd', function () { called =
true })\n
Login.c(118): var callback = function () { if (!called) $
($el).trigger($.support.transition.end) }\n
Login.c(118): setTimeout(callback, duration)\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $(function () {\n
Login.c(118): $.support.transition = transitionEnd()\n
Login.c(118): \n
Login.c(118): if (!$.support.transition) return\n
Login.c(118): \n
Login.c(118): $.event.special.bsTransitionEnd = {\n
Login.c(118): bindType: $.support.transition.end,\n
Login.c(118): delegateType: $.support.transition.end,\n
Login.c(118): handle: function (e) {\n
Login.c(118): if ($(e.target).is(this)) return
e.handleObj.handler.apply(this, arguments)\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: alert.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#alerts\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // ALERT CLASS DEFINITION\n
Login.c(118): // ======================\n
Login.c(118): \n
Login.c(118): var dismiss = '[data-dismiss="alert"]'\n
Login.c(118): var Alert = function (el) {\n
Login.c(118): $(el).on('click', dismiss, this.close)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Alert.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Alert.prototype.close = function (e) {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var selector = $this.attr('data-target')\n
Login.c(118): \n
Login.c(118): if (!selector) {\n
Login.c(118): selector = $this.attr('href')\n
Login.c(118): selector = selector && selector.replace(/.*(?=#[^\\s]*$)/,
'') // strip for ie7\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var $parent = $(selector)\n
Login.c(118): \n
Login.c(118): if (e) e.preventDefault()\n
Login.c(118): \n
Login.c(118): if (!$parent.length) {\n
Login.c(118): $parent = $this.hasClass('alert') ? $this :
$this.parent()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $parent.trigger(e = $.Event('close.bs.alert'))\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): $parent.removeClass('in')\n
Login.c(118): \n
Login.c(118): function removeElement() {\n
Login.c(118): // detach from parent, fire event then clean up data\n
Login.c(118): $parent.detach().trigger('closed.bs.alert').remove()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.support.transition && $parent.hasClass('fade') ?\n
Login.c(118): $parent\n
Login.c(118): .one('bsTransitionEnd', removeElement)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): removeElement()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // ALERT PLUGIN DEFINITION\n
Login.c(118): // =======================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.alert')\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.alert', (data = new
Alert(this)))\n
Login.c(118): if (typeof option == 'string') data[option].call($this)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.alert\n
Login.c(118): \n
Login.c(118): $.fn.alert = Plugin\n
Login.c(118): $.fn.alert.Constructor = Alert\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // ALERT NO CONFLICT\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $.fn.alert.noConflict = function () {\n
Login.c(118): $.fn.alert = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // ALERT DATA-API\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.alert.data-api', dismiss,
Alert.prototype.close)\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: button.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#buttons\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // BUTTON PUBLIC CLASS DEFINITION\n
Login.c(118): // ==============================\n
Login.c(118): \n
Login.c(118): var Button = function (element, options) {\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.options = $.extend({}, Button.DEFAULTS, options)\n
Login.c(118): this.isLoading = false\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Button.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Button.DEFAULTS = {\n
Login.c(118): loadingText: 'loading...'\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Button.prototype.setState = function (state) {\n
Login.c(118): var d = 'disabled'\n
Login.c(118): var $el = this.$element\n
Login.c(118): var val = $el.is('input') ? 'val' : 'html'\n
Login.c(118): var data = $el.data()\n
Login.c(118): \n
Login.c(118): state = state + 'Text'\n
Login.c(118): \n
Login.c(118): if (data.resetText == null) $el.data('resetText', $el[val]
())\n
Login.c(118): \n
Login.c(118): $el[val](data[state] == null ? this.options[state] :
data[state])\n
Login.c(118): \n
Login.c(118): // push to event loop to allow forms to submit\n
Login.c(118): setTimeout($.proxy(function () {\n
Login.c(118): if (state == 'loadingText') {\n
Login.c(118): this.isLoading = true\n
Login.c(118): $el.addClass(d).attr(d, d)\n
Login.c(118): } else if (this.isLoading) {\n
Login.c(118): this.isLoading = false\n
Login.c(118): $el.removeClass(d).removeAttr(d)\n
Login.c(118): }\n
Login.c(118): }, this), 0)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Button.prototype.toggle = function () {\n
Login.c(118): var changed = true\n
Login.c(118): var $parent = this.$element.closest('[data-
toggle="buttons"]')\n
Login.c(118): \n
Login.c(118): if ($parent.length) {\n
Login.c(118): var $input = this.$element.find('input')\n
Login.c(118): if ($input.prop('type') == 'radio') {\n
Login.c(118): if ($input.prop('checked') && this.
$element.hasClass('active')) changed = false\n
Login.c(118): else $parent.find('.active').removeClass('active')\n
Login.c(118): }\n
Login.c(118): if (changed) $input.prop('checked', !this.
$element.hasClass('active')).trigger('chan
Login.c(118): ge')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (changed) this.$element.toggleClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // BUTTON PLUGIN DEFINITION\n
Login.c(118): // ========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.button')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.button', (data = new Button(this,
options)))\n
Login.c(118): \n
Login.c(118): if (option == 'toggle') data.toggle()\n
Login.c(118): else if (option) data.setState(option)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.button\n
Login.c(118): \n
Login.c(118): $.fn.button = Plugin\n
Login.c(118): $.fn.button.Constructor = Button\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // BUTTON NO CONFLICT\n
Login.c(118): // ==================\n
Login.c(118): \n
Login.c(118): $.fn.button.noConflict = function () {\n
Login.c(118): $.fn.button = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // BUTTON DATA-API\n
Login.c(118): // ===============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.button.data-api', '[data-
toggle^="button"]', function (e) {\n
Login.c(118): var $btn = $(e.target)\n
Login.c(118): if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')\n
Login.c(118): Plugin.call($btn, 'toggle')\n
Login.c(118): e.preventDefault()\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: carousel.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#carousel\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // CAROUSEL CLASS DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): var Carousel = function (element, options) {\n
Login.c(118): this.$element = $(element).on('keydown.bs.carousel',
$.proxy(this.keydown, this))\n
Login.c(118): this.$indicators = this.$element.find('.carousel-
indicators')\n
Login.c(118): this.options = options\n
Login.c(118): this.paused =\n
Login.c(118): this.sliding =\n
Login.c(118): this.interval =\n
Login.c(118): this.$active =\n
Login.c(118): this.$items = null\n
Login.c(118): \n
Login.c(118): this.options.pause == 'hover' && this.$element\n
Login.c(118): .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n
Login.c(118): .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Carousel.DEFAULTS = {\n
Login.c(118): interval: 5000,\n
Login.c(118): pause: 'hover',\n
Login.c(118): wrap: true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.keydown = function (e) {\n
Login.c(118): switch (e.which) {\n
Login.c(118): case 37: this.prev(); break\n
Login.c(118): case 39: this.next(); break\n
Login.c(118): default: return\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): e.preventDefault()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Ca
Login.c(118): t=5003ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): rousel.prototype.cycle = function (e) {\n
Login.c(118): e || (this.paused = false)\n
Login.c(118): \n
Login.c(118): this.interval && clearInterval(this.interval)\n
Login.c(118): \n
Login.c(118): this.options.interval\n
Login.c(118): && !this.paused\n
Login.c(118): && (this.interval = setInterval($.proxy(this.next, this),
this.options.interval))\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.getItemIndex = function (item) {\n
Login.c(118): this.$items = item.parent().children('.item')\n
Login.c(118): return this.$items.index(item || this.$active)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.to = function (pos) {\n
Login.c(118): var that = this\n
Login.c(118): var activeIndex = this.getItemIndex(this.$active = this.
$element.find('.item.active'))
Login.c(118): \n
Login.c(118): \n
Login.c(118): if (pos > (this.$items.length - 1) || pos < 0) return\n
Login.c(118): \n
Login.c(118): if (this.sliding) return this.
$element.one('slid.bs.carousel', function () { tha
Login.c(118): t.to(pos) }) // yes, "slid"\n
Login.c(118): if (activeIndex == pos) return this.pause().cycle()\n
Login.c(118): \n
Login.c(118): return this.slide(pos > activeIndex ? 'next' : 'prev', $
(this.$items[pos]))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.pause = function (e) {\n
Login.c(118): e || (this.paused = true)\n
Login.c(118): \n
Login.c(118): if (this.$element.find('.next, .prev').length &&
$.support.transition) {\n
Login.c(118): this.$element.trigger($.support.transition.end)\n
Login.c(118): this.cycle(true)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.interval = clearInterval(this.interval)\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.next = function () {\n
Login.c(118): if (this.sliding) return\n
Login.c(118): return this.slide('next')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.prev = function () {\n
Login.c(118): if (this.sliding) return\n
Login.c(118): return this.slide('prev')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.slide = function (type, next) {\n
Login.c(118): var $active = this.$element.find('.item.active')\n
Login.c(118): var $next = next || $active[type]()\n
Login.c(118): var isCycling = this.interval\n
Login.c(118): var direction = type == 'next' ? 'left' : 'right'\n
Login.c(118): var fallback = type == 'next' ? 'first' : 'last'\n
Login.c(118): var that = this\n
Login.c(118): \n
Login.c(118): if (!$next.length) {\n
Login.c(118): if (!this.options.wrap) return\n
Login.c(118): $next = this.$element.find('.item')[fallback]()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($next.hasClass('active')) return (this.sliding = false)\n
Login.c(118): \n
Login.c(118): var relatedTarget = $next[0]\n
Login.c(118): var slideEvent = $.Event('slide.bs.carousel', {\n
Login.c(118): relatedTarget: relatedTarget,\n
Login.c(118): direction: direction\n
Login.c(118): })\n
Login.c(118): this.$element.trigger(slideEvent)\n
Login.c(118): if (slideEvent.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.sliding = true\n
Login.c(118): \n
Login.c(118): isCycling && this.pause()\n
Login.c(118): \n
Login.c(118): if (this.$indicators.length) {\n
Login.c(118): this.$indicators.find('.active').removeClass('active')\n
Login.c(118): var $nextIndicator = $(this.$indicators.children()
[this.getItemIndex($next)])\n
Login.c(118): $nextIndicator && $nextIndicator.addClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var slidEvent = $.Event('slid.bs.carousel', { relatedTarget:
relatedTarget, direction:
Login.c(118): direction }) // yes, "slid"\n
Login.c(118): if ($.support.transition && this.$element.hasClass('slide'))
{\n
Login.c(118): $next.addClass(type)\n
Login.c(118): $next[0].offsetWidth // force reflow\n
Login.c(118): $active.addClass(direction)\n
Login.c(118): $next.addClass(direction)\n
Login.c(118): $active\n
Login.c(118): .one('bsTransitionEnd', function () {\n
Login.c(118): $next.removeClass([type, direction].join('
')).addClass('active')\n
Login.c(118): $active.removeClass(['active', direction].join(' '))\n
Login.c(118): that.sliding = false\n
Login.c(118): setTimeout(function () {\n
Login.c(118): that.$element.trigger(slidEvent)\n
Login.c(118): }, 0)\n
Login.c(118): })\n
Login.c(118): .emulateTransitionEnd($active.css('transition-
duration').slice(0, -1) * 1000)\n
Login.c(118): } else {\n
Login.c(118): $active.removeClass('active')\n
Login.c(118): $next.addClass('active')\n
Login.c(118): this.sliding = false\n
Login.c(118): this.$element.trigger(slidEvent)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): isCycling && this.cycle()\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // CAROUSEL PLUGIN DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.carousel')\n
Login.c(118): var options = $.extend({}, Carousel.DEFAULTS, $this.data(),
typeof option == 'object
Login.c(118): ' && option)\n
Login.c(118): var action = typeof option == 'string' ? option :
options.slide\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.carousel', (data = new
Carousel(this, options)))\n
Login.c(118): if (typeof option == 'number') data.to(option)\n
Login.c(118): else if (action) data[action]()\n
Login.c(118): else if (options.interval) data.pause().cycle()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.carousel\n
Login.c(118): \n
Login.c(118): $.fn.carousel = Plugin\n
Login.c(118): $.fn.carousel.Constructor = Carousel\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // CAROUSEL NO CONFLICT\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): $.fn.carousel.noConflict = function () {\n
Login.c(118): $.fn.carousel = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // CAROUSEL DATA-API\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.carousel.data-api', '[data-slide],
[data-slide-to]', function (
Login.c(118): e) {\n
Login.c(118): var href\n
Login.c(118): var $this = $(this)\n
Login.c(118): var $target = $($this.attr('data-target') || (href =
$this.attr('href')) && href.repla
Login.c(118): ce(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n
Login.c(118): if (!$target.hasClass('carousel')) return\n
Login.c(118): var options = $.extend({}, $target.data(), $this.data())\n
Login.c(118): var slideIndex = $this.attr('data-slide-to')\n
Login.c(118): if (slideIndex) options.interval = false\n
Login.c(118): \n
Login.c(118): Plugin.call($target, options)\n
Login.c(118): \n
Login.c(118): if (slideIndex) {\n
Login.c(118): $target.data('bs.carousel').to(slideIndex)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): e.preventDefault()\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): $(window).on('load', function () {\n
Login.c(118): $('[data-ride="carousel"]').each(function () {\n
Login.c(118): var $carousel = $(this)\n
Login.c(118): Plugin.call($carousel, $carousel.data())\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: collapse.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#collapse\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // COLLAPSE PUBLIC CLASS DEFINITION\n
Login.c(118): // ================================\n
Login.c(118): \n
Login.c(118): var Collapse = function (element, options) {\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.options = $.extend({}, Collapse.DEFAULTS,
options)\n
Login.c(118): this.transitioning = null\n
Login.c(118): \n
Login.c(118): if (this.options.parent) this.$parent = $
(this.options.parent)\n
Login.c(118): if (this.options.toggle) this.toggle()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Collapse.DEFAULTS = {\n
Login.c(118): toggle: true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.dimension = function () {\n
Login.c(118): var hasWidth = this.$element.hasClass('width')\n
Login.c(118): return hasWidth ? 'width' : 'height'\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.show = function () {\n
Login.c(118): if (this.transitioning || this.$element.hasClass('in'))
return\n
Login.c(118): \n
Login.c(118): var startEvent = $.Event('show.bs.collapse')\n
Login.c(118): this.$element.trigger(startEvent)\n
Login.c(118): if (startEvent.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): var actives = this.$parent && this.$parent.find('> .panel
> .in')\n
Login.c(118): \n
Login.c(118): if (actives && actives.length) {\n
Login.c(118): var hasData = actives.data('bs.collapse')\n
Login.c(118): if (hasData && hasData.transitioning) return\n
Login.c(118): Plugin.call(actives, 'hide')\n
Login.c(118): hasData || actives.data('bs.collapse', null)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var dimension = this.dimension()\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .removeClass('collapse')\n
Login.c(118): .addClass('collapsing')[dimension](0)\n
Login.c(118): \n
Login.c(118): this.transitioning = 1\n
Login.c(118): \n
Login.c(118): var complete = function () {\n
Login.c(118): this.$element\n
Login.c(118): .removeClass('collapsing')\n
Login.c(118): .addClass('collapse in')[dimension]('')\n
Login.c(118): this.transitioning = 0\n
Login.c(118): this.$element\n
Login.c(118): .trigger('shown.bs.collapse')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!$.support.transition) return complete.call(this)\n
Login.c(118): \n
Login.c(118): var scrollSize = $.camelCase(['scroll',
dimension].join('-'))\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .one('bsTransitionEnd', $.proxy(complete, this))\n
Login.c(118): .emulateTransitionEnd(350)[dimension](this.$element[0]
[scrollSize])\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.hide = function () {\n
Login.c(118): if (this.transitioning || !this.$element.hasClass('in'))
return\n
Login.c(118): \n
Login.c(118): var startEvent = $.Event('hide.bs.collapse')\n
Login.c(118): this.$element.trigger(startEvent)\n
Login.c(118): if (startEvent.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): var dimension = this.dimension()\n
Login.c(118): \n
Login.c(118): this.$element[dimension](this.$element[dimension]())
[0].offsetHeight\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .addClass('collapsing')\n
Login.c(118): .removeClass('collapse')\n
Login.c(118): .removeClass('in')\n
Login.c(118): \n
Login.c(118): this.transitioning = 1\n
Login.c(118): \n
Login.c(118): var complete = function () {\n
Login.c(118): this.transitioning = 0\n
Login.c(118): this.$element\n
Login.c(118): .trigger('hidden.bs.collapse')\n
Login.c(118): .removeClass('collapsing')\n
Login.c(118): .addClass('collapse')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!$.support.transition) return complete.call(this)\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): [dimension](0)\n
Login.c(118): .one('bsTransitionEnd', $.proxy(complete, this))\n
Login.c(118): .emulateTransitionEnd(350)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.toggle = function () {\n
Login.c(118): this[this.$element.hasClass('in') ? 'hide' : 'show']()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // COLLAPSE PLUGIN DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.collapse')\n
Login.c(118): var options = $.extend({}, Collapse.DEFAULTS, $this.data(),
typeof option == 'object
Login.c(118): ' && option)\n
Login.c(118): \n
Login.c(118): if (!data && options.toggle && option == 'show') option = !
option\n
Login.c(118): if (!data) $this.data('bs.collapse', (data = new
Collapse(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.collapse\n
Login.c(118): \n
Login.c(118): $.fn.collapse = Plugin\n
Login.c(118): $.fn.collapse.Constructor = Collapse\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // COLLAPSE NO CONFLICT\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): $.fn.collapse.noConflict = function () {\n
Login.c(118): $.fn.collapse = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // COLLAPSE DATA-API\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.collapse.data-api', '[data-
toggle="collapse"]', function (e) {\n
Login.c(118): var href\n
Login.c(118): var $this = $(this)\n
Login.c(118): var target = $this.attr('data-target')\n
Login.c(118): || e.preventDefault()\n
Login.c(118): || (href = $this.attr('href')) && href.replace(/.*(?
=#[^\\s]+$)/, '') // strip for
Login.c(118): ie7\n
Login.c(118): var $target = $(target)\n
Login.c(118): var data = $target.data('bs.collapse')\n
Login.c(118): var option = data ? 'toggle' : $this.data()\n
Login.c(118): var parent = $this.attr('data-parent')\n
Login.c(118): var $parent = parent && $(parent)\n
Login.c(118): \n
Login.c(118): if (!data || !data.transitioning) {\n
Login.c(118): if ($parent) $parent.find('[data-toggle="collapse"][data-
parent="' + parent + '"]').
Login.c(118): not($this).addClass('collapsed')\n
Login.c(118): $this[$target.hasClass('in') ? 'addClass' : 'removeClass']
('collapsed')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Plugin.call($target, option)\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: dropdown.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#dropdowns\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // DROPDOWN CLASS DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): var backdrop = '.dropdown-backdrop'\n
Login.c(118): var toggle = '[data-toggle="dropdown"]'\n
Login.c(118): var Dropdown = function (element) {\n
Login.c(118): $(element).on('click.bs.dropdown', this.toggle)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Dropdown.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Dropdown.prototype.toggle = function (e) {\n
Login.c(118): var $this = $(this)\n
Login.c(118): \n
Login.c(118): if ($this.is('.disabled, :disabled')) return\n
Login.c(118): \n
Login.c(118): var $parent = getParent($this)\n
Login.c(118): var isActive = $parent.hasClass('open')\n
Login.c(118): \n
Login.c(118): clearMenus()\n
Login.c(118): \n
Login.c(118): if (!isActive) {\n
Login.c(118): if ('ontouchstart' in document.documentElement && !
$parent.closest('.navbar-nav').le
Login.c(118): ngth) {\n
Login.c(118): // if mobile we use a backdrop because click events don't
delegate\n
Login.c(118): $('<div class="dropdown-backdrop"/>').insertAfter($
(this)).on('click', clearMenus)
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var relatedTarget = { relatedTarget: this }\n
Login.c(118): $parent.trigger(e = $.Event('show.bs.dropdown',
relatedTarget))\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): $this.trigger('focus')\n
Login.c(118): \n
Login.c(118): $parent\n
Login.c(118): .toggleClass('open')\n
Login.c(118): .trigger('shown.bs.dropdown', relatedTarget)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return false\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Dropdown.prototype.keydown = function (e) {\n
Login.c(118): if (!/(38|40|27)/.test(e.keyCode)) return\n
Login.c(118): \n
Login.c(118): var $this = $(this)\n
Login.c(118): \n
Login.c(118): e.preventDefault()\n
Login.c(118): e.stopPropagation()\n
Login.c(118): \n
Login.c(118): if ($this.is('.disabled, :disabled')) return\n
Login.c(118): \n
Login.c(118): var $parent = getParent($this)\n
Login.c(118): var isActive = $parent.hasClass('open')\n
Login.c(118): \n
Login.c(118): if (!isActive || (isActive && e.keyCode == 27)) {\n
Login.c(118): if (e.which == 27) $parent.find(toggle).trigger('focus')\n
Login.c(118): return $this.trigger('click')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var desc = ' li:not(.divider):visible a'\n
Login.c(118): var $items = $parent.find('[role="menu"]' + desc + ',
[role="listbox"]' + desc)\n
Login.c(118): \n
Login.c(118): if (!$items.length) return\n
Login.c(118): \n
Login.c(118): var index = $items.index($items.filter(':focus'))\n
Login.c(118): \n
Login.c(118): if (e.keyCode == 38
Login.c(118): t=5022ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): && index > 0) index-- //
up\n
Login.c(118): if (e.keyCode == 40 && index < $items.length - 1) index++
// do
Login.c(118): wn\n
Login.c(118): if (!~index) index = 0\n
Login.c(118): \n
Login.c(118): $items.eq(index).trigger('focus')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function clearMenus(e) {\n
Login.c(118): if (e && e.which === 3) return\n
Login.c(118): $(backdrop).remove()\n
Login.c(118): $(toggle).each(function () {\n
Login.c(118): var $parent = getParent($(this))\n
Login.c(118): var relatedTarget = { relatedTarget: this }\n
Login.c(118): if (!$parent.hasClass('open')) return\n
Login.c(118): $parent.trigger(e = $.Event('hide.bs.dropdown',
relatedTarget))\n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): $parent.removeClass('open').trigger('hidden.bs.dropdown',
relatedTarget)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getParent($this) {\n
Login.c(118): var selector = $this.attr('data-target')\n
Login.c(118): \n
Login.c(118): if (!selector) {\n
Login.c(118): selector = $this.attr('href')\n
Login.c(118): selector = selector && /#[A-Za-z]/.test(selector) &&
selector.replace(/.*(?=#[^\\s]*
Login.c(118): $)/, '') // strip for ie7\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var $parent = selector && $(selector)\n
Login.c(118): \n
Login.c(118): return $parent && $parent.length ? $parent : $this.parent()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // DROPDOWN PLUGIN DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.dropdown')\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.dropdown', (data = new
Dropdown(this)))\n
Login.c(118): if (typeof option == 'string') data[option].call($this)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.dropdown\n
Login.c(118): \n
Login.c(118): $.fn.dropdown = Plugin\n
Login.c(118): $.fn.dropdown.Constructor = Dropdown\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // DROPDOWN NO CONFLICT\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): $.fn.dropdown.noConflict = function () {\n
Login.c(118): $.fn.dropdown = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // APPLY TO STANDARD DROPDOWN ELEMENTS\n
Login.c(118): // ===================================\n
Login.c(118): \n
Login.c(118): $(document)\n
Login.c(118): .on('click.bs.dropdown.data-api', clearMenus)\n
Login.c(118): .on('click.bs.dropdown.data-api', '.dropdown form', function
(e) { e.stopPropagation()
Login.c(118): })\n
Login.c(118): .on('click.bs.dropdown.data-api', toggle,
Dropdown.prototype.toggle)\n
Login.c(118): .on('keydown.bs.dropdown.data-api', toggle + ',
[role="menu"], [role="listbox"]', Drop
Login.c(118): down.prototype.keydown)\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: modal.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#modals\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // MODAL CLASS DEFINITION\n
Login.c(118): // ======================\n
Login.c(118): \n
Login.c(118): var Modal = function (element, options) {\n
Login.c(118): this.options = options\n
Login.c(118): this.$body = $(document.body)\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.$backdrop =\n
Login.c(118): this.isShown = null\n
Login.c(118): this.scrollbarWidth = 0\n
Login.c(118): \n
Login.c(118): if (this.options.remote) {\n
Login.c(118): this.$element\n
Login.c(118): .find('.modal-content')\n
Login.c(118): .load(this.options.remote, $.proxy(function () {\n
Login.c(118): this.$element.trigger('loaded.bs.modal')\n
Login.c(118): }, this))\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Modal.DEFAULTS = {\n
Login.c(118): backdrop: true,\n
Login.c(118): keyboard: true,\n
Login.c(118): show: true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.toggle = function (_relatedTarget) {\n
Login.c(118): return this.isShown ? this.hide() :
this.show(_relatedTarget)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.show = function (_relatedTarget) {\n
Login.c(118): var that = this\n
Login.c(118): var e = $.Event('show.bs.modal', { relatedTarget:
_relatedTarget })\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (this.isShown || e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.isShown = true\n
Login.c(118): \n
Login.c(118): this.checkScrollbar()\n
Login.c(118): this.$body.addClass('modal-open')\n
Login.c(118): \n
Login.c(118): this.setScrollbar()\n
Login.c(118): this.escape()\n
Login.c(118): \n
Login.c(118): this.$element.on('click.dismiss.bs.modal', '[data-
dismiss="modal"]', $.proxy(this.hide
Login.c(118): , this))\n
Login.c(118): \n
Login.c(118): this.backdrop(function () {\n
Login.c(118): var transition = $.support.transition && that.
$element.hasClass('fade')\n
Login.c(118): \n
Login.c(118): if (!that.$element.parent().length) {\n
Login.c(118): that.$element.appendTo(that.$body) // don't move modals
dom position\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): that.$element\n
Login.c(118): .show()\n
Login.c(118): .scrollTop(0)\n
Login.c(118): \n
Login.c(118): if (transition) {\n
Login.c(118): that.$element[0].offsetWidth // force reflow\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): that.$element\n
Login.c(118): .addClass('in')\n
Login.c(118): .attr('aria-hidden', false)\n
Login.c(118): \n
Login.c(118): that.enforceFocus()\n
Login.c(118): \n
Login.c(118): var e = $.Event('shown.bs.modal', { relatedTarget:
_relatedTarget })\n
Login.c(118): \n
Login.c(118): transition ?\n
Login.c(118): that.$element.find('.modal-dialog') // wait for modal to
slide in\n
Login.c(118): .one('bsTransitionEnd', function () {\n
Login.c(118): that.$element.trigger('focus').trigger(e)\n
Login.c(118): })\n
Login.c(118): .emulateTransitionEnd(300) :\n
Login.c(118): that.$element.trigger('focus').trigger(e)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.hide = function (e) {\n
Login.c(118): if (e) e.preventDefault()\n
Login.c(118): \n
Login.c(118): e = $.Event('hide.bs.modal')\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (!this.isShown || e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.isShown = false\n
Login.c(118): \n
Login.c(118): this.$body.removeClass('modal-open')\n
Login.c(118): \n
Login.c(118): this.resetScrollbar()\n
Login.c(118): this.escape()\n
Login.c(118): \n
Login.c(118): $(document).off('focusin.bs.modal')\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .removeClass('in')\n
Login.c(118): .attr('aria-hidden', true)\n
Login.c(118): .off('click.dismiss.bs.modal')\n
Login.c(118): \n
Login.c(118): $.support.transition && this.$element.hasClass('fade') ?\n
Login.c(118): this.$element\n
Login.c(118): .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n
Login.c(118): .emulateTransitionEnd(300) :\n
Login.c(118): this.hideModal()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.enforceFocus = function () {\n
Login.c(118): $(document)\n
Login.c(118): .off('focusin.bs.modal') // guard against infinite focus
loop\n
Login.c(118): .on('focusin.bs.modal', $.proxy(function (e) {\n
Login.c(118): if (this.$element[0] !== e.target && !this.
$element.has(e.target).length) {\n
Login.c(118): this.$element.trigger('focus')\n
Login.c(118): }\n
Login.c(118): }, this))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.escape = function () {\n
Login.c(118): if (this.isShown && this.options.keyboard) {\n
Login.c(118): this.$element.on('keyup.dismiss.bs.modal', $.proxy(function
(e) {\n
Login.c(118): e.which == 27 && this.hide()\n
Login.c(118): }, this))\n
Login.c(118): } else if (!this.isShown) {\n
Login.c(118): this.$element.off('keyup.dismiss.bs.modal')\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.hideModal = function () {\n
Login.c(118): var that = this\n
Login.c(118): this.$element.hide()\n
Login.c(118): this.backdrop(function () {\n
Login.c(118): that.$element.trigger('hidden.bs.modal')\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.removeBackdrop = function () {\n
Login.c(118): this.$backdrop && this.$backdrop.remove()\n
Login.c(118): this.$backdrop = null\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.backdrop = function (callback) {\n
Login.c(118): var that = this\n
Login.c(118): var animate = this.$element.hasClass('fade') ? 'fade' : ''\n
Login.c(118): \n
Login.c(118): if (this.isShown && this.options.backdrop) {\n
Login.c(118): var doAnimate = $.support.transition && animate\n
Login.c(118): \n
Login.c(118): this.$backdrop = $('<div class="modal-backdrop ' + animate
+ '" />')\n
Login.c(118): .appendTo(this.$body)\n
Login.c(118): \n
Login.c(118): this.$element.on('click.dismiss.bs.modal', $.proxy(function
(e) {\n
Login.c(118): if (e.target !== e.currentTarget) return\n
Login.c(118): this.options.backdrop == 'static'\n
Login.c(118): ? this.$element[0].focus.call(this.$element[0])\n
Login.c(118): : this.hide.call(this)\n
Login.c(118): }, this))\n
Login.c(118): \n
Login.c(118): if (doAnimate) this.$backdrop[0].offsetWidth // force
reflow\n
Login.c(118): \n
Login.c(118): this.$backdrop.addClass('in')\n
Login.c(118): \n
Login.c(118): if (!callback) return\n
Login.c(118): \n
Login.c(118): doAnimate ?\n
Login.c(118): this.$backdrop\n
Login.c(118): .one('bsTransitionEnd', callback)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): callback()\n
Login.c(118): \n
Login.c(118): } else if (!this.isShown && this.$backdrop) {\n
Login.c(118): this.$backdrop.removeClass('in')\n
Login.c(118): \n
Login.c(118): var callbackRemove = function () {\n
Login.c(118): that.removeBackdrop()\n
Login.c(118): callback && callback()\n
Login.c(118): }\n
Login.c(118): $.support.transition && this.$element.hasClass('fade') ?\n
Login.c(118): this.$backdrop\n
Login.c(118): .one('bsTransitionEnd', callbackRemove)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): callbackRemove()\n
Login.c(118): \n
Login.c(118): } else if (callback) {\n
Login.c(118): callback()\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.checkScrollbar = function () {\n
Login.c(118): if (document.body.clientWidth >= window.innerWidth) return\n
Login.c(118): this.scrollbarWidth = this.scrollbarWidth ||
this.measureScrollbar()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.setScrollbar = function () {\n
Login.c(118): var bodyPad = parseInt((this.$body.css('padding-right') ||
0), 10)\n
Login.c(118): if (this.scrollbarWidth) this.$body.css('padding-right',
bodyPad + this.scrollbarWidth
Login.c(118): )\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.resetScrollbar = function () {\n
Login.c(118): this.$body.css('padding-right', '')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.measureScrollbar = function () { // thx walsh\n
Login.c(118): var scrollDiv = document.createElement('div')\n
Login.c(118): scrollDiv.className = 'modal-scrollbar-measure'\n
Login.c(118): this.$body.append(scrollDiv)\n
Login.c(118): var scrollbarWidth = scrollDiv.offsetWidth -
scrollDiv.clientWidth\n
Login.c(118): this.$body[0].removeChild(scrollDiv)\n
Login.c(118): return scrollbarWidth\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // MODAL PLUGIN DEFINITION\n
Login.c(118): // =======================\n
Login.c(118): \n
Login.c(118): function Plugin(option, _relatedTarget) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.modal')\n
Login.c(118): var options = $.extend({}, Modal.DEFAULTS, $this.data(),
typeof option == 'object' &
Login.c(118): & option)\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.modal', (data = new Modal(this,
options)))\n
Login.c(118): if (typeof option == 'string') data[option]
(_relatedTarget)\n
Login.c(118): else if (options.show) data.show(_relatedTarget)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.modal\n
Login.c(118): \n
Login.c(118): $.fn.modal = Plugin\n
Login.c(118): $.fn.modal.Constructor = Modal\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // MODAL NO CONFLICT\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $.fn.modal.noConflict = function () {\n
Login.c(118): $.fn.modal = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // MODAL DATA-API\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.modal.data-api', '[data-
toggle="modal"]', function (e) {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var href = $this.attr('href')\n
Login.c(118): var $target = $($this.attr('data-target') || (href &&
href.replace(/.*(?=#[^\\s]+$)/,
Login.c(118): ''))) // strip for ie7\n
Login.c(118): var option = $target.data('bs.modal') ? 'toggle' :
$.extend({ remote: !/#/.test(href)
Login.c(118): && href }, $target.data(), $this.data())\n
Login.c(118): \n
Login.c(118): if ($this.is('a')) e.preventDefault()\n
Login.c(118): \n
Login.c(118): $target.one('show.bs.modal', function (showEvent) {\n
Login.c(118): if (showEvent.isDefaultPrevented()) return // only register
focus restorer if modal
Login.c(118): will actually get shown\n
Login.c(118): $target.one('hidden.bs.modal', function () {\n
Login.c(118): $this.is(':visible') && $this.trigger('focus')\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): Plugin.call($target, option, this)\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: tooltip.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#tooltip\n
Login.c(118): * Inspired by the original jQuery.tipsy by Jason Frame\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // TOOLTIP PUBLIC CLASS DEFINITION\n
Login.c(118): // ===============================\n
Login.c(118): \n
Login.c(118): var Tooltip = function (element, options) {\n
Login.c(118): this.type =\n
Login.c(118): this.options =\n
Login.c(118): this.enabled =\n
Login.c(118): this.timeout =\n
Login.c(118): this.hoverState =\n
Login.c(118): this.$element = null\n
Login.c(118): \n
Login.c(118): this.init('tooltip', element, options)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Tooltip.DEFAULTS = {\n
Login.c(118): animation: true,\n
Login.c(118): placement: 'top',\n
Login.c(118): selector: false,\n
Login.c(118): template: '<div class="tooltip" role="tooltip"><div
class="tooltip-arrow"></div><div c
Login.c(118): lass="tooltip-inner"></div></div>',\n
Login.c(118): trigger: 'hover focus',\n
Login.c(118): title: '',\n
Login.c(118): delay: 0,\n
Login.c(118): html: false,\n
Login.c(118): container: false,\n
Login.c(118): viewport: {\n
Login.c(118): selector: 'body',\n
Login.c(118): padding: 0\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.init = function (type, element, options) {\n
Login.c(118): this.enabled = true\n
Login.c(118): this.type = type\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.options = this.getOptions(options)\n
Login.c(118): this.$viewport = this.options.viewport && $
(this.options.viewport.selector || this.opt
Login.c(118): ions.viewport)\n
Login.c(118): \n
Login.c(118): var triggers = this.options.trigger.split(' ')\n
Login.c(118): \n
Login.c(118): for (var i = triggers.length; i--;) {\n
Login.c(118): var trigger = triggers[i]\n
Login.c(118): \n
Login.c(118): if (trigger == 'click') {\n
Login.c(118): this.$element.on('click.' + this.type,
this.options.selector, $.proxy(this.toggle,
Login.c(118): this))\n
Login.c(118): } else if (trigger != 'manual') {\n
Login.c(118): var eventIn = trigger == 'hover' ? 'mouseenter' :
'focusin'\n
Login.c(118): var eventOut = trigger == 'hover' ? 'mouseleave' :
'focusout'\n
Login.c(118): \n
Login.c(118): this.$element.on(eventIn + '.' + this.type,
this.options.selector, $.proxy(this.e
Login.c(118): nter, this))\n
Login.c(118): this.$element.on(eventOut + '.' + this.type,
this.options.selector, $.proxy(this.l
Login.c(118): eave, this))\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.options.selector ?\n
Login.c(118):
Login.c(118): t=5048ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): (this._options = $.extend({}, this.options, { trigger: 'manual',
selector: '' })) :\n
Login.c(118): this.fixTitle()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getDefaults = function () {\n
Login.c(118): return Tooltip.DEFAULTS\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getOptions = function (options) {\n
Login.c(118): options = $.extend({}, this.getDefaults(), this.
$element.data(), options)\n
Login.c(118): \n
Login.c(118): if (options.delay && typeof options.delay == 'number') {\n
Login.c(118): options.delay = {\n
Login.c(118): show: options.delay,\n
Login.c(118): hide: options.delay\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return options\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getDelegateOptions = function () {\n
Login.c(118): var options = {}\n
Login.c(118): var defaults = this.getDefaults()\n
Login.c(118): \n
Login.c(118): this._options && $.each(this._options, function (key, value)
{\n
Login.c(118): if (defaults[key] != value) options[key] = value\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): return options\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.enter = function (obj) {\n
Login.c(118): var self = obj instanceof this.constructor ?\n
Login.c(118): obj : $(obj.currentTarget).data('bs.' + this.type)\n
Login.c(118): \n
Login.c(118): if (!self) {\n
Login.c(118): self = new this.constructor(obj.currentTarget,
this.getDelegateOptions())\n
Login.c(118): $(obj.currentTarget).data('bs.' + this.type, self)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): clearTimeout(self.timeout)\n
Login.c(118): \n
Login.c(118): self.hoverState = 'in'\n
Login.c(118): \n
Login.c(118): if (!self.options.delay || !self.options.delay.show) return
self.show()\n
Login.c(118): \n
Login.c(118): self.timeout = setTimeout(function () {\n
Login.c(118): if (self.hoverState == 'in') self.show()\n
Login.c(118): }, self.options.delay.show)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.leave = function (obj) {\n
Login.c(118): var self = obj instanceof this.constructor ?\n
Login.c(118): obj : $(obj.currentTarget).data('bs.' + this.type)\n
Login.c(118): \n
Login.c(118): if (!self) {\n
Login.c(118): self = new this.constructor(obj.currentTarget,
this.getDelegateOptions())\n
Login.c(118): $(obj.currentTarget).data('bs.' + this.type, self)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): clearTimeout(self.timeout)\n
Login.c(118): \n
Login.c(118): self.hoverState = 'out'\n
Login.c(118): \n
Login.c(118): if (!self.options.delay || !self.options.delay.hide) return
self.hide()\n
Login.c(118): \n
Login.c(118): self.timeout = setTimeout(function () {\n
Login.c(118): if (self.hoverState == 'out') self.hide()\n
Login.c(118): }, self.options.delay.hide)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.show = function () {\n
Login.c(118): var e = $.Event('show.bs.' + this.type)\n
Login.c(118): \n
Login.c(118): if (this.hasContent() && this.enabled) {\n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): var inDom = $.contains(document.documentElement, this.
$element[0])\n
Login.c(118): if (e.isDefaultPrevented() || !inDom) return\n
Login.c(118): var that = this\n
Login.c(118): \n
Login.c(118): var $tip = this.tip()\n
Login.c(118): \n
Login.c(118): var tipId = this.getUID(this.type)\n
Login.c(118): \n
Login.c(118): this.setContent()\n
Login.c(118): $tip.attr('id', tipId)\n
Login.c(118): this.$element.attr('aria-describedby', tipId)\n
Login.c(118): \n
Login.c(118): if (this.options.animation) $tip.addClass('fade')\n
Login.c(118): \n
Login.c(118): var placement = typeof this.options.placement == 'function'
?\n
Login.c(118): this.options.placement.call(this, $tip[0], this.
$element[0]) :\n
Login.c(118): this.options.placement\n
Login.c(118): \n
Login.c(118): var autoToken = /\\s?auto?\\s?/i\n
Login.c(118): var autoPlace = autoToken.test(placement)\n
Login.c(118): if (autoPlace) placement = placement.replace(autoToken, '')
|| 'top'\n
Login.c(118): \n
Login.c(118): $tip\n
Login.c(118): .detach()\n
Login.c(118): .css({ top: 0, left: 0, display: 'block' })\n
Login.c(118): .addClass(placement)\n
Login.c(118): .data('bs.' + this.type, this)\n
Login.c(118): \n
Login.c(118): this.options.container ?
$tip.appendTo(this.options.container) : $tip.insertAfter(th
Login.c(118): is.$element)\n
Login.c(118): \n
Login.c(118): var pos = this.getPosition()\n
Login.c(118): var actualWidth = $tip[0].offsetWidth\n
Login.c(118): var actualHeight = $tip[0].offsetHeight\n
Login.c(118): \n
Login.c(118): if (autoPlace) {\n
Login.c(118): var orgPlacement = placement\n
Login.c(118): var $parent = this.$element.parent()\n
Login.c(118): var parentDim = this.getPosition($parent)\n
Login.c(118): \n
Login.c(118): placement = placement == 'bottom' && pos.top +
pos.height + actualHeight -
Login.c(118): parentDim.scroll > parentDim.height ? 'top' :\n
Login.c(118): placement == 'top' && pos.top -
parentDim.scroll - actualHeight <
Login.c(118): 0 ? 'bottom' :\n
Login.c(118): placement == 'right' && pos.right +
actualWidth > parentDim.widt
Login.c(118): h ? 'left' :\n
Login.c(118): placement == 'left' && pos.left -
actualWidth < parentDim.left
Login.c(118): ? 'right' :\n
Login.c(118): placement\n
Login.c(118): \n
Login.c(118): $tip\n
Login.c(118): .removeClass(orgPlacement)\n
Login.c(118): .addClass(placement)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var calculatedOffset = this.getCalculatedOffset(placement,
pos, actualWidth, actualH
Login.c(118): eight)\n
Login.c(118): \n
Login.c(118): this.applyPlacement(calculatedOffset, placement)\n
Login.c(118): \n
Login.c(118): var complete = function () {\n
Login.c(118): that.$element.trigger('shown.bs.' + that.type)\n
Login.c(118): that.hoverState = null\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.support.transition && this.$tip.hasClass('fade') ?\n
Login.c(118): $tip\n
Login.c(118): .one('bsTransitionEnd', complete)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): complete()\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.applyPlacement = function (offset, placement)
{\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var width = $tip[0].offsetWidth\n
Login.c(118): var height = $tip[0].offsetHeight\n
Login.c(118): \n
Login.c(118): // manually read margins because getBoundingClientRect
includes difference\n
Login.c(118): var marginTop = parseInt($tip.css('margin-top'), 10)\n
Login.c(118): var marginLeft = parseInt($tip.css('margin-left'), 10)\n
Login.c(118): \n
Login.c(118): // we must check for NaN for ie 8/9\n
Login.c(118): if (isNaN(marginTop)) marginTop = 0\n
Login.c(118): if (isNaN(marginLeft)) marginLeft = 0\n
Login.c(118): \n
Login.c(118): offset.top = offset.top + marginTop\n
Login.c(118): offset.left = offset.left + marginLeft\n
Login.c(118): \n
Login.c(118): // $.fn.offset doesn't round pixel values\n
Login.c(118): // so we use setOffset directly with our own function B-0\n
Login.c(118): $.offset.setOffset($tip[0], $.extend({\n
Login.c(118): using: function (props) {\n
Login.c(118): $tip.css({\n
Login.c(118): top: Math.round(props.top),\n
Login.c(118): left: Math.round(props.left)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): }, offset), 0)\n
Login.c(118): \n
Login.c(118): $tip.addClass('in')\n
Login.c(118): \n
Login.c(118): // check to see if placing tip in new offset caused the tip
to resize itself\n
Login.c(118): var actualWidth = $tip[0].offsetWidth\n
Login.c(118): var actualHeight = $tip[0].offsetHeight\n
Login.c(118): \n
Login.c(118): if (placement == 'top' && actualHeight != height) {\n
Login.c(118): offset.top = offset.top + height - actualHeight\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var delta = this.getViewportAdjustedDelta(placement, offset,
actualWidth, actualHeight
Login.c(118): )\n
Login.c(118): \n
Login.c(118): if (delta.left) offset.left += delta.left\n
Login.c(118): else offset.top += delta.top\n
Login.c(118): \n
Login.c(118): var arrowDelta = delta.left ? delta.left * 2 - width
+ actualWidth : delta.to
Login.c(118): p * 2 - height + actualHeight\n
Login.c(118): var arrowPosition = delta.left ? 'left' :
'top'\n
Login.c(118): var arrowOffsetPosition = delta.left ? 'offsetWidth' :
'offsetHeight'\n
Login.c(118): \n
Login.c(118): $tip.offset(offset)\n
Login.c(118): this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition],
arrowPosition)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.replaceArrow = function (delta, dimension,
position) {\n
Login.c(118): this.arrow().css(position, delta ? (50 * (1 - delta /
dimension) + '%') : '')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.setContent = function () {\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var title = this.getTitle()\n
Login.c(118): \n
Login.c(118): $tip.find('.tooltip-inner')[this.options.html ? 'html' :
'text'](title)\n
Login.c(118): $tip.removeClass('fade in top bottom left right')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.hide = function () {\n
Login.c(118): var that = this\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var e = $.Event('hide.bs.' + this.type)\n
Login.c(118): \n
Login.c(118): this.$element.removeAttr('aria-describedby')\n
Login.c(118): \n
Login.c(118): function complete() {\n
Login.c(118): if (that.hoverState != 'in') $tip.detach()\n
Login.c(118): that.$element.trigger('hidden.bs.' + that.type)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): $tip.removeClass('in')\n
Login.c(118): \n
Login.c(118): $.support.transition && this.$tip.hasClass('fade') ?\n
Login.c(118): $tip\n
Login.c(118): .one('bsTransitionEnd', complete)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): complete()\n
Login.c(118): \n
Login.c(118): this.hoverState = null\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.fixTitle = function () {\n
Login.c(118): var $e = this.$element\n
Login.c(118): if ($e.attr('title') || typeof ($e.attr('data-original-
title')) != 'string') {\n
Login.c(118): $e.attr('data-original-title', $e.attr('title') ||
'').attr('title', '')\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.hasContent = function () {\n
Login.c(118): return this.getTitle()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getPosition = function ($element) {\n
Login.c(118): $element = $element || this.$element\n
Login.c(118): var el = $element[0]\n
Login.c(118): var isBody = el.tagName == 'BODY'\n
Login.c(118): return $.extend({}, (typeof el.getBoundingClientRect ==
'function') ? el.getBoundingCl
Login.c(118): ientRect() : null, {\n
Login.c(118): scroll: isBody ? document.documentElement.scrollTop ||
document.body.scrollTop : $el
Login.c(118): ement.scrollTop(),\n
Login.c(118): width: isBody ? $(window).width() :
$element.outerWidth(),\n
Login.c(118): height: isBody ? $(window).height() :
$element.outerHeight()\n
Login.c(118): }, isBody ? { top: 0, left: 0 } : $element.offset())\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getCalculatedOffset = function (placement,
pos, actualWidth, actualHei
Login.c(118): ght) {\n
Login.c(118): return placement == 'bottom' ? { top: pos.top + pos.height,
left: pos.left + pos.wid
Login.c(118): th / 2 - actualWidth / 2 } :\n
Login.c(118): placement == 'top' ? { top: pos.top - actualHeight,
left: pos.left + pos.wid
Login.c(118): th / 2 - actualWidth / 2 } :\n
Login.c(118): placement == 'left' ? { top: pos.top + pos.height /
2 - actualHeight / 2, lef
Login.c(118): t: pos.left - actualWidth } :\n
Login.c(118): /* placement == 'right' */ { top: pos.top + pos.height /
2 - actualHeight / 2, lef
Login.c(118): t: pos.left + pos.width }\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getViewportAdjustedDelta = function
(placement, pos, actualWidth, actu
Login.c(118): alHeight) {\n
Login.c(118): var delta = { top: 0, left: 0 }\n
Login.c(118): if (!this.$viewport) return delta\n
Login.c(118): \n
Login.c(118): var viewportPadding = this.options.viewport &&
this.options.viewport.padding || 0\n
Login.c(118): var viewportDimensions = this.getPosition(this.$viewport)\n
Login.c(118): \n
Login.c(118): if (/right|left/.test(placement)) {\n
Login.c(118): var topEdgeOffset = pos.top - viewportPadding -
viewportDimensions.scroll\n
Login.c(118): var bottomEdgeOffset = pos.top + viewportPadding -
viewportDimensions.scroll + actua
Login.c(118): lHeight\n
Login.c(118): if (topEdgeOffset < viewportDimensions.top) { // top
overflow\n
Login.c(118): delta.top = viewportDimensions.top - topEdgeOffset\n
Login.c(118): } else if (bottomEdgeOffset > viewportDimensions.top +
viewportDimensions.height) {
Login.c(118): // bottom overflow\n
Login.c(118): delta.top = viewportDimensions.top +
viewportDimensions.height - bottomEdgeOffset\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): var leftEdgeOffset = pos.left - viewportPadding\n
Login.c(118): var rightEdgeOffset = pos.left + viewportPadding +
actualWidth\n
Login.c(118): if (leftEdgeOffset < viewportDimensions.left) { // left
overflow\n
Login.c(118): delta.left = viewportDimensions.left - leftEdgeOffset\n
Login.c(118): } else if (rightEdgeOffset > viewportDimensions.width) { //
right overflow\n
Login.c(118): delta.left = viewportDimensions.left +
viewportDimensions.width - rightEdgeOffset\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return delta\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getTitle = function () {\n
Login.c(118): var title\n
Login.c(118): var $e = this.$element\n
Login.c(118): var o = this.options\n
Login.c(118): \n
Login.c(118): title = $e.attr('data-original-title')\n
Login.c(118): || (typeof o.title == 'function' ? o.title.call($e[0]) :
o.title)\n
Login.c(118): \n
Login.c(118): return title\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getUID = function (prefix) {\n
Login.c(118): do prefix += ~~(Math.random() * 1000000)\n
Login.c(118): while (document.getElementById(prefix))\n
Login.c(118): return prefix\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.tip = function () {\n
Login.c(118): return (this.$tip = this.$tip || $(this.options.template))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.arrow = function () {\n
Login.c(118): return (this.$arrow = this.$arrow ||
this.tip().find('.tooltip-arrow'))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.validate = function () {\n
Login.c(118): if (!this.$element[0].parentNode) {\n
Login.c(118): this.hide()\n
Login.c(118): this.$element = null\n
Login.c(118): this.options = null\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.enable = function () {\n
Login.c(118): this.enabled = true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.disable = function () {\n
Login.c(118): this.enabled = false\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.toggleEnabled = function () {\n
Login.c(118): this.enabled = !this.enabled\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.toggle = function (e) {\n
Login.c(118): var self = this\n
Login.c(118): if (e) {\n
Login.c(118): self = $(e.currentTarget).data('bs.' + this.type)\n
Login.c(118): if (!self) {\n
Login.c(118): self = new this.constructor(e.currentTarget,
this.getDelegateOptions())\n
Login.c(118): $(e.currentTarget).data('bs.' + this.type, self)\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): self.tip().hasClass('in') ? self.leave(self) :
self.enter(self)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.destroy = function () {\n
Login.c(118): clearTimeout(this.timeout)\n
Login.c(118): this.hide().$element.off('.' + this.type).removeData('bs.' +
this.type)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TOOLTIP PLUGIN DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.tooltip')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data && option == 'destroy') return\n
Login.c(118): if (!data) $this.data('bs.tooltip', (data = new
Tooltip(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.tooltip\n
Login.c(118): \n
Login.c(118): $.fn.tooltip = Plugin\n
Login.c(118): $.fn.tooltip.Constructor = Tooltip\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TOOLTIP N
Login.c(118): t=5069ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): O CONFLICT\n
Login.c(118): // ===================\n
Login.c(118): \n
Login.c(118): $.fn.tooltip.noConflict = function () {\n
Login.c(118): $.fn.tooltip = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: popover.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#popovers\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // POPOVER PUBLIC CLASS DEFINITION\n
Login.c(118): // ===============================\n
Login.c(118): \n
Login.c(118): var Popover = function (element, options) {\n
Login.c(118): this.init('popover', element, options)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!$.fn.tooltip) throw new Error('Popover requires
tooltip.js')\n
Login.c(118): \n
Login.c(118): Popover.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Popover.DEFAULTS = $.extend({},
$.fn.tooltip.Constructor.DEFAULTS, {\n
Login.c(118): placement: 'right',\n
Login.c(118): trigger: 'click',\n
Login.c(118): content: '',\n
Login.c(118): template: '<div class="popover" role="tooltip"><div
class="arrow"></div><h3 class="pop
Login.c(118): over-title"></h3><div class="popover-content"></div></div>'\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // NOTE: POPOVER EXTENDS tooltip.js\n
Login.c(118): // ================================\n
Login.c(118): \n
Login.c(118): Popover.prototype = $.extend({},
$.fn.tooltip.Constructor.prototype)\n
Login.c(118): \n
Login.c(118): Popover.prototype.constructor = Popover\n
Login.c(118): \n
Login.c(118): Popover.prototype.getDefaults = function () {\n
Login.c(118): return Popover.DEFAULTS\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.setContent = function () {\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var title = this.getTitle()\n
Login.c(118): var content = this.getContent()\n
Login.c(118): \n
Login.c(118): $tip.find('.popover-title')[this.options.html ? 'html' :
'text'](title)\n
Login.c(118): $tip.find('.popover-content').empty()[ // we use append for
html objects to maintain j
Login.c(118): s events\n
Login.c(118): this.options.html ? (typeof content == 'string' ? 'html' :
'append') : 'text'\n
Login.c(118): ](content)\n
Login.c(118): \n
Login.c(118): $tip.removeClass('fade top bottom left right in')\n
Login.c(118): \n
Login.c(118): // IE8 doesn't accept hiding via the `:empty` pseudo
selector, we have to do\n
Login.c(118): // this manually by checking the contents.\n
Login.c(118): if (!$tip.find('.popover-title').html()) $tip.find('.popover-
title').hide()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.hasContent = function () {\n
Login.c(118): return this.getTitle() || this.getContent()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.getContent = function () {\n
Login.c(118): var $e = this.$element\n
Login.c(118): var o = this.options\n
Login.c(118): \n
Login.c(118): return $e.attr('data-content')\n
Login.c(118): || (typeof o.content == 'function' ?\n
Login.c(118): o.content.call($e[0]) :\n
Login.c(118): o.content)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.arrow = function () {\n
Login.c(118): return (this.$arrow = this.$arrow ||
this.tip().find('.arrow'))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.tip = function () {\n
Login.c(118): if (!this.$tip) this.$tip = $(this.options.template)\n
Login.c(118): return this.$tip\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // POPOVER PLUGIN DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.popover')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data && option == 'destroy') return\n
Login.c(118): if (!data) $this.data('bs.popover', (data = new
Popover(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.popover\n
Login.c(118): \n
Login.c(118): $.fn.popover = Plugin\n
Login.c(118): $.fn.popover.Constructor = Popover\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // POPOVER NO CONFLICT\n
Login.c(118): // ===================\n
Login.c(118): \n
Login.c(118): $.fn.popover.noConflict = function () {\n
Login.c(118): $.fn.popover = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: scrollspy.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#scrollspy\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // SCROLLSPY CLASS DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function ScrollSpy(element, options) {\n
Login.c(118): var process = $.proxy(this.process, this)\n
Login.c(118): \n
Login.c(118): this.$body = $('body')\n
Login.c(118): this.$scrollElement = $(element).is('body') ? $(window) : $
(element)\n
Login.c(118): this.options = $.extend({}, ScrollSpy.DEFAULTS,
options)\n
Login.c(118): this.selector = (this.options.target || '') + ' .nav li
> a'\n
Login.c(118): this.offsets = []\n
Login.c(118): this.targets = []\n
Login.c(118): this.activeTarget = null\n
Login.c(118): this.scrollHeight = 0\n
Login.c(118): \n
Login.c(118): this.$scrollElement.on('scroll.bs.scrollspy', process)\n
Login.c(118): this.refresh()\n
Login.c(118): this.process()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): ScrollSpy.DEFAULTS = {\n
Login.c(118): offset: 10\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.getScrollHeight = function () {\n
Login.c(118): return this.$scrollElement[0].scrollHeight || Math.max(this.
$body[0].scrollHeight, doc
Login.c(118): ument.documentElement.scrollHeight)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.refresh = function () {\n
Login.c(118): var offsetMethod = 'offset'\n
Login.c(118): var offsetBase = 0\n
Login.c(118): \n
Login.c(118): if (!$.isWindow(this.$scrollElement[0])) {\n
Login.c(118): offsetMethod = 'position'\n
Login.c(118): offsetBase = this.$scrollElement.scrollTop()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.offsets = []\n
Login.c(118): this.targets = []\n
Login.c(118): this.scrollHeight = this.getScrollHeight()\n
Login.c(118): \n
Login.c(118): var self = this\n
Login.c(118): \n
Login.c(118): this.$body\n
Login.c(118): .find(this.selector)\n
Login.c(118): .map(function () {\n
Login.c(118): var $el = $(this)\n
Login.c(118): var href = $el.data('target') || $el.attr('href')\n
Login.c(118): var $href = /^#./.test(href) && $(href)\n
Login.c(118): \n
Login.c(118): return ($href\n
Login.c(118): && $href.length\n
Login.c(118): && $href.is(':visible')\n
Login.c(118): && [[$href[offsetMethod]().top + offsetBase, href]]) ||
null\n
Login.c(118): })\n
Login.c(118): .sort(function (a, b) { return a[0] - b[0] })\n
Login.c(118): .each(function () {\n
Login.c(118): self.offsets.push(this[0])\n
Login.c(118): self.targets.push(this[1])\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.process = function () {\n
Login.c(118): var scrollTop = this.$scrollElement.scrollTop() +
this.options.offset\n
Login.c(118): var scrollHeight = this.getScrollHeight()\n
Login.c(118): var maxScroll = this.options.offset + scrollHeight - this.
$scrollElement.height()\n
Login.c(118): var offsets = this.offsets\n
Login.c(118): var targets = this.targets\n
Login.c(118): var activeTarget = this.activeTarget\n
Login.c(118): var i\n
Login.c(118): \n
Login.c(118): if (this.scrollHeight != scrollHeight) {\n
Login.c(118): this.refresh()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (scrollTop >= maxScroll) {\n
Login.c(118): return activeTarget != (i = targets[targets.length - 1]) &&
this.activate(i)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (activeTarget && scrollTop <= offsets[0]) {\n
Login.c(118): return activeTarget != (i = targets[0]) &&
this.activate(i)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (i = offsets.length; i--;) {\n
Login.c(118): activeTarget != targets[i]\n
Login.c(118): && scrollTop >= offsets[i]\n
Login.c(118): && (!offsets[i + 1] || scrollTop <= offsets[i + 1])\n
Login.c(118): && this.activate(targets[i])\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.activate = function (target) {\n
Login.c(118): this.activeTarget = target\n
Login.c(118): \n
Login.c(118): $(this.selector)\n
Login.c(118): .parentsUntil(this.options.target, '.active')\n
Login.c(118): .removeClass('active')\n
Login.c(118): \n
Login.c(118): var selector = this.selector +\n
Login.c(118): '[data-target="' + target + '"],' +\n
Login.c(118): this.selector + '[href="' + target + '"]'\n
Login.c(118): \n
Login.c(118): var active = $(selector)\n
Login.c(118): .parents('li')\n
Login.c(118): .addClass('active')\n
Login.c(118): \n
Login.c(118): if (active.parent('.dropdown-menu').length) {\n
Login.c(118): active = active\n
Login.c(118): .closest('li.dropdown')\n
Login.c(118): .addClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): active.trigger('activate.bs.scrollspy')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // SCROLLSPY PLUGIN DEFINITION\n
Login.c(118): // ===========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.scrollspy')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.scrollspy', (data = new
ScrollSpy(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.scrollspy\n
Login.c(118): \n
Login.c(118): $.fn.scrollspy = Plugin\n
Login.c(118): $.fn.scrollspy.Constructor = ScrollSpy\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // SCROLLSPY NO CONFLICT\n
Login.c(118): // =====================\n
Login.c(118): \n
Login.c(118): $.fn.scrollspy.noConflict = function () {\n
Login.c(118): $.fn.scrollspy = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // SCROLLSPY DATA-API\n
Login.c(118): // ==================\n
Login.c(118): \n
Login.c(118): $(window).on('load.bs.scrollspy.data-api', function () {\n
Login.c(118): $('[data-spy="scroll"]').each(function () {\n
Login.c(118): var $spy = $(this)\n
Login.c(118): Plugin.call($spy, $spy.data())\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: tab.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#tabs\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // TAB CLASS DEFINITION\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): var Tab = function (element) {\n
Login.c(118): this.element = $(element)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tab.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Tab.prototype.show = function () {\n
Login.c(118): var $this = this.element\n
Login.c(118): var $ul = $this.closest('ul:not(.dropdown-menu)')\n
Login.c(118): var selector = $this.data('target')\n
Login.c(118): \n
Login.c(118): if (!selector) {\n
Login.c(118): selector = $this.attr('href')\n
Login.c(118): selector = selector && selector.replace(/.*(?=#[^\\s]*$)/,
'') // strip for ie7\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($this.parent('li').hasClass('active')) return\n
Login.c(118): \n
Login.c(118): var previous = $ul.find('.active:last a')[0]\n
Login.c(118): var e = $.Event('show.bs.tab', {\n
Login.c(118): relatedTarget: previous\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): $this.trigger(e)\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): var $target = $(selector)\n
Login.c(118): \n
Login.c(118): this.activate($this.closest('li'), $ul)\n
Login.c(118): this.activate($target, $target.parent(), function () {\n
Login.c(118): $this.trigger({\n
Login.c(118): type: 'shown.bs.tab',\n
Login.c(118): relatedTarget: previous\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tab.prototype.activate = function (element, container,
callback) {\n
Login.c(118): var $active = container.find('> .active')\n
Login.c(118): var transition = callback\n
Login.c(118): && $.support.transition\n
Login.c(118): && $active.hasClass('fade')\n
Login.c(118): \n
Login.c(118): function next() {\n
Login.c(118): $active\n
Login.c(118): .removeClass('active')\n
Login.c(118): .find('> .dropdown-menu > .active')\n
Login.c(118): .removeClass('active')\n
Login.c(118): \n
Login.c(118): element.addClass('active')\n
Login.c(118): \n
Login.c(118): if (transition) {\n
Login.c(118): element[0].offsetWidth // reflow for transition\n
Login.c(118): element.addClass('in')\n
Login.c(118): } else {\n
Login.c(118): element.removeClass('fade')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (element.parent('.dropdown-menu')) {\n
Login.c(118): element.closest('li.dropdown').addClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): callback && callback()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): transition ?\n
Login.c(118): $active\n
Login.c(118): .one('bsTransitionEnd', next)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): next()\n
Login.c(118): \n
Login.c(118): $active.removeClass('in')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TAB PLUGIN DEFINITION\n
Login.c(118): // =====================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.tab')\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.tab', (data = new Tab(this)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.tab\n
Login.c(118): \n
Login.c(118): $.fn.tab = Plugin\n
Login.c(118): $.fn.tab.Constructor = Tab\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TAB NO CONFLICT\n
Login.c(118): // ===============\n
Login.c(118): \n
Login.c(118): $.fn.tab.noConflict = function () {\n
Login.c(118): $.fn.tab = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TAB DATA-API\n
Login.c(118): // ============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.tab.data-api', '[data-toggle="tab"],
[data-toggle="pill"]', fun
Login.c(118): ction (e) {\n
Login.c(118): e.preventDefault()\n
Login.c(118): Plugin.call($(this), 'show')\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: affix.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#affix\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // AFFIX CLASS DEFINITION\n
Login.c(118): // ======================\n
Login.c(118): \n
Login.c(118): var Affix = function (element, options) {\n
Login.c(118): this.options = $.extend({}, Affix.DEFAULTS, options)\n
Login.c(118): \n
Login.c(118): this.$target = $(this.options.target)\n
Login.c(118): .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition,
this))\n
Login.c(118): .on('click.bs.affix.data-api',
$.proxy(this.checkPositionWithEventLoop, this))\n
Login.c(118): \n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.affixed =\n
Login.c(118): this.unpin =\n
Login.c(118): this.pinnedOffset = null\n
Login.c(118): \n
Login.c(118): this.checkPosition()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Affix.RESET = 'affix affix-top affix-bottom'\n
Login.c(118): \n
Login.c(118): Affix.DEFAULTS = {\n
Login.c(118): offset: 0,\n
Login.c(118): target: window\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.prototype.getPinnedOffset = function () {\n
Login.c(118): if (this.pinnedOffset) return this.pinnedOffset\n
Login.c(118): this.$element.removeClass(Affix.RESET).addCl
Login.c(118): t=5352ms: 2853-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): ass('affix')\n
Login.c(118): var scrollTop = this.$target.scrollTop()\n
Login.c(118): var position = this.$element.offset()\n
Login.c(118): return (this.pinnedOffset = position.top - scrollTop)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.prototype.checkPositionWithEventLoop = function () {\n
Login.c(118): setTimeout($.proxy(this.checkPosition, this), 1)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.prototype.checkPosition = function () {\n
Login.c(118): if (!this.$element.is(':visible')) return\n
Login.c(118): \n
Login.c(118): var scrollHeight = $(document).height()\n
Login.c(118): var scrollTop = this.$target.scrollTop()\n
Login.c(118): var position = this.$element.offset()\n
Login.c(118): var offset = this.options.offset\n
Login.c(118): var offsetTop = offset.top\n
Login.c(118): var offsetBottom = offset.bottom\n
Login.c(118): \n
Login.c(118): if (typeof offset != 'object') offsetBottom =
offsetTop = offset\n
Login.c(118): if (typeof offsetTop == 'function') offsetTop =
offset.top(this.$element)\n
Login.c(118): if (typeof offsetBottom == 'function') offsetBottom =
offset.bottom(this.$element)\n
Login.c(118): \n
Login.c(118): var affix = this.unpin != null && (scrollTop + this.unpin
<= position.top) ? false :
Login.c(118): \n
Login.c(118): offsetBottom != null && (position.top + this.
$element.height() >= scrollHe
Login.c(118): ight - offsetBottom) ? 'bottom' :\n
Login.c(118): offsetTop != null && (scrollTop <=
offsetTop) ? 'top' : false\n
Login.c(118): \n
Login.c(118): if (this.affixed === affix) return\n
Login.c(118): if (this.unpin != null) this.$element.css('top', '')\n
Login.c(118): \n
Login.c(118): var affixType = 'affix' + (affix ? '-' + affix : '')\n
Login.c(118): var e = $.Event(affixType + '.bs.affix')\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.affixed = affix\n
Login.c(118): this.unpin = affix == 'bottom' ? this.getPinnedOffset() :
null\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .removeClass(Affix.RESET)\n
Login.c(118): .addClass(affixType)\n
Login.c(118): .trigger($.Event(affixType.replace('affix', 'affixed')))\n
Login.c(118): \n
Login.c(118): if (affix == 'bottom') {\n
Login.c(118): this.$element.offset({\n
Login.c(118): top: scrollHeight - this.$element.height() -
offsetBottom\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // AFFIX PLUGIN DEFINITION\n
Login.c(118): // =======================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.affix')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.affix', (data = new Affix(this,
options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.affix\n
Login.c(118): \n
Login.c(118): $.fn.affix = Plugin\n
Login.c(118): $.fn.affix.Constructor = Affix\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // AFFIX NO CONFLICT\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $.fn.affix.noConflict = function () {\n
Login.c(118): $.fn.affix = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // AFFIX DATA-API\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): $(window).on('load', function () {\n
Login.c(118): $('[data-spy="affix"]').each(function () {\n
Login.c(118): var $spy = $(this)\n
Login.c(118): var data = $spy.data()\n
Login.c(118): \n
Login.c(118): data.offset = data.offset || {}\n
Login.c(118): \n
Login.c(118): if (data.offsetBottom) data.offset.bottom =
data.offsetBottom\n
Login.c(118): if (data.offsetTop) data.offset.top =
data.offsetTop\n
Login.c(118): \n
Login.c(118): Plugin.call($spy, data)\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): t=5360ms: 294-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"1254-1418683842000"\r\n
Login.c(118): Last-Modified: Mon, 15 Dec 2014 22:50:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5361ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): a\r\n
Login.c(118): t=5361ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=5361ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): \r\n
Login.c(118): 74\r\n
Login.c(118): t=5361ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=5361ms: 638-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): t=5361ms: 1254-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): /*\n
Login.c(118): * metismenu - v1.0.3\n
Login.c(118): * Easy menu jQuery plugin for Twitter Bootstrap 3\n
Login.c(118): * https://github.com/onokumus/metisMenu\n
Login.c(118): *\n
Login.c(118): * Made by Osman Nuri Okumu\xC5\x9F\n
Login.c(118): * Under MIT License\n
Login.c(118): */\n
Login.c(118): !function(a,b,c){function d(b,c)
{this.element=b,this.settings=a.extend({},f,c),this._defau
Login.c(118): lts=f,this._name=e,this.init()}var e="metisMenu",f={toggle:!
0};d.prototype={init:function(
Login.c(118): ){var b=a(this.element),c=this.settings.toggle;this.isIE()<=9?
(b.find("li.active").has("ul
Login.c(118):
").children("ul").collapse("show"),b.find("li").not(".active").has("ul").children("
ul").co
Login.c(118): llapse("hide")):
(b.find("li.active").has("ul").children("ul").addClass("collapse in"),b.fi
Login.c(118):
nd("li").not(".active").has("ul").children("ul").addClass("collapse")),b.find("li")
.has("u
Login.c(118): l").children("a").on("click",function(b)
{b.preventDefault(),a(this).parent("li").toggleCla
Login.c(118):
ss("active").children("ul").collapse("toggle"),c&&a(this).parent("li").siblings().r
emoveCl
Login.c(118):
ass("active").children("ul.in").collapse("hide")})},isIE:function(){for(var
a,b=3,d=c.crea
Login.c(118): teElement("div"),e=d.getElementsByTagName("i");d.innerHTML="<!--
[if gt IE "+ ++b+"]><i></i
Login.c(118): ><![endif]-->",e[0];)return b>4?b:a}},a.fn[e]=function(b){return
this.each(function(){a.da
Login.c(118): ta(this,"plugin_"+e)||a.data(this,"plugin_"+e,new d(this,b))})}}
(jQuery,window,document);
Login.c(118): t=5365ms: 293-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"880-1418683842000"\r\n
Login.c(118): Last-Modified: Mon, 15 Dec 2014 22:50:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5365ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): a\r\n
Login.c(118): t=5365ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): \r\n
Login.c(118): 175\r\n
Login.c(118): t=5365ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=5366ms: 383-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): t=5366ms: 880-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): $(function() {\n
Login.c(118): \n
Login.c(118): $('#side-menu').metisMenu();\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): //Loads the correct sidebar on window load,\n
Login.c(118): //collapses the sidebar on window resize.\n
Login.c(118): // Sets the min-height of #page-wrapper to window size\n
Login.c(118): $(function() {\n
Login.c(118): $(window).bind("load resize", function() {\n
Login.c(118): topOffset = 50;\n
Login.c(118): width = (this.window.innerWidth > 0) ?
this.window.innerWidth : this.screen.width;
Login.c(118): \n
Login.c(118): if (width < 768) {\n
Login.c(118): $('div.navbar-collapse').addClass('collapse')\n
Login.c(118): topOffset = 100; // 2-row-menu\n
Login.c(118): } else {\n
Login.c(118): $('div.navbar-collapse').removeClass('collapse')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): height = (this.window.innerHeight > 0) ?
this.window.innerHeight : this.screen.hei
Login.c(118): ght;\n
Login.c(118): height = height - topOffset;\n
Login.c(118): if (height < 1) height = 1;\n
Login.c(118): if (height > topOffset) {\n
Login.c(118): $("#page-wrapper").css("min-height", (height) +
"px");\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): });\n
Login.c(118): t=5369ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"100900-1416253797000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:49:57 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 100900\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5370ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): /*!\n
Login.c(118): \n
Login.c(118): handlebars v2.0.0\n
Login.c(118): \n
Login.c(118): Copyright (C) 2011-2014 by Yehuda Katz\n
Login.c(118): \n
Login.c(118): Permission is hereby granted, free of charge, to any person
obtaining a copy\n
Login.c(118): of this software and associated documentation files (the
"Software"), to deal\n
Login.c(118): in the Software without restriction, including without limitation
the rights\n
Login.c(118): to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell\n
Login.c(118): copies of the Software, and to permit persons to whom the
Software is\n
Login.c(118): furnished to do so, subject to the following conditions:\n
Login.c(118): \n
Login.c(118): The above copyright notice and this permission notice shall be
included in\n
Login.c(118): all copies or substantial portions of the Software.\n
Login.c(118): \n
Login.c(118): THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR\n
Login.c(118): IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,\n
Login.c(118): FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE\n
Login.c(118): AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER\n
Login.c(118): LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM,\n
Login.c(118): OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN\n
Login.c(118): THE SOFTWARE.\n
Login.c(118): \n
Login.c(118): @license\n
Login.c(118): */\n
Login.c(118): /* exported Handlebars */\n
Login.c(118): (function (root, factory) {\n
Login.c(118): if (typeof define === 'function' && define.amd) {\n
Login.c(118): define([], factory);\n
Login.c(118): } else if (typeof exports === 'object') {\n
Login.c(118): module.exports = factory();\n
Login.c(118): } else {\n
Login.c(118): root.Handlebars = root.Handlebars || factory();\n
Login.c(118): }\n
Login.c(118): }(this, function () {\n
Login.c(118): // handlebars/safe-string.js\n
Login.c(118): var __module4__ = (function() {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): // Build out our basic SafeString type\n
Login.c(118): function SafeString(string) {\n
Login.c(118): this.string = string;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): SafeString.prototype.toString = function() {\n
Login.c(118): return "" + this.string;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): __exports__ = SafeString;\n
Login.c(118): return __exports__;\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): // handlebars/utils.js\n
Login.c(118): var __module3__ = (function(__dependency1__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): /*jshint -W004 */\n
Login.c(118): var SafeString = __dependency1__;\n
Login.c(118): \n
Login.c(118): var escape = {\n
Login.c(118): "&": "&",\n
Login.c(118): "<": "<",\n
Login.c(118): ">": ">",\n
Login.c(118): '"': """,\n
Login.c(118): "'": "'",\n
Login.c(118): "`": "`"\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var badChars = /[&<>"'`]/g;\n
Login.c(118): var possible = /[&<>"'`]/;\n
Login.c(118): \n
Login.c(118): function escapeChar(chr) {\n
Login.c(118): return escape[chr];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function extend(obj /* , ...source */) {\n
Login.c(118): for (var i = 1; i < arguments.length; i++) {\n
Login.c(118): for (var key in arguments[i]) {\n
Login.c(118): if (Object.prototype.hasOwnProperty.call(arguments[i],
key)) {\n
Login.c(118): obj[key] = arguments[i][key];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return obj;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.extend = extend;var toString =
Object.prototype.toString;\n
Login.c(118): __exports__.toString = toString;\n
Login.c(118): // Sourced from lodash\n
Login.c(118): // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n
Login.c(118): var isFunction = function(value) {\n
Login.c(118): return typeof value === 'function';\n
Login.c(118): };\n
Login.c(118): // fallback for older versions of Chrome and Safari\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (isFunction(/x/)) {\n
Login.c(118): isFunction = function(value) {\n
Login.c(118): return typeof value === 'function' && toString.call(value)
=== '[object Function]';\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): var isFunction;\n
Login.c(118): __exports__.isFunction = isFunction;\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): var isArray = Array.isArray || function(value) {\n
Login.c(118): return (value && typeof value === 'object') ?
toString.call(value) === '[object Array]
Login.c(118): ' : false;\n
Login.c(118): };\n
Login.c(118): __exports__.isArray = isArray;\n
Login.c(118): \n
Login.c(118): function escapeExpression(string) {\n
Login.c(118): // don't escape SafeStrings, since they're already safe\n
Login.c(118): if (string instanceof SafeString) {\n
Login.c(118): return string.toString();\n
Login.c(118): } else if (string == null) {\n
Login.c(118): return "";\n
Login.c(118): } else if (!string) {\n
Login.c(118): return string + '';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Force a string conversion as this will be done by the
append regardless and\n
Login.c(118): // the regex test will do this transparently behind the
scenes, causing issues if\n
Login.c(118): // an object's to string has escaped characters in it.\n
Login.c(118): string = "" + string;\n
Login.c(118): \n
Login.c(118): if(!possible.test(string)) { return string; }\n
Login.c(118): return string.replace(badChars, escapeChar);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.escapeExpression = escapeExpression;function
isEmpty(value) {\n
Login.c(118): if (!value && value !== 0) {\n
Login.c(118): return true;\n
Login.c(118): } else if (isArray(value) && value.length === 0) {\n
Login.c(118): return true;\n
Login.c(118): } else {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.isEmpty = isEmpty;function
appendContextPath(contextPath, id) {\n
Login.c(118): return (contextPath ? contextPath + '.' : '') + id;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.appendContextPath = appendContextPath;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module4__);\n
Login.c(118): \n
Login.c(118): // handlebars/exception.js\n
Login.c(118): var __module5__ = (function() {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): \n
Login.c(118): var errorProps = ['description', 'fileName', 'lineNumber',
'message', 'name', 'number',
Login.c(118): 'stack'];\n
Login.c(118): \n
Login.c(118): function Exception(message, node) {\n
Login.c(118): var line;\n
Login.c(118): if (node && node.firstLine) {\n
Login.c(118): line = node.firstLine;\n
Login.c(118): \n
Login.c(118): message += ' - ' + line + ':' + node.firstColumn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var tmp = Error.prototype.constructor.call(this, message);\n
Login.c(118): \n
Login.c(118): // Unfortunately errors are not enumerable in Chrome (at
least), so `for prop in tmp`
Login.c(118): doesn't work.\n
Login.c(118): for (var idx = 0; idx < errorProps.length; idx++) {\n
Login.c(118): this[errorProps[idx]] = tmp[errorProps[idx]];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (line) {\n
Login.c(118): this.lineNumber = line;\n
Login.c(118): this.column = node.firstColumn;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Exception.prototype = new Error();\n
Login.c(118): \n
Login.c(118): __exports__ = Exception;\n
Login.c(118): return __exports__;\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): // handlebars/base.js\n
Login.c(118): var __module2__ = (function(__dependency1__, __dependency2__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Utils = __dependency1__;\n
Login.c(118): var Exception = __dependency2__;\n
Login.c(118): \n
Login.c(118): var VERSION = "2.0.0";\n
Login.c(118): __exports__.VERSION = VERSION;var COMPILER_REVISION = 6;\n
Login.c(118): __exports__.COMPILER_REVISION = COMPILER_REVISION;\n
Login.c(118): var REVISION_CHANGES = {\n
Login.c(118): 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't
report it\n
Login.c(118): 2: '== 1.0.0-rc.3',\n
Login.c(118): 3: '== 1.0.0-rc.4',\n
Login.c(118): 4: '== 1.x.x',\n
Login.c(118): 5: '== 2.0.0-alpha.x',\n
Login.c(118): 6: '>= 2.0.0-beta.1'\n
Login.c(118): };\n
Login.c(118): __exports__.REVISION_CHANGES = REVISION_CHANGES;\n
Login.c(118): var isArray = Utils.isArray,\n
Login.c(118): isFunction = Utils.isFunction,\n
Login.c(118): toString = Utils.toString,\n
Login.c(118): objectType = '[object Object]';\n
Login.c(118): \n
Login.c(118): function HandlebarsEnvironment(helpers, partials) {\n
Login.c(118): this.helpers = helpers || {};\n
Login.c(118): this.partials = partials || {};\n
Login.c(118): \n
Login.c(118): registerDefaultHelpers(this);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.HandlebarsEnvironment =
HandlebarsEnvironment;HandlebarsEnvironment.prototyp
Login.c(118): e = {\n
Login.c(118): constructor: HandlebarsEnvironment,\n
Login.c(118): \n
Login.c(118): logger: logger,\n
Login.c(118): log: log,\n
Login.c(118): \n
Login.c(118): registerHelper: function(name, fn) {\n
Login.c(118): if (toString.call(name) === objectType) {\n
Login.c(118): if (fn) { throw new Exception('Arg not supported with
multiple helpers'); }\n
Login.c(118): Utils.extend(this.helpers, name);\n
Login.c(118): } else {\n
Login.c(118): this.helpers[name] = fn;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): unregisterHelper: function(name) {\n
Login.c(118): delete this.helpers[name];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): registerPartial: function(name, partial) {\n
Login.c(118): if (toString.call(name) === objectType) {\n
Login.c(118): Utils.extend(this.partials, name);\n
Login.c(118): } else {\n
Login.c(118): this.partials[name] = partial;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): unregisterPartial: function(name) {\n
Login.c(118): delete this.partials[name];\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function registerDefaultHelpers(instance) {\n
Login.c(118): instance.registerHelper('helperMissing', function(/* [args, ]
options */) {\n
Login.c(118): if(arguments.length === 1) {\n
Login.c(118): // A missing field in a {{foo}} constuct.\n
Login.c(118): return undefined;\n
Login.c(118): } else {\n
Login.c(118): // Someone is actually trying to call something, blow
up.\n
Login.c(118): throw new Exception("Missing helper: '" +
arguments[arguments.length-1].name + "'"
Login.c(118): );\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('blockHelperMissing',
function(context, options) {\n
Login.c(118): var inverse = options.inverse,\n
Login.c(118): fn = options.fn;\n
Login.c(118): \n
Login.c(118): if(context === true) {\n
Login.c(118): return fn(this);\n
Login.c(118): } else if(context === false || context == null) {\n
Login.c(118): return inverse(this);\n
Login.c(118): } else if (isArray(context)) {\n
Login.c(118): if(context.length > 0) {\n
Login.c(118): if (options.ids) {\n
Login.c(118): options.ids = [options.name];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return instance.helpers.each(context, options);\n
Login.c(118): } else {\n
Login.c(118): return inverse(this);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (options.data && options.ids) {\n
Login.c(118): var data = createFrame(options.data);\n
Login.c(118): data.contextPath =
Utils.appendContextPath(options.data.contextPath, options.nam
Login.c(118): e);\n
Login.c(118): options = {data: data};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return fn(context, options);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('each', function(context, options)
{\n
Login.c(118): if (!options) {\n
Login.c(118): throw new Exception('Must pass iterator to #each');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var fn = options.fn, inverse = options.inverse;\n
Login.c(118): var i = 0, ret = "", data;\n
Login.c(118): \n
Login.c(118): var contextPath;\n
Login.c(118): if (options.data && options.ids) {\n
Login.c(118): contextPath =
Utils.appendContextPath(options.data.contextPath, options.ids[0]) +
Login.c(118): '.';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (isFunction(context)) { context = context.ca
Login.c(118): t=5595ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): ll(this); }\n
Login.c(118): \n
Login.c(118): if (options.data) {\n
Login.c(118): data = createFrame(options.data);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if(context && typeof context === 'object') {\n
Login.c(118): if (isArray(context)) {\n
Login.c(118): for(var j = context.length; i<j; i++) {\n
Login.c(118): if (data) {\n
Login.c(118): data.index = i;\n
Login.c(118): data.first = (i === 0);\n
Login.c(118): data.last = (i === (context.length-1));\n
Login.c(118): \n
Login.c(118): if (contextPath) {\n
Login.c(118): data.contextPath = contextPath + i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): ret = ret + fn(context[i], { data: data });\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): for(var key in context) {\n
Login.c(118): if(context.hasOwnProperty(key)) {\n
Login.c(118): if(data) {\n
Login.c(118): data.key = key;\n
Login.c(118): data.index = i;\n
Login.c(118): data.first = (i === 0);\n
Login.c(118): \n
Login.c(118): if (contextPath) {\n
Login.c(118): data.contextPath = contextPath + key;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): ret = ret + fn(context[key], {data: data});\n
Login.c(118): i++;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if(i === 0){\n
Login.c(118): ret = inverse(this);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return ret;\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('if', function(conditional, options)
{\n
Login.c(118): if (isFunction(conditional)) { conditional =
conditional.call(this); }\n
Login.c(118): \n
Login.c(118): // Default behavior is to render the positive path if the
value is truthy and not em
Login.c(118): pty.\n
Login.c(118): // The `includeZero` option may be set to treat the
condtional as purely not empty b
Login.c(118): ased on the\n
Login.c(118): // behavior of isEmpty. Effectively this determines if 0 is
handled by the positive
Login.c(118): path or negative.\n
Login.c(118): if ((!options.hash.includeZero && !conditional) ||
Utils.isEmpty(conditional)) {\n
Login.c(118): return options.inverse(this);\n
Login.c(118): } else {\n
Login.c(118): return options.fn(this);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('unless', function(conditional,
options) {\n
Login.c(118): return instance.helpers['if'].call(this, conditional, {fn:
options.inverse, inverse:
Login.c(118): options.fn, hash: options.hash});\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('with', function(context, options)
{\n
Login.c(118): if (isFunction(context)) { context =
context.call(this); }\n
Login.c(118): \n
Login.c(118): var fn = options.fn;\n
Login.c(118): \n
Login.c(118): if (!Utils.isEmpty(context)) {\n
Login.c(118): if (options.data && options.ids) {\n
Login.c(118): var data = createFrame(options.data);\n
Login.c(118): data.contextPath =
Utils.appendContextPath(options.data.contextPath, options.ids
Login.c(118): [0]);\n
Login.c(118): options = {data:data};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return fn(context, options);\n
Login.c(118): } else {\n
Login.c(118): return options.inverse(this);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('log', function(message, options) {\n
Login.c(118): var level = options.data && options.data.level != null ?
parseInt(options.data.level
Login.c(118): , 10) : 1;\n
Login.c(118): instance.log(level, message);\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('lookup', function(obj, field) {\n
Login.c(118): return obj && obj[field];\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var logger = {\n
Login.c(118): methodMap: { 0: 'debug', 1: 'info', 2: 'warn', 3:
'error' },\n
Login.c(118): \n
Login.c(118): // State enum\n
Login.c(118): DEBUG: 0,\n
Login.c(118): INFO: 1,\n
Login.c(118): WARN: 2,\n
Login.c(118): ERROR: 3,\n
Login.c(118): level: 3,\n
Login.c(118): \n
Login.c(118): // can be overridden in the host environment\n
Login.c(118): log: function(level, message) {\n
Login.c(118): if (logger.level <= level) {\n
Login.c(118): var method = logger.methodMap[level];\n
Login.c(118): if (typeof console !== 'undefined' && console[method])
{\n
Login.c(118): console[method].call(console, message);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): __exports__.logger = logger;\n
Login.c(118): var log = logger.log;\n
Login.c(118): __exports__.log = log;\n
Login.c(118): var createFrame = function(object) {\n
Login.c(118): var frame = Utils.extend({}, object);\n
Login.c(118): frame._parent = object;\n
Login.c(118): return frame;\n
Login.c(118): };\n
Login.c(118): __exports__.createFrame = createFrame;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module3__, __module5__);\n
Login.c(118): \n
Login.c(118): // handlebars/runtime.js\n
Login.c(118): var __module6__ = (function(__dependency1__, __dependency2__,
__dependency3__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Utils = __dependency1__;\n
Login.c(118): var Exception = __dependency2__;\n
Login.c(118): var COMPILER_REVISION = __dependency3__.COMPILER_REVISION;\n
Login.c(118): var REVISION_CHANGES = __dependency3__.REVISION_CHANGES;\n
Login.c(118): var createFrame = __dependency3__.createFrame;\n
Login.c(118): \n
Login.c(118): function checkRevision(compilerInfo) {\n
Login.c(118): var compilerRevision = compilerInfo && compilerInfo[0] ||
1,\n
Login.c(118): currentRevision = COMPILER_REVISION;\n
Login.c(118): \n
Login.c(118): if (compilerRevision !== currentRevision) {\n
Login.c(118): if (compilerRevision < currentRevision) {\n
Login.c(118): var runtimeVersions =
REVISION_CHANGES[currentRevision],\n
Login.c(118): compilerVersions =
REVISION_CHANGES[compilerRevision];\n
Login.c(118): throw new Exception("Template was precompiled with an
older version of Handlebars
Login.c(118): than the current runtime. "+\n
Login.c(118): "Please update your precompiler to a newer version
("+runtimeVersions+") or
Login.c(118): downgrade your runtime to an older version
("+compilerVersions+").");\n
Login.c(118): } else {\n
Login.c(118): // Use the embedded version info since the runtime
doesn't know about this revisio
Login.c(118): n yet\n
Login.c(118): throw new Exception("Template was precompiled with a
newer version of Handlebars t
Login.c(118): han the current runtime. "+\n
Login.c(118): "Please update your runtime to a newer version
("+compilerInfo[1]+").");\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.checkRevision = checkRevision;// TODO: Remove this
line and break up compile
Login.c(118): Partial\n
Login.c(118): \n
Login.c(118): function template(templateSpec, env) {\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (!env) {\n
Login.c(118): throw new Exception("No environment passed to template");\n
Login.c(118): }\n
Login.c(118): if (!templateSpec || !templateSpec.main) {\n
Login.c(118): throw new Exception('Unknown template object: ' + typeof
templateSpec);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Note: Using env.VM references rather than local var
references throughout this sect
Login.c(118): ion to allow\n
Login.c(118): // for external users to override these as psuedo-supported
APIs.\n
Login.c(118): env.VM.checkRevision(templateSpec.compiler);\n
Login.c(118): \n
Login.c(118): var invokePartialWrapper = function(partial, indent, name,
context, hash, helpers, par
Login.c(118): tials, data, depths) {\n
Login.c(118): if (hash) {\n
Login.c(118): context = Utils.extend({}, context, hash);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var result = env.VM.invokePartial.call(this, partial, name,
context, helpers, partia
Login.c(118): ls, data, depths);\n
Login.c(118): \n
Login.c(118): if (result == null && env.compile) {\n
Login.c(118): var options = { helpers: helpers, partials: partials,
data: data, depths: depths }
Login.c(118): ;\n
Login.c(118): partials[name] = env.compile(partial, { data: data !==
undefined, compat: template
Login.c(118): Spec.compat }, env);\n
Login.c(118): result = partials[name](context, options);\n
Login.c(118): }\n
Login.c(118): if (result != null) {\n
Login.c(118): if (indent) {\n
Login.c(118): var lines = result.split('\\n');\n
Login.c(118): for (var i = 0, l = lines.length; i < l; i++) {\n
Login.c(118): if (!lines[i] && i + 1 === l) {\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): lines[i] = indent + lines[i];\n
Login.c(118): }\n
Login.c(118): result = lines.join('\\n');\n
Login.c(118): }\n
Login.c(118): return result;\n
Login.c(118): } else {\n
Login.c(118): throw new Exception("The partial " + name + " could not
be compiled when running i
Login.c(118): n runtime-only mode");\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // Just add water\n
Login.c(118): var container = {\n
Login.c(118): lookup: function(depths, name) {\n
Login.c(118): var len = depths.length;\n
Login.c(118): for (var i = 0; i < len; i++) {\n
Login.c(118): if (depths[i] && depths[i][name] != null) {\n
Login.c(118): return depths[i][name];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): lambda: function(current, context) {\n
Login.c(118): return typeof current === 'function' ?
current.call(context) : current;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): escapeExpression: Utils.escapeExpression,\n
Login.c(118): invokePartial: invokePartialWrapper,\n
Login.c(118): \n
Login.c(118): fn: function(i) {\n
Login.c(118): return templateSpec[i];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): programs: [],\n
Login.c(118): program: function(i, data, depths) {\n
Login.c(118): var programWrapper = this.programs[i],\n
Login.c(118): fn = this.fn(i);\n
Login.c(118): if (data || depths) {\n
Login.c(118): programWrapper = program(this, i, fn, data, depths);\n
Login.c(118): } else if (!programWrapper) {\n
Login.c(118): programWrapper = this.programs[i] = program(this, i,
fn);\n
Login.c(118): }\n
Login.c(118): return programWrapper;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): data: function(data, depth) {\n
Login.c(118): while (data && depth--) {\n
Login.c(118): data = data._parent;\n
Login.c(118): }\n
Login.c(118): return data;\n
Login.c(118): },\n
Login.c(118): merge: function(param, common) {\n
Login.c(118): var ret = param || common;\n
Login.c(118): \n
Login.c(118): if (param && common && (param !== common)) {\n
Login.c(118): ret = Utils.extend({}, common, param);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return ret;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): noop: env.VM.noop,\n
Login.c(118): compilerInfo: templateSpec.compiler\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var ret = function(context, options) {\n
Login.c(118): options = options || {};\n
Login.c(118): var data = options.data;\n
Login.c(118): \n
Login.c(118): ret._setup(options);\n
Login.c(118): if (!options.partial && templateSpec.useData) {\n
Login.c(118): data = initData(context, data);\n
Login.c(118): }\n
Login.c(118): var depths;\n
Login.c(118): if (templateSpec.useDepths) {\n
Login.c(118): depths = options.depths ?
[context].concat(options.depths) : [context];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return templateSpec.main.call(container, context,
container.helpers, container.parti
Login.c(118): als, data, depths);\n
Login.c(118): };\n
Login.c(118): ret.isTop = true;\n
Login.c(118): \n
Login.c(118): ret._setup = function(options) {\n
Login.c(118): if (!options.partial) {\n
Login.c(118): container.helpers = container.merge(options.helpers,
env.helpers);\n
Login.c(118): \n
Login.c(118): if (templateSpec.usePartial) {\n
Login.c(118): container.partials = container.merge(options.partials,
env.partials);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): container.helpers = options.helpers;\n
Login.c(118): container.partials = options.partials;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): ret._child = function(i, data, depths) {\n
Login.c(118): if (templateSpec.useDepths && !depths) {\n
Login.c(118): throw new Exception('must pass parent depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return program(container, i, templateSpec[i], data,
depths);\n
Login.c(118): };\n
Login.c(118): return ret;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.template = template;function program(container, i,
fn, data, depths) {\n
Login.c(118): var prog = function(context, options) {\n
Login.c(118): options = options || {};\n
Login.c(118): \n
Login.c(118): return fn.call(container, context, container.helpers,
container.partials, options.da
Login.c(118): ta || data, depths && [context].concat(depths));\n
Login.c(118): };\n
Login.c(118): prog.program = i;\n
Login.c(118): prog.depth = depths ? depths.length : 0;\n
Login.c(118): return prog;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.program = program;function invokePartial(partial,
name, context, helpers, pa
Login.c(118): rtials, data, depths) {\n
Login.c(118): var options = { partial: true, helpers: helpers, partials:
partials, data: data, depth
Login.c(118): s: depths };\n
Login.c(118): \n
Login.c(118): if(partial === undefined) {\n
Login.c(118): throw new Exception("The partial " + name + " could not be
found");\n
Login.c(118): } else if(partial instanceof Function) {\n
Login.c(118): return partial(context, options);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.invokePartial = invokePartial;function noop()
{ return ""; }\n
Login.c(118): \n
Login.c(118): __exports__.noop = noop;function initData(context, data) {\n
Login.c(118): if (!data || !('root' in data)) {\n
Login.c(118): data = data ? createFrame(data) : {};\n
Login.c(118): data.root = context;\n
Login.c(118): }\n
Login.c(118): return data;\n
Login.c(118): }\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module3__, __module5__, __module2__);\n
Login.c(118): \n
Login.c(118): // handlebars.runtime.js\n
Login.c(118): var __module1__ = (function(__dependency1__, __dependency2__,
__dependency3__, __dependenc
Login.c(118): y4__, __dependency5__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): /*globals Handlebars: true */\n
Login.c(118): var base = __dependency1__;\n
Login.c(118): \n
Login.c(118): // Each of these augment the Handlebars object. No need to
setup here.\n
Login.c(118): // (This is done to easily share code between commonjs and
browse envs)\n
Login.c(118): var SafeString = __dependency2__;\n
Login.c(118): var Exception = __dependency3__;\n
Login.c(118): var Utils = __dependency4__;\n
Login.c(118): var runtime = __dependency5__;\n
Login.c(118): \n
Login.c(118): // For compatibility and usage outside of module systems, make
the Handlebars object a n
Login.c(118): amespace\n
Login.c(118): var create = function() {\n
Login.c(118): var hb = new base.HandlebarsEnvironment();\n
Login.c(118): \n
Login.c(118): Utils.extend(hb, base);\n
Login.c(118): hb.SafeString = SafeString;\n
Login.c(118): hb.Exception = Exception;\n
Login.c(118): hb.Utils = Utils;\n
Login.c(118): hb.escapeExpression = Utils.escapeExpression;\n
Login.c(118): \n
Login.c(118): hb.VM = runtime;\n
Login.c(118): hb.template = function(spec) {\n
Login.c(118): return runtime.template(spec, hb);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): return hb;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var Handlebars = create();\n
Login.c(118): Handlebars.create = create;\n
Login.c(118): \n
Login.c(118): Handlebars['default'] = Handlebars;\n
Login.c(118): \n
Login.c(118): __exports__ = Handlebars;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module2__, __module4__, __module5__, __module3__,
__module6__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/ast.js\n
Login.c(118): var __module7__ = (function(__dependency1__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): var Exception = __dependency1__;\n
Login.c(118): \n
Login.c(118): function LocationInfo(locInfo) {\n
Login.c(118): locInfo = locInfo || {};\n
Login.c(118): this.firstLine = locInfo.first_line;\n
Login.c(118): this.firstColumn = locInfo.first_column;\n
Login.c(118): this.lastColumn = locInfo.last_column;\n
Login.c(118): this.lastLine = locInfo.last_line;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var AST = {\n
Login.c(118): ProgramNode: function(statements, strip, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "program";\n
Login.c(118): this.statements = statements;\n
Login.c(118): this.strip = strip;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): MustacheNode: function(rawParams, hash, open, strip, locInfo)
{\n
Login.c(118): LocationInf
Login.c(118): t=5613ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): o.call(this, locInfo);\n
Login.c(118): this.type = "mustache";\n
Login.c(118): this.strip = strip;\n
Login.c(118): \n
Login.c(118): // Open may be a string parsed from the parser or a passed
boolean flag\n
Login.c(118): if (open != null && open.charAt) {\n
Login.c(118): // Must use charAt to support IE pre-10\n
Login.c(118): var escapeFlag = open.charAt(3) || open.charAt(2);\n
Login.c(118): this.escaped = escapeFlag !== '{' && escapeFlag !==
'&';\n
Login.c(118): } else {\n
Login.c(118): this.escaped = !!open;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (rawParams instanceof AST.SexprNode) {\n
Login.c(118): this.sexpr = rawParams;\n
Login.c(118): } else {\n
Login.c(118): // Support old AST API\n
Login.c(118): this.sexpr = new AST.SexprNode(rawParams, hash);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Support old AST API that stored this info in
MustacheNode\n
Login.c(118): this.id = this.sexpr.id;\n
Login.c(118): this.params = this.sexpr.params;\n
Login.c(118): this.hash = this.sexpr.hash;\n
Login.c(118): this.eligibleHelper = this.sexpr.eligibleHelper;\n
Login.c(118): this.isHelper = this.sexpr.isHelper;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): SexprNode: function(rawParams, hash, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): \n
Login.c(118): this.type = "sexpr";\n
Login.c(118): this.hash = hash;\n
Login.c(118): \n
Login.c(118): var id = this.id = rawParams[0];\n
Login.c(118): var params = this.params = rawParams.slice(1);\n
Login.c(118): \n
Login.c(118): // a mustache is definitely a helper if:\n
Login.c(118): // * it is an eligible helper, and\n
Login.c(118): // * it has at least one parameter or hash segment\n
Login.c(118): this.isHelper = !!(params.length || hash);\n
Login.c(118): \n
Login.c(118): // a mustache is an eligible helper if:\n
Login.c(118): // * its id is simple (a single part, not `this` or `..`)\n
Login.c(118): this.eligibleHelper = this.isHelper || id.isSimple;\n
Login.c(118): \n
Login.c(118): // if a mustache is an eligible helper but not a definite\n
Login.c(118): // helper, it is ambiguous, and will be resolved in a
later\n
Login.c(118): // pass or at runtime.\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): PartialNode: function(partialName, context, hash, strip,
locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "partial";\n
Login.c(118): this.partialName = partialName;\n
Login.c(118): this.context = context;\n
Login.c(118): this.hash = hash;\n
Login.c(118): this.strip = strip;\n
Login.c(118): \n
Login.c(118): this.strip.inlineStandalone = true;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): BlockNode: function(mustache, program, inverse, strip,
locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): \n
Login.c(118): this.type = 'block';\n
Login.c(118): this.mustache = mustache;\n
Login.c(118): this.program = program;\n
Login.c(118): this.inverse = inverse;\n
Login.c(118): this.strip = strip;\n
Login.c(118): \n
Login.c(118): if (inverse && !program) {\n
Login.c(118): this.isInverse = true;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): RawBlockNode: function(mustache, content, close, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): \n
Login.c(118): if (mustache.sexpr.id.original !== close) {\n
Login.c(118): throw new Exception(mustache.sexpr.id.original + "
doesn't match " + close, this);
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): content = new AST.ContentNode(content, locInfo);\n
Login.c(118): \n
Login.c(118): this.type = 'block';\n
Login.c(118): this.mustache = mustache;\n
Login.c(118): this.program = new AST.ProgramNode([content], {},
locInfo);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): ContentNode: function(string, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "content";\n
Login.c(118): this.original = this.string = string;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): HashNode: function(pairs, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "hash";\n
Login.c(118): this.pairs = pairs;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): IdNode: function(parts, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "ID";\n
Login.c(118): \n
Login.c(118): var original = "",\n
Login.c(118): dig = [],\n
Login.c(118): depth = 0,\n
Login.c(118): depthString = '';\n
Login.c(118): \n
Login.c(118): for(var i=0,l=parts.length; i<l; i++) {\n
Login.c(118): var part = parts[i].part;\n
Login.c(118): original += (parts[i].separator || '') + part;\n
Login.c(118): \n
Login.c(118): if (part === ".." || part === "." || part === "this") {\n
Login.c(118): if (dig.length > 0) {\n
Login.c(118): throw new Exception("Invalid path: " + original,
this);\n
Login.c(118): } else if (part === "..") {\n
Login.c(118): depth++;\n
Login.c(118): depthString += '../';\n
Login.c(118): } else {\n
Login.c(118): this.isScoped = true;\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): dig.push(part);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.original = original;\n
Login.c(118): this.parts = dig;\n
Login.c(118): this.string = dig.join('.');\n
Login.c(118): this.depth = depth;\n
Login.c(118): this.idName = depthString + this.string;\n
Login.c(118): \n
Login.c(118): // an ID is simple if it only has one part, and that part
is not\n
Login.c(118): // `..` or `this`.\n
Login.c(118): this.isSimple = parts.length === 1 && !this.isScoped &&
depth === 0;\n
Login.c(118): \n
Login.c(118): this.stringModeValue = this.string;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): PartialNameNode: function(name, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "PARTIAL_NAME";\n
Login.c(118): this.name = name.original;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): DataNode: function(id, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "DATA";\n
Login.c(118): this.id = id;\n
Login.c(118): this.stringModeValue = id.stringModeValue;\n
Login.c(118): this.idName = '@' + id.stringModeValue;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): StringNode: function(string, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "STRING";\n
Login.c(118): this.original =\n
Login.c(118): this.string =\n
Login.c(118): this.stringModeValue = string;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): NumberNode: function(number, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "NUMBER";\n
Login.c(118): this.original =\n
Login.c(118): this.number = number;\n
Login.c(118): this.stringModeValue = Number(number);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): BooleanNode: function(bool, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "BOOLEAN";\n
Login.c(118): this.bool = bool;\n
Login.c(118): this.stringModeValue = bool === "true";\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): CommentNode: function(comment, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "comment";\n
Login.c(118): this.comment = comment;\n
Login.c(118): \n
Login.c(118): this.strip = {\n
Login.c(118): inlineStandalone: true\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // Must be exported as an object rather than the root of the
module as the jison lexer\n
Login.c(118): // most modify the object to operate properly.\n
Login.c(118): __exports__ = AST;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module5__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/parser.js\n
Login.c(118): var __module9__ = (function() {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): /* jshint ignore:start */\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): /* Jison generated parser */\n
Login.c(118): var handlebars = (function(){\n
Login.c(118): var parser = {trace: function trace() { },\n
Login.c(118): yy: {},\n
Login.c(118): symbols_:
{"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,
Login.c(118):
"mustache":8,"block":9,"rawBlock":10,"partial":11,"CONTENT":12,"COMMENT":13,"openRa
wBlock"
Login.c(118): :
14,"END_RAW_BLOCK":15,"OPEN_RAW_BLOCK":16,"sexpr":17,"CLOSE_RAW_BLOCK":18,"openBloc
k":19,
Login.c(118):
"block_option0":20,"closeBlock":21,"openInverse":22,"block_option1":23,"OPEN_BLOCK"
:24,"CL
Login.c(118):
OSE":25,"OPEN_INVERSE":26,"inverseAndProgram":27,"INVERSE":28,"OPEN_ENDBLOCK":29,"p
ath":30
Login.c(118): ,"OPEN":31,"OPEN_UNESCAPED":32,"CLOSE_UNESCAPED":33,"OPEN_PARTIAL
":34,"partialName":35,"pa
Login.c(118):
ram":36,"partial_option0":37,"partial_option1":38,"sexpr_repetition0":39,"sexpr_opt
ion0":4
Login.c(118):
0,"dataName":41,"STRING":42,"NUMBER":43,"BOOLEAN":44,"OPEN_SEXPR":45,"CLOSE_SEXPR":
46,"has
Login.c(118):
h":47,"hash_repetition_plus0":48,"hashSegment":49,"ID":50,"EQUALS":51,"DATA":52,"pa
thSegme
Login.c(118): nts":53,"SEP":54,"$accept":0,"$end":1},\n
Login.c(118): terminals_:
{2:"error",5:"EOF",12:"CONTENT",13:"COMMENT",15:"END_RAW_BLOCK",16:"OPEN_RAW
Login.c(118):
_BLOCK",18:"CLOSE_RAW_BLOCK",24:"OPEN_BLOCK",25:"CLOSE",26:"OPEN_INVERSE",28:"INVER
SE",29:
Login.c(118):
"OPEN_ENDBLOCK",31:"OPEN",32:"OPEN_UNESCAPED",33:"CLOSE_UNESCAPED",34:"OPEN_PARTIAL
",42:"S
Login.c(118):
TRING",43:"NUMBER",44:"BOOLEAN",45:"OPEN_SEXPR",46:"CLOSE_SEXPR",50:"ID",51:"EQUALS
",52:"D
Login.c(118): ATA",54:"SEP"},\n
Login.c(118): productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],
[7,1],[10,3],[14,3],[9,4],[9,
Login.c(118): 4],[19,3],[22,3],[27,2],[21,3],[8,3],[8,3],[11,5],[11,4],[17,3],
[17,1],[36,1],[36,1],[36,1
Login.c(118): ],[36,1],[36,1],[36,3],[47,1],[49,3],[35,1],[35,1],[35,1],[41,2],
[30,1],[53,3],[53,1],[6,0
Login.c(118): ],[6,2],[20,0],[20,1],[23,0],[23,1],[37,0],[37,1],[38,0],[38,1],
[39,0],[39,2],[40,0],[40,1
Login.c(118): ],[48,1],[48,2]],\n
Login.c(118): performAction: function
anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {\n
Login.c(118): \n
Login.c(118): var $0 = $$.length - 1;\n
Login.c(118): switch (yystate) {\n
Login.c(118): case 1: yy.prepareProgram($$[$0-1].statements, true); return $$
[$0-1]; \n
Login.c(118): break;\n
Login.c(118): case 2:this.$ = new yy.ProgramNode(yy.prepareProgram($$[$0]),
{}, this._$);\n
Login.c(118): break;\n
Login.c(118): case 3:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 4:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 5:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 6:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 7:this.$ = new yy.ContentNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 8:this.$ = new yy.CommentNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 9:this.$ = new yy.RawBlockNode($$[$0-2], $$[$0-1], $$[$0],
this._$);\n
Login.c(118): break;\n
Login.c(118): case 10:this.$ = new yy.MustacheNode($$[$0-1], null, '', '',
this._$);\n
Login.c(118): break;\n
Login.c(118): case 11:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1],
$$[$0], false, this._$);\n
Login.c(118): break;\n
Login.c(118): case 12:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1],
$$[$0], true, this._$);\n
Login.c(118): break;\n
Login.c(118): case 13:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 14:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 15:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]),
program: $$[$0] };\n
Login.c(118): break;\n
Login.c(118): case 16:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-
2], $$[$0])};\n
Login.c(118): break;\n
Login.c(118): case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 19:this.$ = new yy.PartialNode($$[$0-3], $$[$0-2], $$[$0-
1], yy.stripFlags($$[$0-4]
Login.c(118): , $$[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 20:this.$ = new yy.PartialNode($$[$0-2], undefined, $$[$0-
1], yy.stripFlags($$[$0-3
Login.c(118): ], $$[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 21:this.$ = new yy.SexprNode([$$[$0-2]].concat($$[$0-1]),
$$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 22:this.$ = new yy.SexprNode([$$[$0]], null, this._$);\n
Login.c(118): break;\n
Login.c(118): case 23:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 24:this.$ = new yy.StringNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 25:this.$ = new yy.NumberNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 26:this.$ = new yy.BooleanNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 27:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 28:$$[$0-1].isHelper = true; this.$ = $$[$0-1];\n
Login.c(118): break;\n
Login.c(118): case 29:this.$ = new yy.HashNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 30:this.$ = [$$[$0-2], $$[$0]];\n
Login.c(118): break;\n
Login.c(118): case 31:this.$ = new yy.PartialNameNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 32:this.$ = new yy.PartialNameNode(new yy.StringNode($$
[$0], this._$), this._$);\n
Login.c(118): break;\n
Login.c(118): case 33:this.$ = new yy.PartialNameNode(new yy.NumberNode($$
[$0], this._$));\n
Login.c(118): break;\n
Login.c(118): case 34:this.$ = new yy.DataNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 35:this.$ = new yy.IdNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 36: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]});
this.$ = $$[$0-2]; \n
Login.c(118): break;\n
Login.c(118): case 37:this.$ = [{part: $$[$0]}];\n
Login.c(118): break;\n
Login.c(118): case 38:this.$ = [];\n
Login.c(118): break;\n
Login.c(118): case 39:$$[$0-1].push($$[$0]);\n
Login.c(118): break;\n
Login.c(118): case 48:this.$ = [];\n
Login.c(118): break;\n
Login.c(118): case 49:$$[$0-1].push($$[$0]);\n
Login.c(118): break;\n
Login.c(118): case 52:this.$ = [$$[$0]];\n
Login.c(118): break;\n
Login.c(118): case 53:$$[$0-1].push($$[$0]);\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): table: [{3:1,4:2,5:[2,38],6:3,12:[2,38],13:[2,38],16:[2,38],24:
[2,38],26:[2,38],31:[2,38
Login.c(118): ],32:[2,38],34:[2,38]},{1:[3]},{5:[1,4]},{5:
[2,2],7:5,8:6,9:7,10:8,11:9,12:[1,10],13:[1,11
Login.c(118): ],14:16,16:[1,20],19:14,22:15,24:[1,18],26:[1,19],28:[2,2],29:
[2,2],31:[1,12],32:[1,13],34
Login.c(118): :[1,17]},{1:[2,1]},{5:[2,39],12:[2,39],13:[2,39],16:[2,39],24:
[2,39],26:[2,39],28:[2,39],2
Login.c(118): 9:[2,39],31:[2,39],32:[2,39],34:[2,39]},{5:[2,3],12:[2,3],13:
[2,3],16:[2,3],24:[2,3],26:[2
Login.c(118): ,3],28:[2,3],29:[2,3],31:[2,3],32:[2,3],34:[2,3]},{5:[2,4],12:
[2,4],13:[2,4],16:[2,4],24:[
Login.c(118): 2,4],26:[2,4],28:[2,4],29:[2,4],31:[2,4],32:[2,4],34:[2,4]},{5:
[2,5],12:[2,5],13:[2,5],16:
Login.c(118): [2,5],24:[2,5],26:[2,5],28:[2,5],29:[2,5],31:[2,5],32:[2,5],34:
[2,5]},{5:[2,6],12:[2,6],13
Login.c(118): :[2,6],16:[2,6],24:[2,6],26:[2,6],28:[2,6],29:[2,6],31:[2,6],32:
[2,6],34:[2,6]},{5:[2,7],1
Login.c(118): 2:[2,7],13:[2,7],16:[2,7],24:[2,7],26:[2,7],28:[2,7],29:[2,7],31:
[2,7],32:[2,7],34:[2,7]},
Login.c(118): {5:[2,8],12:[2,8],13:[2,8],16:[2,8],24:[2,8],26:[2,8],28:
[2,8],29:[2,8],31:[2,8],32:[2,8],
Login.c(118): 34:[2,8]},{17:21,30:22,41:23,50:[1,26],52:[1,25],53:24},
{17:27,30:22,41:23,50:[1,26],52:[1
Login.c(118): ,25],53:24},{4:28,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:
[2,38],28:[2,38],29:[2,38
Login.c(118): ],31:[2,38],32:[2,38],34:[2,38]},{4:29,6:3,12:[2,38],13:
[2,38],16:[2,38],24:[2,38],26:[2,3
Login.c(118): 8],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{12:
[1,30]},{30:32,35:31,42:[1,33],4
Login.c(118): 3:[1,34],50:[1,26],53:24},{17:35,30:22,41:23,50:[1,26],52:
[1,25],53:24},{17:36,30:22,41:23
Login.c(118): ,50:[1,26],52:[1,25],53:24},{17:37,30:22,41:23,50:[1,26],52:
[1,25],53:24},{25:[1,38]},{18:
Login.c(118): [2,48],25:[2,48],33:[2,48],39:39,42:[2,48],43:[2,48],44:
[2,48],45:[2,48],46:[2,48],50:[2,4
Login.c(118): 8],52:[
Login.c(118): t=5633ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): 2,48]},{18:[2,22],25:[2,22],33:[2,22],46:[2,22]},{18:[2,35],25:
[2,35],33:[2,35],42:[2,35],
Login.c(118): 43:[2,35],44:[2,35],45:[2,35],46:[2,35],50:[2,35],52:[2,35],54:
[1,40]},{30:41,50:[1,26],53
Login.c(118): :24},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:
[2,37],45:[2,37],46:[2,37],50:[
Login.c(118): 2,37],52:[2,37],54:[2,37]},{33:[1,42]},{20:43,27:44,28:[1,45],29:
[2,40]},{23:46,27:47,28:[
Login.c(118): 1,45],29:[2,42]},{15:[1,48]},{25:
[2,46],30:51,36:49,38:50,41:55,42:[1,52],43:[1,53],44:[1,
Login.c(118): 54],45:[1,56],47:57,48:58,49:60,50:[1,59],52:[1,25],53:24},{25:
[2,31],42:[2,31],43:[2,31],
Login.c(118): 44:[2,31],45:[2,31],50:[2,31],52:[2,31]},{25:[2,32],42:[2,32],43:
[2,32],44:[2,32],45:[2,32
Login.c(118): ],50:[2,32],52:[2,32]},{25:[2,33],42:[2,33],43:[2,33],44:
[2,33],45:[2,33],50:[2,33],52:[2,
Login.c(118): 33]},{25:[1,61]},{25:[1,62]},{18:[1,63]},{5:[2,17],12:[2,17],13:
[2,17],16:[2,17],24:[2,17]
Login.c(118): ,26:[2,17],28:[2,17],29:[2,17],31:[2,17],32:[2,17],34:[2,17]},
{18:[2,50],25:[2,50],30:51,3
Login.c(118): 3:[2,50],36:65,40:64,41:55,42:[1,52],43:[1,53],44:[1,54],45:
[1,56],46:[2,50],47:66,48:58,4
Login.c(118): 9:60,50:[1,59],52:[1,25],53:24},{50:[1,67]},{18:[2,34],25:
[2,34],33:[2,34],42:[2,34],43:[2
Login.c(118): ,34],44:[2,34],45:[2,34],46:[2,34],50:[2,34],52:[2,34]},{5:
[2,18],12:[2,18],13:[2,18],16:[
Login.c(118): 2,18],24:[2,18],26:[2,18],28:[2,18],29:[2,18],31:[2,18],32:
[2,18],34:[2,18]},{21:68,29:[1,
Login.c(118): 69]},{29:[2,41]},{4:70,6:3,12:[2,38],13:[2,38],16:[2,38],24:
[2,38],26:[2,38],29:[2,38],31:
Login.c(118): [2,38],32:[2,38],34:[2,38]},{21:71,29:[1,69]},{29:[2,43]},{5:
[2,9],12:[2,9],13:[2,9],16:[2
Login.c(118): ,9],24:[2,9],26:[2,9],28:[2,9],29:[2,9],31:[2,9],32:[2,9],34:
[2,9]},{25:[2,44],37:72,47:73
Login.c(118): ,48:58,49:60,50:[1,74]},{25:[1,75]},{18:[2,23],25:[2,23],33:
[2,23],42:[2,23],43:[2,23],44:
Login.c(118): [2,23],45:[2,23],46:[2,23],50:[2,23],52:[2,23]},{18:[2,24],25:
[2,24],33:[2,24],42:[2,24],4
Login.c(118): 3:[2,24],44:[2,24],45:[2,24],46:[2,24],50:[2,24],52:[2,24]},{18:
[2,25],25:[2,25],33:[2,25]
Login.c(118): ,42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],50:[2,25],52:
[2,25]},{18:[2,26],25:[2,2
Login.c(118): 6],33:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:
[2,26],50:[2,26],52:[2,26]},{18:[2
Login.c(118): ,27],25:[2,27],33:[2,27],42:[2,27],43:[2,27],44:[2,27],45:
[2,27],46:[2,27],50:[2,27],52:[2
Login.c(118): ,27]},{17:76,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[2,47]},
{18:[2,29],25:[2,29],33:[2
Login.c(118): ,29],46:[2,29],49:77,50:[1,74]},{18:[2,37],25:[2,37],33:
[2,37],42:[2,37],43:[2,37],44:[2,3
Login.c(118): 7],45:[2,37],46:[2,37],50:[2,37],51:[1,78],52:[2,37],54:[2,37]},
{18:[2,52],25:[2,52],33:[2
Login.c(118): ,52],46:[2,52],50:[2,52]},{12:[2,13],13:[2,13],16:[2,13],24:
[2,13],26:[2,13],28:[2,13],29:
Login.c(118): [2,13],31:[2,13],32:[2,13],34:[2,13]},{12:[2,14],13:[2,14],16:
[2,14],24:[2,14],26:[2,14],2
Login.c(118): 8:[2,14],29:[2,14],31:[2,14],32:[2,14],34:[2,14]},{12:[2,10]},
{18:[2,21],25:[2,21],33:[2,2
Login.c(118): 1],46:[2,21]},{18:[2,49],25:[2,49],33:[2,49],42:[2,49],43:
[2,49],44:[2,49],45:[2,49],46:[2
Login.c(118): ,49],50:[2,49],52:[2,49]},{18:[2,51],25:[2,51],33:[2,51],46:
[2,51]},{18:[2,36],25:[2,36],3
Login.c(118): 3:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],50:
[2,36],52:[2,36],54:[2,36]},
Login.c(118): {5:[2,11],12:[2,11],13:[2,11],16:[2,11],24:[2,11],26:[2,11],28:
[2,11],29:[2,11],31:[2,11],
Login.c(118): 32:[2,11],34:[2,11]},{30:79,50:[1,26],53:24},{29:[2,15]},{5:
[2,12],12:[2,12],13:[2,12],16:
Login.c(118): [2,12],24:[2,12],26:[2,12],28:[2,12],29:[2,12],31:[2,12],32:
[2,12],34:[2,12]},{25:[1,80]},
Login.c(118): {25:[2,45]},{51:[1,78]},{5:[2,20],12:[2,20],13:[2,20],16:
[2,20],24:[2,20],26:[2,20],28:[2,
Login.c(118): 20],29:[2,20],31:[2,20],32:[2,20],34:[2,20]},{46:[1,81]},{18:
[2,53],25:[2,53],33:[2,53],46
Login.c(118): :[2,53],50:[2,53]},{30:51,36:82,41:55,42:[1,52],43:[1,53],44:
[1,54],45:[1,56],50:[1,26],52
Login.c(118): :[1,25],53:24},{25:[1,83]},{5:[2,19],12:[2,19],13:[2,19],16:
[2,19],24:[2,19],26:[2,19],28:
Login.c(118): [2,19],29:[2,19],31:[2,19],32:[2,19],34:[2,19]},{18:[2,28],25:
[2,28],33:[2,28],42:[2,28],4
Login.c(118): 3:[2,28],44:[2,28],45:[2,28],46:[2,28],50:[2,28],52:[2,28]},{18:
[2,30],25:[2,30],33:[2,30]
Login.c(118): ,46:[2,30],50:[2,30]},{5:[2,16],12:[2,16],13:[2,16],16:[2,16],24:
[2,16],26:[2,16],28:[2,16
Login.c(118): ],29:[2,16],31:[2,16],32:[2,16],34:[2,16]}],\n
Login.c(118): defaultActions: {4:[2,1],44:[2,41],47:[2,43],57:[2,47],63:
[2,10],70:[2,15],73:[2,45]},\n
Login.c(118): parseError: function parseError(str, hash) {\n
Login.c(118): throw new Error(str);\n
Login.c(118): },\n
Login.c(118): parse: function parse(input) {\n
Login.c(118): var self = this, stack = [0], vstack = [null], lstack = [],
table = this.table, yyte
Login.c(118): xt = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2,
EOF = 1;\n
Login.c(118): this.lexer.setInput(input);\n
Login.c(118): this.lexer.yy = this.yy;\n
Login.c(118): this.yy.lexer = this.lexer;\n
Login.c(118): this.yy.parser = this;\n
Login.c(118): if (typeof this.lexer.yylloc == "undefined")\n
Login.c(118): this.lexer.yylloc = {};\n
Login.c(118): var yyloc = this.lexer.yylloc;\n
Login.c(118): lstack.push(yyloc);\n
Login.c(118): var ranges = this.lexer.options &&
this.lexer.options.ranges;\n
Login.c(118): if (typeof this.yy.parseError === "function")\n
Login.c(118): this.parseError = this.yy.parseError;\n
Login.c(118): function popStack(n) {\n
Login.c(118): stack.length = stack.length - 2 * n;\n
Login.c(118): vstack.length = vstack.length - n;\n
Login.c(118): lstack.length = lstack.length - n;\n
Login.c(118): }\n
Login.c(118): function lex() {\n
Login.c(118): var token;\n
Login.c(118): token = self.lexer.lex() || 1;\n
Login.c(118): if (typeof token !== "number") {\n
Login.c(118): token = self.symbols_[token] || token;\n
Login.c(118): }\n
Login.c(118): return token;\n
Login.c(118): }\n
Login.c(118): var symbol, preErrorSymbol, state, action, a, r, yyval =
{}, p, len, newState, expec
Login.c(118): ted;\n
Login.c(118): while (true) {\n
Login.c(118): state = stack[stack.length - 1];\n
Login.c(118): if (this.defaultActions[state]) {\n
Login.c(118): action = this.defaultActions[state];\n
Login.c(118): } else {\n
Login.c(118): if (symbol === null || typeof symbol ==
"undefined") {\n
Login.c(118): symbol = lex();\n
Login.c(118): }\n
Login.c(118): action = table[state] && table[state][symbol];\n
Login.c(118): }\n
Login.c(118): if (typeof action === "undefined" || !action.length
|| !action[0]) {\n
Login.c(118): var errStr = "";\n
Login.c(118): if (!recovering) {\n
Login.c(118): expected = [];\n
Login.c(118): for (p in table[state])\n
Login.c(118): if (this.terminals_[p] && p > 2) {\n
Login.c(118): expected.push("'" + this.terminals_[p]
+ "'");\n
Login.c(118): }\n
Login.c(118): if (this.lexer.showPosition) {\n
Login.c(118): errStr = "Parse error on line " + (yylineno
+ 1) + ":\\n" + this.lex
Login.c(118): er.showPosition() + "\\nExpecting " + expected.join(", ") + ",
got '" + (this.terminals_[s
Login.c(118): ymbol] || symbol) + "'";\n
Login.c(118): } else {\n
Login.c(118): errStr = "Parse error on line " + (yylineno
+ 1) + ": Unexpected " +
Login.c(118): (symbol == 1?"end of input":"'" + (this.terminals_[symbol] ||
symbol) + "'");\n
Login.c(118): }\n
Login.c(118): this.parseError(errStr, {text:
this.lexer.match, token: this.terminals_[
Login.c(118): symbol] || symbol, line: this.lexer.yylineno, loc: yyloc,
expected: expected});\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (action[0] instanceof Array && action.length > 1)
{\n
Login.c(118): throw new Error("Parse Error: multiple actions
possible at state: " + state
Login.c(118): + ", token: " + symbol);\n
Login.c(118): }\n
Login.c(118): switch (action[0]) {\n
Login.c(118): case 1:\n
Login.c(118): stack.push(symbol);\n
Login.c(118): vstack.push(this.lexer.yytext);\n
Login.c(118): lstack.push(this.lexer.yylloc);\n
Login.c(118): stack.push(action[1]);\n
Login.c(118): symbol = null;\n
Login.c(118): if (!preErrorSymbol) {\n
Login.c(118): yyleng = this.lexer.yyleng;\n
Login.c(118): yytext = this.lexer.yytext;\n
Login.c(118): yylineno = this.lexer.yylineno;\n
Login.c(118): yyloc = this.lexer.yylloc;\n
Login.c(118): if (recovering > 0)\n
Login.c(118): recovering--;\n
Login.c(118): } else {\n
Login.c(118): symbol = preErrorSymbol;\n
Login.c(118): preErrorSymbol = null;\n
Login.c(118): }\n
Login.c(118): break;\n
Login.c(118): case 2:\n
Login.c(118): len = this.productions_[action[1]][1];\n
Login.c(118): yyval.$ = vstack[vstack.length - len];\n
Login.c(118): yyval._$ = {first_line: lstack[lstack.length - (len
|| 1)].first_line, last_
Login.c(118): line: lstack[lstack.length - 1].last_line, first_column:
lstack[lstack.length - (len || 1)
Login.c(118): ].first_column, last_column: lstack[lstack.length -
1].last_column};\n
Login.c(118): if (ranges) {\n
Login.c(118): yyval._$.range = [lstack[lstack.length - (len
|| 1)].range[0], lstack[ls
Login.c(118): tack.length - 1].range[1]];\n
Login.c(118): }\n
Login.c(118): r = this.performAction.call(yyval, yytext, yyleng,
yylineno, this.yy, action
Login.c(118): [1], vstack, lstack);\n
Login.c(118): if (typeof r !== "undefined") {\n
Login.c(118): return r;\n
Login.c(118): }\n
Login.c(118): if (len) {\n
Login.c(118): stack = stack.slice(0, -1 * len * 2);\n
Login.c(118): vstack = vstack.slice(0, -1 * len);\n
Login.c(118): lstack = lstack.slice(0, -1 * len);\n
Login.c(118): }\n
Login.c(118): stack.push(this.productions_[action[1]][0]);\n
Login.c(118): vstack.push(yyval.$);\n
Login.c(118): lstack.push(yyval._$);\n
Login.c(118): newState = table[stack[stack.length - 2]]
[stack[stack.length - 1]];\n
Login.c(118): stack.push(newState);\n
Login.c(118): break;\n
Login.c(118): case 3:\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): /* Jison generated lexer */\n
Login.c(118): var lexer = (function(){\n
Login.c(118): var lexer = ({EOF:1,\n
Login.c(118): parseError:function parseError(str, hash) {\n
Login.c(118): if (this.yy.parser) {\n
Login.c(118): this.yy.parser.parseError(str, hash);\n
Login.c(118): } else {\n
Login.c(118): throw new Error(str);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): setInput:function (input) {\n
Login.c(118): this._input = input;\n
Login.c(118): this._more = this._less = this.done = false;\n
Login.c(118): this.yylineno = this.yyleng = 0;\n
Login.c(118): this.yytext = this.matched = this.match = '';\n
Login.c(118): this.conditionStack = ['INITIAL'];\n
Login.c(118): this.yylloc =
{first_line:1,first_column:0,last_line:1,last_column:0};\n
Login.c(118): if (this.options.ranges) this.yylloc.range = [0,0];\n
Login.c(118): this.offset = 0;\n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): input:function () {\n
Login.c(118): var ch = this._input[0];\n
Login.c(118): this.yytext += ch;\n
Login.c(118): this.yyleng++;\n
Login.c(118): this.offset++;\n
Login.c(118): this.match += ch;\n
Login.c(118): this.matched += ch;\n
Login.c(118): var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n
Login.c(118): if (lines) {\n
Login.c(118): this.yylineno++;\n
Login.c(118): this.yylloc.last_line++;\n
Login.c(118): } else {\n
Login.c(118): this.yylloc.last_column++;\n
Login.c(118): }\n
Login.c(118): if (this.options.ranges) this.yylloc.range[1]++;\n
Login.c(118): \n
Login.c(118): this._input = this._input.slice(1);\n
Login.c(118): return ch;\n
Login.c(118): },\n
Login.c(118): unput:function (ch) {\n
Login.c(118): var len = ch.length;\n
Login.c(118): var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n
Login.c(118): \n
Login.c(118): this._input = ch + this._input;\n
Login.c(118): this.yytext = this.yytext.substr(0, this.yytext.length-
len-1);\n
Login.c(118): //this.yyleng -= len;\n
Login.c(118): this.offset -= len;\n
Login.c(118): var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n
Login.c(118): this.match = this.match.substr(0, this.match.length-
1);\n
Login.c(118): this.matched = this.matched.substr(0,
this.matched.length-1);\n
Login.c(118): \n
Login.c(118): if (lines.length-1) this.yylineno -= lines.length-1;\n
Login.c(118): var r = this.yylloc.range;\n
Login.c(118): \n
Login.c(118): this.yylloc = {first_line: this.yylloc.first_line,\n
Login.c(118): last_line: this.yylineno+1,\n
Login.c(118): first_column: this.yylloc.first_column,\n
Login.c(118): last_column: lines ?\n
Login.c(118): (lines.length === oldLines.length ?
this.yylloc.first_column : 0) + oldLin
Login.c(118): es[oldLines.length - lines.length].length - lines[0].length:\n
Login.c(118): this.yylloc.first_column - len\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): if (this.options.ranges) {\n
Login.c(118): this.yylloc.range = [r[0], r[0] + this.yyleng -
len];\n
Login.c(118): }\n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): more:function () {\n
Login.c(118): this._more = true;\n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): less:function (n) {\n
Login.c(118): this.unput(this.match.slice(n));\n
Login.c(118): },\n
Login.c(118): pastInput:function () {\n
Login.c(118): var past = this.matched.substr(0, this.matched.length -
this.match.length);\n
Login.c(118): return (past.length > 20 ? '...':'') + past.substr(-
20).replace(/\\n/g, "");\n
Login.c(118): },\n
Login.c(118): upcomingInput:function () {\n
Login.c(118): var next = this.match;\n
Login.c(118): if (next.length < 20) {\n
Login.c(118): next += this._input.substr(0, 20-next.length);\n
Login.c(118): }\n
Login.c(118): return (next.substr(0,20)+(next.length > 20 ?
'...':'')).replace(/\\n/g, "");\n
Login.c(118): },\n
Login.c(118): showPosition:function () {\n
Login.c(118): var pre = this.pastInput();\n
Login.c(118): var c = new Array(pre.length + 1).join("-");\n
Login.c(118): return pre + this.upcomingInput() + "\\n" + c+"^";\n
Login.c(118): },\n
Login.c(118): next:function () {\n
Login.c(118): if (this.done) {\n
Login.c(118): return this.EOF;\n
Login.c(118): }\n
Login.c(118): if (!this._input) this.done = true;\n
Login.c(118): \n
Login.c(118): var token,\n
Login.c(118): match,\n
Login.c(118): tempMatch,\n
Login.c(118): index,\n
Login.c(118): col,\n
Login.c(118): lines;\n
Login.c(118): if (!this._more) {\n
Login.c(118): this.yytext = '';
Login.c(118): t=5645ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): \n
Login.c(118): this.match = '';\n
Login.c(118): }\n
Login.c(118): var rules = this._currentRules();\n
Login.c(118): for (var i=0;i < rules.length; i++) {\n
Login.c(118): tempMatch =
this._input.match(this.rules[rules[i]]);\n
Login.c(118): if (tempMatch && (!match || tempMatch[0].length >
match[0].length)) {\n
Login.c(118): match = tempMatch;\n
Login.c(118): index = i;\n
Login.c(118): if (!this.options.flex) break;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (match) {\n
Login.c(118): lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n
Login.c(118): if (lines) this.yylineno += lines.length;\n
Login.c(118): this.yylloc = {first_line: this.yylloc.last_line,\n
Login.c(118): last_line: this.yylineno+1,\n
Login.c(118): first_column:
this.yylloc.last_column,\n
Login.c(118): last_column: lines ?
lines[lines.length-1].length-lines[lines
Login.c(118): .length-1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column
+ match[0].length};\n
Login.c(118): this.yytext += match[0];\n
Login.c(118): this.match += match[0];\n
Login.c(118): this.matches = match;\n
Login.c(118): this.yyleng = this.yytext.length;\n
Login.c(118): if (this.options.ranges) {\n
Login.c(118): this.yylloc.range = [this.offset, this.offset
+= this.yyleng];\n
Login.c(118): }\n
Login.c(118): this._more = false;\n
Login.c(118): this._input = this._input.slice(match[0].length);\n
Login.c(118): this.matched += match[0];\n
Login.c(118): token = this.performAction.call(this, this.yy,
this, rules[index],this.condi
Login.c(118): tionStack[this.conditionStack.length-1]);\n
Login.c(118): if (this.done && this._input) this.done = false;\n
Login.c(118): if (token) return token;\n
Login.c(118): else return;\n
Login.c(118): }\n
Login.c(118): if (this._input === "") {\n
Login.c(118): return this.EOF;\n
Login.c(118): } else {\n
Login.c(118): return this.parseError('Lexical error on line '+
(this.yylineno+1)+'. Unrecog
Login.c(118): nized text.\\n'+this.showPosition(),\n
Login.c(118): {text: "", token: null, line:
this.yylineno});\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): lex:function lex() {\n
Login.c(118): var r = this.next();\n
Login.c(118): if (typeof r !== 'undefined') {\n
Login.c(118): return r;\n
Login.c(118): } else {\n
Login.c(118): return this.lex();\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): begin:function begin(condition) {\n
Login.c(118): this.conditionStack.push(condition);\n
Login.c(118): },\n
Login.c(118): popState:function popState() {\n
Login.c(118): return this.conditionStack.pop();\n
Login.c(118): },\n
Login.c(118): _currentRules:function _currentRules() {\n
Login.c(118): return
this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;
Login.c(118): \n
Login.c(118): },\n
Login.c(118): topState:function () {\n
Login.c(118): return this.conditionStack[this.conditionStack.length-
2];\n
Login.c(118): },\n
Login.c(118): pushState:function begin(condition) {\n
Login.c(118): this.begin(condition);\n
Login.c(118): }});\n
Login.c(118): lexer.options = {};\n
Login.c(118): lexer.performAction = function anonymous(yy,yy_,
$avoiding_name_collisions,YY_START) {\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function strip(start, end) {\n
Login.c(118): return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-
end);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var YYSTATE=YY_START\n
Login.c(118): switch($avoiding_name_collisions) {\n
Login.c(118): case 0:\n
Login.c(118): if(yy_.yytext.slice(-2) ===
"\\\\\\\\") {\n
Login.c(118): strip(0,1);\n
Login.c(118): this.begin("mu");\n
Login.c(118): } else if(yy_.yytext.slice(-
1) === "\\\\") {\n
Login.c(118): strip(0,1);\n
Login.c(118): this.begin("emu");\n
Login.c(118): } else {\n
Login.c(118): this.begin("mu");\n
Login.c(118): }\n
Login.c(118): if(yy_.yytext) return 12;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 1:return 12;\n
Login.c(118): break;\n
Login.c(118): case 2:\n
Login.c(118): this.popState();\n
Login.c(118): return 12;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 3:\n
Login.c(118): yy_.yytext =
yy_.yytext.substr(5, yy_.yyleng-9);\n
Login.c(118): this.popState();\n
Login.c(118): return 15;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 4: return 12; \n
Login.c(118): break;\n
Login.c(118): case 5:strip(0,4); this.popState(); return 13;\n
Login.c(118): break;\n
Login.c(118): case 6:return 45;\n
Login.c(118): break;\n
Login.c(118): case 7:return 46;\n
Login.c(118): break;\n
Login.c(118): case 8: return 16; \n
Login.c(118): break;\n
Login.c(118): case 9:\n
Login.c(118): this.popState();\n
Login.c(118): this.begin('raw');\n
Login.c(118): return 18;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 10:return 34;\n
Login.c(118): break;\n
Login.c(118): case 11:return 24;\n
Login.c(118): break;\n
Login.c(118): case 12:return 29;\n
Login.c(118): break;\n
Login.c(118): case 13:this.popState(); return 28;\n
Login.c(118): break;\n
Login.c(118): case 14:this.popState(); return 28;\n
Login.c(118): break;\n
Login.c(118): case 15:return 26;\n
Login.c(118): break;\n
Login.c(118): case 16:return 26;\n
Login.c(118): break;\n
Login.c(118): case 17:return 32;\n
Login.c(118): break;\n
Login.c(118): case 18:return 31;\n
Login.c(118): break;\n
Login.c(118): case 19:this.popState(); this.begin('com');\n
Login.c(118): break;\n
Login.c(118): case 20:strip(3,5); this.popState(); return 13;\n
Login.c(118): break;\n
Login.c(118): case 21:return 31;\n
Login.c(118): break;\n
Login.c(118): case 22:return 51;\n
Login.c(118): break;\n
Login.c(118): case 23:return 50;\n
Login.c(118): break;\n
Login.c(118): case 24:return 50;\n
Login.c(118): break;\n
Login.c(118): case 25:return 54;\n
Login.c(118): break;\n
Login.c(118): case 26:// ignore whitespace\n
Login.c(118): break;\n
Login.c(118): case 27:this.popState(); return 33;\n
Login.c(118): break;\n
Login.c(118): case 28:this.popState(); return 25;\n
Login.c(118): break;\n
Login.c(118): case 29:yy_.yytext = strip(1,2).replace(/\\\\"/g,'"'); return
42;\n
Login.c(118): break;\n
Login.c(118): case 30:yy_.yytext = strip(1,2).replace(/\\\\'/g,"'"); return
42;\n
Login.c(118): break;\n
Login.c(118): case 31:return 52;\n
Login.c(118): break;\n
Login.c(118): case 32:return 44;\n
Login.c(118): break;\n
Login.c(118): case 33:return 44;\n
Login.c(118): break;\n
Login.c(118): case 34:return 43;\n
Login.c(118): break;\n
Login.c(118): case 35:return 50;\n
Login.c(118): break;\n
Login.c(118): case 36:yy_.yytext = strip(1,2); return 50;\n
Login.c(118): break;\n
Login.c(118): case 37:return 'INVALID';\n
Login.c(118): break;\n
Login.c(118): case 38:return 5;\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): lexer.rules = [/^(?:[^\\x00]*?(?=(\\{\\{)))/,/^(?:
[^\\x00]+)/,/^(?:[^\\x00]{2,}?(?=(\\{\\
Login.c(118): {|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/,/^(?:\\{\\{\\{\\{\\/[^\\s!"#
%-,\\.\\/;->@\\[-\\^`\\{-~]+
Login.c(118): (?=[=}\\s\\/.])\\}\\}\\}\\})/,/^(?:[^\\x00]*?(?=(\\{\\{\\{\\
{\\/)))/,/^(?:[\\s\\S]*?--\\}\\
Login.c(118): })/,/^(?:\\()/,/^(?:\\))/,/^(?:\\{\\{\\{\\
{)/,/^(?:\\}\\}\\}\\})/,/^(?:\\{\\{(~)?>)/,/^(?:
Login.c(118): \\{\\{(~)?#)/,/^(?:\\{\\{(~)?\\/)/,/^(?:\\{\\
{(~)?\\^\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\s*e
Login.c(118): lse\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\^)/,/^(?:\\{\\
{(~)?\\s*else\\b)/,/^(?:\\{\\{(~)?\\{)/
Login.c(118): ,/^(?:\\{\\{(~)?&)/,/^(?:\\{\\{!--)/,/^(?:\\{\\{!
[\\s\\S]*?\\}\\})/,/^(?:\\{\\{(~)?)/,/^(?
Login.c(118): :=)/,/^(?:\\.\\.)/,/^(?:\\.(?=([=~}\\s\\/.)])))/,/^(?:
[\\/.])/,/^(?:\\s+)/,/^(?:\\}(~)?\\}
Login.c(118): \\})/,/^(?:(~)?\\}\\})/,/^(?:"(\\\\["]|[^"])*")/,/^(?:'(\\\\[']|
[^'])*')/,/^(?:@)/,/^(?:tr
Login.c(118): ue(?=([~}\\s)])))/,/^(?:false(?=([~}\\s)])))/,/^(?:-?[0-9]+(?:\\.
[0-9]+)?(?=([~}\\s)])))/,
Login.c(118): /^(?:([^\\s!"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?
=([=~}\\s\\/.)]))))/,/^(?:\\[[^\\]]*\\])/,/^(?
Login.c(118): :.)/,/^(?:$)/];\n
Login.c(118): lexer.conditions = {"mu":{"rules":
[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
Login.c(118):
25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":false},"emu":{"rules":
[2],"inclusiv
Login.c(118): e":false},"com":{"rules":[5],"inclusive":false},"raw":{"rules":
[3,4],"inclusive":false},"I
Login.c(118): NITIAL":{"rules":[0,1,38],"inclusive":true}};\n
Login.c(118): return lexer;})()\n
Login.c(118): parser.lexer = lexer;\n
Login.c(118): function Parser () { this.yy = {}; }Parser.prototype =
parser;parser.Parser = Parser;\n
Login.c(118): return new Parser;\n
Login.c(118): })();__exports__ = handlebars;\n
Login.c(118): /* jshint ignore:end */\n
Login.c(118): return __exports__;\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/helpers.js\n
Login.c(118): var __module10__ = (function(__dependency1__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Exception = __dependency1__;\n
Login.c(118): \n
Login.c(118): function stripFlags(open, close) {\n
Login.c(118): return {\n
Login.c(118): left: open.charAt(2) === '~',\n
Login.c(118): right: close.charAt(close.length-3) === '~'\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.stripFlags = stripFlags;\n
Login.c(118): function prepareBlock(mustache, program, inverseAndProgram,
close, inverted, locInfo) {\n
Login.c(118): /*jshint -W040 */\n
Login.c(118): if (mustache.sexpr.id.original !== close.path.original) {\n
Login.c(118): throw new Exception(mustache.sexpr.id.original + '
doesn\\'t match ' + close.path.or
Login.c(118): iginal, mustache);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var inverse = inverseAndProgram &&
inverseAndProgram.program;\n
Login.c(118): \n
Login.c(118): var strip = {\n
Login.c(118): left: mustache.strip.left,\n
Login.c(118): right: close.strip.right,\n
Login.c(118): \n
Login.c(118): // Determine the standalone candiacy. Basically flag our
content as being possibly s
Login.c(118): tandalone\n
Login.c(118): // so our parent can determine if we actually are
standalone\n
Login.c(118): openStandalone: isNextWhitespace(program.statements),\n
Login.c(118): closeStandalone: isPrevWhitespace((inverse ||
program).statements)\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): if (mustache.strip.right) {\n
Login.c(118): omitRight(program.statements, null, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inverse) {\n
Login.c(118): var inverseStrip = inverseAndProgram.strip;\n
Login.c(118): \n
Login.c(118): if (inverseStrip.left) {\n
Login.c(118): omitLeft(program.statements, null, true);\n
Login.c(118): }\n
Login.c(118): if (inverseStrip.right) {\n
Login.c(118): omitRight(inverse.statements, null, true);\n
Login.c(118): }\n
Login.c(118): if (close.strip.left) {\n
Login.c(118): omitLeft(inverse.statements, null, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Find standalone else statments\n
Login.c(118): if (isPrevWhitespace(program.statements)\n
Login.c(118): && isNextWhitespace(inverse.statements)) {\n
Login.c(118): \n
Login.c(118): omitLeft(program.statements);\n
Login.c(118): omitRight(inverse.statements);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (close.strip.left) {\n
Login.c(118): omitLeft(program.statements, null, true);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inverted) {\n
Login.c(118): return new this.BlockNode(mustache, inverse, program,
strip, locInfo);\n
Login.c(118): } else {\n
Login.c(118): return new this.BlockNode(mustache, program, inverse,
strip, locInfo);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.prepareBlock = prepareBlock;\n
Login.c(118): function prepareProgram(statements, isRoot) {\n
Login.c(118): for (var i = 0, l = statements.length; i < l; i++) {\n
Login.c(118): var current = statements[i],\n
Login.c(118): strip = current.strip;\n
Login.c(118): \n
Login.c(118): if (!strip) {\n
Login.c(118): continue;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var _isPrevWhitespace = isPrevWhitespace(statements, i,
isRoot, current.type === 'pa
Login.c(118): rtial'),\n
Login.c(118): _isNextWhitespace = isNextWhitespace(statements, i,
isRoot),\n
Login.c(118): \n
Login.c(118): openStandalone = strip.openStandalone &&
_isPrevWhitespace,\n
Login.c(118): closeStandalone = strip.closeStandalone &&
_isNextWhitespace,\n
Login.c(118): inlineStandalone = strip.inlineStandalone &&
_isPrevWhitespace && _isNextWhitesp
Login.c(118): ace;\n
Login.c(118): \n
Login.c(118): if (strip.right) {\n
Login.c(118): omitRight(statements, i, true);\n
Login.c(118): }\n
Login.c(118): if (strip.left) {\n
Login.c(118): omitLeft(statements, i, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inlineStandalone) {\n
Login.c(118): omitRight(statements, i);\n
Login.c(118): \n
Login.c(118): if (omitLeft(statements, i)) {\n
Login.c(118): // If we are on a standalone node, save the indent info
for partials\n
Login.c(118): if (current.type === 'partial') {\n
Login.c(118): current.indent = (/([ \\t]+$)/).exec(statements[i-
1].original) ? RegExp.$1 : '
Login.c(118): ';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (openStandalone) {\n
Login.c(118): omitRight((current.program ||
current.inverse).statements);\n
Login.c(118): \n
Login.c(118): // Strip out the previous content node if it's whitespace
only\n
Login.c(118): omitLeft(statements, i);\n
Login.c(118): }\n
Login.c(118): if (closeStandalone) {\n
Login.c(118): // Always strip the next node\n
Login.c(118): omitRight(statements, i);\n
Login.c(118): \n
Login.c(118): omitLeft((current.inverse ||
current.program).statements);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return statements;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.prepareProgram = prepareProgram;function
isPrevWhitespace(statements, i, isR
Login.c(118): oot) {\n
Login.c(118): if (i === undefined) {\n
Login.c(118): i = statements.length;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Nodes that end with newlines are considered whitespace
(but are special\n
Login.c(118): // cased for strip operations)\n
Login.c(118): var prev = statements[i-1],\n
Login.c(118): sibling = statements[i-2];\n
Login.c(118): if (!prev) {\n
Login.c(118): return isRoot;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (prev.type === 'content') {\n
Login.c(118): return (sibling || !isRoot ? (/\\r?\\n\\s*?$/) : (/
(^|\\r?\\n)\\s*?$/)).test(prev.or
Login.c(118): iginal);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): function isNextWhitespace(statements, i, isRoot) {\n
Login.c(118): if (i === undefined) {\n
Login.c(118): i = -1;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var next = statements[i+1],\n
Login.c(118): sibling = statements[i+2];\n
Login.c(118): if (!next) {\n
Login.c(118): return isRoot;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (next.type === 'content') {\n
Login.c(118): return (sibling || !isRoot ? (/^\\s*?\\r?\\n/) : (/^\\s*?
(\\r?\\n|$)/)).test(next.or
Login.c(118): iginal);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Marks the node to the right of the position as omitted.\n
Login.c(118): // I.e. {{foo}}' ' will mark the ' ' node as omitted.\n
Login.c(118): //\n
Login.c(118): // If i is undefined, then the first child will be marked as
such.\n
Login.c(118): //\n
Login.c(118): // If mulitple is truthy then all whitespace will be stripped
out until non-whitespace\n
Login.c(118): // content is met.\n
Login.c(118): function omitRight(statements, i, multiple) {\n
Login.c(118): var current = statements[i == null ? 0 : i + 1];\n
Login.c(118): if (!current || current.type !== 'content' || (!multiple &&
current.rightStripped)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var original = current.string;\n
Login.c(118): current.string = current.string.replace(multiple ?
(/^\\s+/) : (/^[ \\t]*\\r?\\n?/), '
Login.c(118): ');\n
Login.c(118): current.rightStripped = current.string !== original;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Marks the node to the left of the position as omitted.\n
Login.c(118): // I.e. ' '{{foo}} will mark the ' ' node as omitted.\n
Login.c(118): //\n
Login.c(118): // If i is
Login.c(118): t=5668ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): undefined then the last child will be marked as such.\n
Login.c(118): //\n
Login.c(118): // If mulitple is truthy then all whitespace will be stripped
out until non-whitespace\n
Login.c(118): // content is met.\n
Login.c(118): function omitLeft(statements, i, multiple) {\n
Login.c(118): var current = statements[i == null ? statements.length - 1 :
i - 1];\n
Login.c(118): if (!current || current.type !== 'content' || (!multiple &&
current.leftStripped)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // We omit the last node if it's whitespace only and not
preceeded by a non-content no
Login.c(118): de.\n
Login.c(118): var original = current.string;\n
Login.c(118): current.string = current.string.replace(multiple ? (/\\s+
$/) : (/[ \\t]+$/), '');\n
Login.c(118): current.leftStripped = current.string !== original;\n
Login.c(118): return current.leftStripped;\n
Login.c(118): }\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module5__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/base.js\n
Login.c(118): var __module8__ = (function(__dependency1__, __dependency2__,
__dependency3__, __dependenc
Login.c(118): y4__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var parser = __dependency1__;\n
Login.c(118): var AST = __dependency2__;\n
Login.c(118): var Helpers = __dependency3__;\n
Login.c(118): var extend = __dependency4__.extend;\n
Login.c(118): \n
Login.c(118): __exports__.parser = parser;\n
Login.c(118): \n
Login.c(118): var yy = {};\n
Login.c(118): extend(yy, Helpers, AST);\n
Login.c(118): \n
Login.c(118): function parse(input) {\n
Login.c(118): // Just return if an already-compile AST was passed in.\n
Login.c(118): if (input.constructor === AST.ProgramNode) { return
input; }\n
Login.c(118): \n
Login.c(118): parser.yy = yy;\n
Login.c(118): \n
Login.c(118): return parser.parse(input);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.parse = parse;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module9__, __module7__, __module10__, __module3__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/compiler.js\n
Login.c(118): var __module11__ = (function(__dependency1__, __dependency2__)
{\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Exception = __dependency1__;\n
Login.c(118): var isArray = __dependency2__.isArray;\n
Login.c(118): \n
Login.c(118): var slice = [].slice;\n
Login.c(118): \n
Login.c(118): function Compiler() {}\n
Login.c(118): \n
Login.c(118): __exports__.Compiler = Compiler;// the foundHelper register
will disambiguate helper loo
Login.c(118): kup from finding a\n
Login.c(118): // function in a context. This is necessary for mustache
compatibility, which\n
Login.c(118): // requires that context functions in blocks are evaluated by
blockHelperMissing,\n
Login.c(118): // and then proceed as if the resulting value was provided to
blockHelperMissing.\n
Login.c(118): \n
Login.c(118): Compiler.prototype = {\n
Login.c(118): compiler: Compiler,\n
Login.c(118): \n
Login.c(118): equals: function(other) {\n
Login.c(118): var len = this.opcodes.length;\n
Login.c(118): if (other.opcodes.length !== len) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < len; i++) {\n
Login.c(118): var opcode = this.opcodes[i],\n
Login.c(118): otherOpcode = other.opcodes[i];\n
Login.c(118): if (opcode.opcode !== otherOpcode.opcode || !
argEquals(opcode.args, otherOpcode.ar
Login.c(118): gs)) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // We know that length is the same between the two arrays
because they are directly
Login.c(118): tied\n
Login.c(118): // to the opcode behavior above.\n
Login.c(118): len = this.children.length;\n
Login.c(118): for (i = 0; i < len; i++) {\n
Login.c(118): if (!this.children[i].equals(other.children[i])) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return true;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): guid: 0,\n
Login.c(118): \n
Login.c(118): compile: function(program, options) {\n
Login.c(118): this.opcodes = [];\n
Login.c(118): this.children = [];\n
Login.c(118): this.depths = {list: []};\n
Login.c(118): this.options = options;\n
Login.c(118): this.stringParams = options.stringParams;\n
Login.c(118): this.trackIds = options.trackIds;\n
Login.c(118): \n
Login.c(118): // These changes will propagate to the other compiler
components\n
Login.c(118): var knownHelpers = this.options.knownHelpers;\n
Login.c(118): this.options.knownHelpers = {\n
Login.c(118): 'helperMissing': true,\n
Login.c(118): 'blockHelperMissing': true,\n
Login.c(118): 'each': true,\n
Login.c(118): 'if': true,\n
Login.c(118): 'unless': true,\n
Login.c(118): 'with': true,\n
Login.c(118): 'log': true,\n
Login.c(118): 'lookup': true\n
Login.c(118): };\n
Login.c(118): if (knownHelpers) {\n
Login.c(118): for (var name in knownHelpers) {\n
Login.c(118): this.options.knownHelpers[name] = knownHelpers[name];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return this.accept(program);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): accept: function(node) {\n
Login.c(118): return this[node.type](node);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): program: function(program) {\n
Login.c(118): var statements = program.statements;\n
Login.c(118): \n
Login.c(118): for(var i=0, l=statements.length; i<l; i++) {\n
Login.c(118): this.accept(statements[i]);\n
Login.c(118): }\n
Login.c(118): this.isSimple = l === 1;\n
Login.c(118): \n
Login.c(118): this.depths.list = this.depths.list.sort(function(a, b) {\n
Login.c(118): return a - b;\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): compileProgram: function(program) {\n
Login.c(118): var result = new this.compiler().compile(program,
this.options);\n
Login.c(118): var guid = this.guid++, depth;\n
Login.c(118): \n
Login.c(118): this.usePartial = this.usePartial || result.usePartial;\n
Login.c(118): \n
Login.c(118): this.children[guid] = result;\n
Login.c(118): \n
Login.c(118): for(var i=0, l=result.depths.list.length; i<l; i++) {\n
Login.c(118): depth = result.depths.list[i];\n
Login.c(118): \n
Login.c(118): if(depth < 2) { continue; }\n
Login.c(118): else { this.addDepth(depth - 1); }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return guid;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): block: function(block) {\n
Login.c(118): var mustache = block.mustache,\n
Login.c(118): program = block.program,\n
Login.c(118): inverse = block.inverse;\n
Login.c(118): \n
Login.c(118): if (program) {\n
Login.c(118): program = this.compileProgram(program);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inverse) {\n
Login.c(118): inverse = this.compileProgram(inverse);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var sexpr = mustache.sexpr;\n
Login.c(118): var type = this.classifySexpr(sexpr);\n
Login.c(118): \n
Login.c(118): if (type === "helper") {\n
Login.c(118): this.helperSexpr(sexpr, program, inverse);\n
Login.c(118): } else if (type === "simple") {\n
Login.c(118): this.simpleSexpr(sexpr);\n
Login.c(118): \n
Login.c(118): // now that the simple mustache is resolved, we need to\n
Login.c(118): // evaluate it by executing `blockHelperMissing`\n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): this.opcode('emptyHash');\n
Login.c(118): this.opcode('blockValue', sexpr.id.original);\n
Login.c(118): } else {\n
Login.c(118): this.ambiguousSexpr(sexpr, program, inverse);\n
Login.c(118): \n
Login.c(118): // now that the simple mustache is resolved, we need to\n
Login.c(118): // evaluate it by executing `blockHelperMissing`\n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): this.opcode('emptyHash');\n
Login.c(118): this.opcode('ambiguousBlockValue');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.opcode('append');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): hash: function(hash) {\n
Login.c(118): var pairs = hash.pairs, i, l;\n
Login.c(118): \n
Login.c(118): this.opcode('pushHash');\n
Login.c(118): \n
Login.c(118): for(i=0, l=pairs.length; i<l; i++) {\n
Login.c(118): this.pushParam(pairs[i][1]);\n
Login.c(118): }\n
Login.c(118): while(i--) {\n
Login.c(118): this.opcode('assignToHash', pairs[i][0]);\n
Login.c(118): }\n
Login.c(118): this.opcode('popHash');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): partial: function(partial) {\n
Login.c(118): var partialName = partial.partialName;\n
Login.c(118): this.usePartial = true;\n
Login.c(118): \n
Login.c(118): if (partial.hash) {\n
Login.c(118): this.accept(partial.hash);\n
Login.c(118): } else {\n
Login.c(118): this.opcode('push', 'undefined');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (partial.context) {\n
Login.c(118): this.accept(partial.context);\n
Login.c(118): } else {\n
Login.c(118): this.opcode('getContext', 0);\n
Login.c(118): this.opcode('pushContext');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.opcode('invokePartial', partialName.name,
partial.indent || '');\n
Login.c(118): this.opcode('append');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): content: function(content) {\n
Login.c(118): if (content.string) {\n
Login.c(118): this.opcode('appendContent', content.string);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): mustache: function(mustache) {\n
Login.c(118): this.sexpr(mustache.sexpr);\n
Login.c(118): \n
Login.c(118): if(mustache.escaped && !this.options.noEscape) {\n
Login.c(118): this.opcode('appendEscaped');\n
Login.c(118): } else {\n
Login.c(118): this.opcode('append');\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): ambiguousSexpr: function(sexpr, program, inverse) {\n
Login.c(118): var id = sexpr.id,\n
Login.c(118): name = id.parts[0],\n
Login.c(118): isBlock = program != null || inverse != null;\n
Login.c(118): \n
Login.c(118): this.opcode('getContext', id.depth);\n
Login.c(118): \n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): \n
Login.c(118): this.ID(id);\n
Login.c(118): \n
Login.c(118): this.opcode('invokeAmbiguous', name, isBlock);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): simpleSexpr: function(sexpr) {\n
Login.c(118): var id = sexpr.id;\n
Login.c(118): \n
Login.c(118): if (id.type === 'DATA') {\n
Login.c(118): this.DATA(id);\n
Login.c(118): } else if (id.parts.length) {\n
Login.c(118): this.ID(id);\n
Login.c(118): } else {\n
Login.c(118): // Simplified ID for `this`\n
Login.c(118): this.addDepth(id.depth);\n
Login.c(118): this.opcode('getContext', id.depth);\n
Login.c(118): this.opcode('pushContext');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.opcode('resolvePossibleLambda');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): helperSexpr: function(sexpr, program, inverse) {\n
Login.c(118): var params = this.setupFullMustacheParams(sexpr, program,
inverse),\n
Login.c(118): id = sexpr.id,\n
Login.c(118): name = id.parts[0];\n
Login.c(118): \n
Login.c(118): if (this.options.knownHelpers[name]) {\n
Login.c(118): this.opcode('invokeKnownHelper', params.length, name);\n
Login.c(118): } else if (this.options.knownHelpersOnly) {\n
Login.c(118): throw new Exception("You specified knownHelpersOnly, but
used the unknown helper "
Login.c(118): + name, sexpr);\n
Login.c(118): } else {\n
Login.c(118): id.falsy = true;\n
Login.c(118): \n
Login.c(118): this.ID(id);\n
Login.c(118): this.opcode('invokeHelper', params.length, id.original,
id.isSimple);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): sexpr: function(sexpr) {\n
Login.c(118): var type = this.classifySexpr(sexpr);\n
Login.c(118): \n
Login.c(118): if (type === "simple") {\n
Login.c(118): this.simpleSexpr(sexpr);\n
Login.c(118): } else if (type === "helper") {\n
Login.c(118): this.helperSexpr(sexpr);\n
Login.c(118): } else {\n
Login.c(118): this.ambiguousSexpr(sexpr);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): ID: function(id) {\n
Login.c(118): this.addDepth(id.depth);\n
Login.c(118): this.opcode('getContext', id.depth);\n
Login.c(118): \n
Login.c(118): var name = id.parts[0];\n
Login.c(118): if (!name) {\n
Login.c(118): // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n
Login.c(118): this.opcode('pushContext');\n
Login.c(118): } else {\n
Login.c(118): this.opcode('lookupOnContext', id.parts, id.falsy,
id.isScoped);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): DATA: function(data) {\n
Login.c(118): this.options.data = true;\n
Login.c(118): this.opcode('lookupData', data.id.depth, data.id.parts);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): STRING: function(string) {\n
Login.c(118): this.opcode('pushString', string.string);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): NUMBER: function(number) {\n
Login.c(118): this.opcode('pushLiteral', number.number);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): BOOLEAN: function(bool) {\n
Login.c(118): this.opcode('pushLiteral', bool.bool);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): comment: function() {},\n
Login.c(118): \n
Login.c(118): // HELPERS\n
Login.c(118): opcode: function(name) {\n
Login.c(118): this.opcodes.push({ opcode: name, args:
slice.call(arguments, 1) });\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): addDepth: function(depth) {\n
Login.c(118): if(depth === 0) { return; }\n
Login.c(118): \n
Login.c(118): if(!this.depths[depth]) {\n
Login.c(118): this.depths[depth] = true;\n
Login.c(118): this.depths.list.push(depth);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): classifySexpr: function(sexpr) {\n
Login.c(118): var isHelper = sexpr.isHelper;\n
Login.c(118): var isEligible = sexpr.eligibleHelper;\n
Login.c(118): var options = this.options;\n
Login.c(118): \n
Login.c(118): // if ambiguous, we can possibly resolve the ambiguity
now\n
Login.c(118): // An eligible helper is one that does not have a complex
path, i.e. `this.foo`, `..
Login.c(118): /foo` etc.\n
Login.c(118): if (isEligible && !isHelper) {\n
Login.c(118): var name = sexpr.id.parts[0];\n
Login.c(118): \n
Login.c(118): if (options.knownHelpers[name]) {\n
Login.c(118): isHelper = true;\n
Login.c(118): } else if (options.knownHelpersOnly) {\n
Login.c(118): isEligible = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (isHelper) { return "helper"; }\n
Login.c(118): else if (isEligible) { return "ambiguous"; }\n
Login.c(118): else { return "simple"; }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushParams: function(params) {\n
Login.c(118): for(var i=0, l=params.length; i<l; i++) {\n
Login.c(118): this.pushParam(params[i]);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushParam: function(val) {\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): if(val.depth) {\n
Login.c(118): this.addDepth(val.depth);\n
Login.c(118): }\n
Login.c(118): this.opcode('getContext', val.depth || 0);\n
Login.c(118): this.opcode('pushStringParam', val.stringModeValue,
val.type);\n
Login.c(118): \n
Login.c(118): if (val.type === 'sexpr') {\n
Login.c(118): // Subexpressions get evaluated and passed in\n
Login.c(118): // in string params mode.\n
Login.c(118): this.sexpr(val);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (this.trackIds) {\n
Login.c(118): this.opcode('pushId', val.type, val.idName ||
val.stringModeValue);\n
Login.c(118): }\n
Login.c(118): this.accept(val);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): setupFullMustacheParams: function(sexpr, program, inverse)
{\n
Login.c(118): var params = sexpr.params;\n
Login.c(118): this.pushParams(params);\n
Login.c(118): \n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): \n
Login.c(118): if (sexpr.hash) {\n
Login.c(118): this.hash(sexpr.hash);\n
Login.c(118): } else {\n
Login.c(118): this.opcode('emptyHash');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return params;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function precompile(input, options, env) {\n
Login.c(118): if (input == null || (typeof input !== 'string' &&
input.constructor !== env.AST.Progr
Login.c(118): amNode)) {\n
Login.c(118): throw new Exception("You must pass a string or Handlebars
AST to Handlebars.precompi
Login.c(118): le. You passed " + input);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): options = options || {};\n
Login.c(118): if (!('data' in options)) {\n
Login.c(118): options.data = true;\n
Login.c(118): }\n
Login.c(118): if (options.compat) {\n
Login.c(118): options.useDepths = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var ast = env.parse(input);\n
Login.c(118): var environment = new env.Compiler().compile(ast, options);\n
Login.c(118): return new env.JavaScriptCompiler().compile(environment,
options);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.precompile = precompile;function compile(input,
options, env) {\n
Login.c(118): if (input == null || (typeof input !== 'string' &&
input.constructor !== env.AST.Progr
Login.c(118): amNode)) {\n
Login.c(118): throw new Exception("You must pass a
Login.c(118): t=5690ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): string or Handlebars AST to Handlebars.compile. You passed " +
input);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): options = options || {};\n
Login.c(118): \n
Login.c(118): if (!('data' in options)) {\n
Login.c(118): options.data = true;\n
Login.c(118): }\n
Login.c(118): if (options.compat) {\n
Login.c(118): options.useDepths = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var compiled;\n
Login.c(118): \n
Login.c(118): function compileInput() {\n
Login.c(118): var ast = env.parse(input);\n
Login.c(118): var environment = new env.Compiler().compile(ast,
options);\n
Login.c(118): var templateSpec = new
env.JavaScriptCompiler().compile(environment, options, undefi
Login.c(118): ned, true);\n
Login.c(118): return env.template(templateSpec);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Template is only compiled on first use and cached after
that point.\n
Login.c(118): var ret = function(context, options) {\n
Login.c(118): if (!compiled) {\n
Login.c(118): compiled = compileInput();\n
Login.c(118): }\n
Login.c(118): return compiled.call(this, context, options);\n
Login.c(118): };\n
Login.c(118): ret._setup = function(options) {\n
Login.c(118): if (!compiled) {\n
Login.c(118): compiled = compileInput();\n
Login.c(118): }\n
Login.c(118): return compiled._setup(options);\n
Login.c(118): };\n
Login.c(118): ret._child = function(i, data, depths) {\n
Login.c(118): if (!compiled) {\n
Login.c(118): compiled = compileInput();\n
Login.c(118): }\n
Login.c(118): return compiled._child(i, data, depths);\n
Login.c(118): };\n
Login.c(118): return ret;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.compile = compile;function argEquals(a, b) {\n
Login.c(118): if (a === b) {\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (isArray(a) && isArray(b) && a.length === b.length) {\n
Login.c(118): for (var i = 0; i < a.length; i++) {\n
Login.c(118): if (!argEquals(a[i], b[i])) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module5__, __module3__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/javascript-compiler.js\n
Login.c(118): var __module12__ = (function(__dependency1__, __dependency2__)
{\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): var COMPILER_REVISION = __dependency1__.COMPILER_REVISION;\n
Login.c(118): var REVISION_CHANGES = __dependency1__.REVISION_CHANGES;\n
Login.c(118): var Exception = __dependency2__;\n
Login.c(118): \n
Login.c(118): function Literal(value) {\n
Login.c(118): this.value = value;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function JavaScriptCompiler() {}\n
Login.c(118): \n
Login.c(118): JavaScriptCompiler.prototype = {\n
Login.c(118): // PUBLIC API: You can override these methods in a subclass
to provide\n
Login.c(118): // alternative compiled forms for name lookup and buffering
semantics\n
Login.c(118): nameLookup: function(parent, name /* , type*/) {\n
Login.c(118): if (JavaScriptCompiler.isValidJavaScriptVariableName(name))
{\n
Login.c(118): return parent + "." + name;\n
Login.c(118): } else {\n
Login.c(118): return parent + "['" + name + "']";\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): depthedLookup: function(name) {\n
Login.c(118): this.aliases.lookup = 'this.lookup';\n
Login.c(118): \n
Login.c(118): return 'lookup(depths, "' + name + '")';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): compilerInfo: function() {\n
Login.c(118): var revision = COMPILER_REVISION,\n
Login.c(118): versions = REVISION_CHANGES[revision];\n
Login.c(118): return [revision, versions];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): appendToBuffer: function(string) {\n
Login.c(118): if (this.environment.isSimple) {\n
Login.c(118): return "return " + string + ";";\n
Login.c(118): } else {\n
Login.c(118): return {\n
Login.c(118): appendToBuffer: true,\n
Login.c(118): content: string,\n
Login.c(118): toString: function() { return "buffer += " + string +
";"; }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): initializeBuffer: function() {\n
Login.c(118): return this.quotedString("");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): namespace: "Handlebars",\n
Login.c(118): // END PUBLIC API\n
Login.c(118): \n
Login.c(118): compile: function(environment, options, context, asObject)
{\n
Login.c(118): this.environment = environment;\n
Login.c(118): this.options = options;\n
Login.c(118): this.stringParams = this.options.stringParams;\n
Login.c(118): this.trackIds = this.options.trackIds;\n
Login.c(118): this.precompile = !asObject;\n
Login.c(118): \n
Login.c(118): this.name = this.environment.name;\n
Login.c(118): this.isChild = !!context;\n
Login.c(118): this.context = context || {\n
Login.c(118): programs: [],\n
Login.c(118): environments: []\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.preamble();\n
Login.c(118): \n
Login.c(118): this.stackSlot = 0;\n
Login.c(118): this.stackVars = [];\n
Login.c(118): this.aliases = {};\n
Login.c(118): this.registers = { list: [] };\n
Login.c(118): this.hashes = [];\n
Login.c(118): this.compileStack = [];\n
Login.c(118): this.inlineStack = [];\n
Login.c(118): \n
Login.c(118): this.compileChildren(environment, options);\n
Login.c(118): \n
Login.c(118): this.useDepths = this.useDepths ||
environment.depths.list.length || this.options.co
Login.c(118): mpat;\n
Login.c(118): \n
Login.c(118): var opcodes = environment.opcodes,\n
Login.c(118): opcode,\n
Login.c(118): i,\n
Login.c(118): l;\n
Login.c(118): \n
Login.c(118): for (i = 0, l = opcodes.length; i < l; i++) {\n
Login.c(118): opcode = opcodes[i];\n
Login.c(118): \n
Login.c(118): this[opcode.opcode].apply(this, opcode.args);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Flush any trailing content that might be pending.\n
Login.c(118): this.pushSource('');\n
Login.c(118): \n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (this.stackSlot || this.inlineStack.length ||
this.compileStack.length) {\n
Login.c(118): throw new Exception('Compile completed with content left
on stack');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var fn = this.createFunctionContext(asObject);\n
Login.c(118): if (!this.isChild) {\n
Login.c(118): var ret = {\n
Login.c(118): compiler: this.compilerInfo(),\n
Login.c(118): main: fn\n
Login.c(118): };\n
Login.c(118): var programs = this.context.programs;\n
Login.c(118): for (i = 0, l = programs.length; i < l; i++) {\n
Login.c(118): if (programs[i]) {\n
Login.c(118): ret[i] = programs[i];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (this.environment.usePartial) {\n
Login.c(118): ret.usePartial = true;\n
Login.c(118): }\n
Login.c(118): if (this.options.data) {\n
Login.c(118): ret.useData = true;\n
Login.c(118): }\n
Login.c(118): if (this.useDepths) {\n
Login.c(118): ret.useDepths = true;\n
Login.c(118): }\n
Login.c(118): if (this.options.compat) {\n
Login.c(118): ret.compat = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!asObject) {\n
Login.c(118): ret.compiler = JSON.stringify(ret.compiler);\n
Login.c(118): ret = this.objectLiteral(ret);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return ret;\n
Login.c(118): } else {\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): preamble: function() {\n
Login.c(118): // track the last context pushed into place to allow
skipping the\n
Login.c(118): // getContext opcode when it would be a noop\n
Login.c(118): this.lastContext = 0;\n
Login.c(118): this.source = [];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): createFunctionContext: function(asObject) {\n
Login.c(118): var varDeclarations = '';\n
Login.c(118): \n
Login.c(118): var locals = this.stackVars.concat(this.registers.list);\n
Login.c(118): if(locals.length > 0) {\n
Login.c(118): varDeclarations += ", " + locals.join(", ");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Generate minimizer alias mappings\n
Login.c(118): for (var alias in this.aliases) {\n
Login.c(118): if (this.aliases.hasOwnProperty(alias)) {\n
Login.c(118): varDeclarations += ', ' + alias + '=' +
this.aliases[alias];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var params = ["depth0", "helpers", "partials", "data"];\n
Login.c(118): \n
Login.c(118): if (this.useDepths) {\n
Login.c(118): params.push('depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Perform a second pass over the output to merge content
when possible\n
Login.c(118): var source = this.mergeSource(varDeclarations);\n
Login.c(118): \n
Login.c(118): if (asObject) {\n
Login.c(118): params.push(source);\n
Login.c(118): \n
Login.c(118): return Function.apply(this, params);\n
Login.c(118): } else {\n
Login.c(118): return 'function(' + params.join(',') + ') {\\n ' +
source + '}';\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): mergeSource: function(varDeclarations) {\n
Login.c(118): var source = '',\n
Login.c(118): buffer,\n
Login.c(118): appendOnly = !this.forceBuffer,\n
Login.c(118): appendFirst;\n
Login.c(118): \n
Login.c(118): for (var i = 0, len = this.source.length; i < len; i++) {\n
Login.c(118): var line = this.source[i];\n
Login.c(118): if (line.appendToBuffer) {\n
Login.c(118): if (buffer) {\n
Login.c(118): buffer = buffer + '\\n + ' + line.content;\n
Login.c(118): } else {\n
Login.c(118): buffer = line.content;\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (buffer) {\n
Login.c(118): if (!source) {\n
Login.c(118): appendFirst = true;\n
Login.c(118): source = buffer + ';\\n ';\n
Login.c(118): } else {\n
Login.c(118): source += 'buffer += ' + buffer + ';\\n ';\n
Login.c(118): }\n
Login.c(118): buffer = undefined;\n
Login.c(118): }\n
Login.c(118): source += line + '\\n ';\n
Login.c(118): \n
Login.c(118): if (!this.environment.isSimple) {\n
Login.c(118): appendOnly = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (appendOnly) {\n
Login.c(118): if (buffer || !source) {\n
Login.c(118): source += 'return ' + (buffer || '""') + ';\\n';\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): varDeclarations += ", buffer = " + (appendFirst ? '' :
this.initializeBuffer());\n
Login.c(118): if (buffer) {\n
Login.c(118): source += 'return buffer + ' + buffer + ';\\n';\n
Login.c(118): } else {\n
Login.c(118): source += 'return buffer;\\n';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (varDeclarations) {\n
Login.c(118): source = 'var ' + varDeclarations.substring(2) +
(appendFirst ? '' : ';\\n ') + s
Login.c(118): ource;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return source;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [blockValue]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, value\n
Login.c(118): // On stack, after: return value of blockHelperMissing\n
Login.c(118): //\n
Login.c(118): // The purpose of this opcode is to take a block of the
form\n
Login.c(118): // `{{#this.foo}}...{{/this.foo}}`, resolve the value of
`foo`, and\n
Login.c(118): // replace it on the stack with the result of properly\n
Login.c(118): // invoking blockHelperMissing.\n
Login.c(118): blockValue: function(name) {\n
Login.c(118): this.aliases.blockHelperMissing =
'helpers.blockHelperMissing';\n
Login.c(118): \n
Login.c(118): var params = [this.contextName(0)];\n
Login.c(118): this.setupParams(name, 0, params);\n
Login.c(118): \n
Login.c(118): var blockName = this.popStack();\n
Login.c(118): params.splice(1, 0, blockName);\n
Login.c(118): \n
Login.c(118): this.push('blockHelperMissing.call(' + params.join(', ') +
')');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [ambiguousBlockValue]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, value\n
Login.c(118): // Compiler value, before: lastHelper=value of last found
helper, if any\n
Login.c(118): // On stack, after, if no lastHelper: same as [blockValue]\n
Login.c(118): // On stack, after, if lastHelper: value\n
Login.c(118): ambiguousBlockValue: function() {\n
Login.c(118): this.aliases.blockHelperMissing =
'helpers.blockHelperMissing';\n
Login.c(118): \n
Login.c(118): // We're being a bit cheeky and reusing the options value
from the prior exec\n
Login.c(118): var params = [this.contextName(0)];\n
Login.c(118): this.setupParams('', 0, params, true);\n
Login.c(118): \n
Login.c(118): this.flushInline();\n
Login.c(118): \n
Login.c(118): var current = this.topStack();\n
Login.c(118): params.splice(1, 0, current);\n
Login.c(118): \n
Login.c(118): this.pushSource("if (!" + this.lastHelper + ") { " +
current + " = blockHelperMissin
Login.c(118): g.call(" + params.join(", ") + "); }");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [appendContent]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): //\n
Login.c(118): // Appends the string value of `content` to the current
buffer\n
Login.c(118): appendContent: function(content) {\n
Login.c(118): if (this.pendingContent) {\n
Login.c(118): content = this.pendingContent + content;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.pendingContent = content;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [append]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): //\n
Login.c(118): // Coerces `value` to a String and appends it to the current
buffer.\n
Login.c(118): //\n
Login.c(118): // If `value` is truthy, or 0, it is coerced into a string
and appended\n
Login.c(118): // Otherwise, the empty string is appended\n
Login.c(118): append: function() {\n
Login.c(118): // Force anything that is inlined onto the stack so we
don't have duplication\n
Login.c(118): // when we examine local\n
Login.c(118): this.flushInline();\n
Login.c(118): var local = this.popStack();\n
Login.c(118): this.pushSource('if (' + local + ' != null) { ' +
this.appendToBuffer(local) + ' }')
Login.c(118): ;\n
Login.c(118): if (this.environment.isSimple) {\n
Login.c(118): this.pushSource("else { " + this.appendToBuffer("''") + "
}");\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [appendEscaped]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): //\n
Login.c(118): // Escape `value` and append it to the buffer\n
Login.c(118): appendEscaped: function() {\n
Login.c(118): this.aliases.escapeExpression = 'this.escapeExpression';\n
Login.c(118): \n
Login.c(118): this.pushSource(this.appendToBuffer("escapeExpression(" +
this.popStack() + ")"));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [getContext]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): // Compiler value, after: lastContext=depth\n
Login.c(118): //\n
Login.c(118): // Set the value of the `lastContext` compiler value to the
depth\n
Login.c(118): getContext: function(depth) {\n
Login.c(118): this.lastContext = depth;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushContext]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: currentContext, ...\n
Login.c(118): //\n
Login.c(118): // Pushes the value of the current context onto the stack.\n
Login.c(118): pushContext: function() {\n
Login.c(118):
this.pushStackLiteral(this.contextName(this.lastContext));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [lookupOnContext]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: currentContext[name], ...\n
Login.c(118): //\n
Login.c(118): // Looks up the value of `name` on the current context and
pushes\n
Login.c(118): // it onto the stack.\n
Login.c(118): lookupOnContext: function(parts, falsy, scoped) {\n
Login.c(118): /*jshint -W083 */\n
Login.c(118): var i = 0,\n
Login.c(118): len = parts.length;\n
Login.c(118): \n
Login.c(118): if (!scoped && this.options.compat && !this.lastContext)
{\n
Login.c(118): // The depthed query is expected to handle the undefined
logic for the root level
Login.c(118): that\n
Login.c(118): // is implemented below, so we evaluate that directly in
compat mode\n
Login.c(118): this.push(this.depthedLookup(parts[i++]));\n
Login.c(118): } else {\n
Login.c(118): this.pushContext();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (; i < len; i++) {\n
Login.c(118): this.replaceStack(function(current) {\n
Login.c(118): var lookup = this.nameLookup(current, parts[i],
'context');\n
Login.c(118): // We want to ensure that zero and false are handled
properly if the context (fa
Login.c(118): lsy flag)\n
Login.c(118): // needs to have the special handling for these
values.\n
Login.c(118): if (!falsy) {\n
Login.c(118): return ' != null ? ' + lookup
Login.c(118): t=5714ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): + ' : ' + current;\n
Login.c(118): } else {\n
Login.c(118): // Otherwise we can use generic falsy handling\n
Login.c(118): return ' && ' + lookup;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [lookupData]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: data, ...\n
Login.c(118): //\n
Login.c(118): // Push the data lookup operator\n
Login.c(118): lookupData: function(depth, parts) {\n
Login.c(118): /*jshint -W083 */\n
Login.c(118): if (!depth) {\n
Login.c(118): this.pushStackLiteral('data');\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral('this.data(data, ' + depth +
')');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var len = parts.length;\n
Login.c(118): for (var i = 0; i < len; i++) {\n
Login.c(118): this.replaceStack(function(current) {\n
Login.c(118): return ' && ' + this.nameLookup(current, parts[i],
'data');\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [resolvePossibleLambda]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ...\n
Login.c(118): // On stack, after: resolved value, ...\n
Login.c(118): //\n
Login.c(118): // If the `value` is a lambda, replace it on the stack by\n
Login.c(118): // the return value of the lambda\n
Login.c(118): resolvePossibleLambda: function() {\n
Login.c(118): this.aliases.lambda = 'this.lambda';\n
Login.c(118): \n
Login.c(118): this.push('lambda(' + this.popStack() + ', ' +
this.contextName(0) + ')');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushStringParam]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: string, currentContext, ...\n
Login.c(118): //\n
Login.c(118): // This opcode is designed for use in string mode, which\n
Login.c(118): // provides the string value of a parameter along with its\n
Login.c(118): // depth rather than resolving it immediately.\n
Login.c(118): pushStringParam: function(string, type) {\n
Login.c(118): this.pushContext();\n
Login.c(118): this.pushString(type);\n
Login.c(118): \n
Login.c(118): // If it's a subexpression, the string result\n
Login.c(118): // will be pushed after this opcode.\n
Login.c(118): if (type !== 'sexpr') {\n
Login.c(118): if (typeof string === 'string') {\n
Login.c(118): this.pushString(string);\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral(string);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): emptyHash: function() {\n
Login.c(118): this.pushStackLiteral('{}');\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): this.push('{}'); // hashIds\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): this.push('{}'); // hashContexts\n
Login.c(118): this.push('{}'); // hashTypes\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): pushHash: function() {\n
Login.c(118): if (this.hash) {\n
Login.c(118): this.hashes.push(this.hash);\n
Login.c(118): }\n
Login.c(118): this.hash = {values: [], types: [], contexts: [], ids:
[]};\n
Login.c(118): },\n
Login.c(118): popHash: function() {\n
Login.c(118): var hash = this.hash;\n
Login.c(118): this.hash = this.hashes.pop();\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): this.push('{' + hash.ids.join(',') + '}');\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): this.push('{' + hash.contexts.join(',') + '}');\n
Login.c(118): this.push('{' + hash.types.join(',') + '}');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.push('{\\n ' + hash.values.join(',\\n ') + '\\n
}');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushString]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: quotedString(string), ...\n
Login.c(118): //\n
Login.c(118): // Push a quoted version of `string` onto the stack\n
Login.c(118): pushString: function(string) {\n
Login.c(118): this.pushStackLiteral(this.quotedString(string));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [push]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: expr, ...\n
Login.c(118): //\n
Login.c(118): // Push an expression onto the stack\n
Login.c(118): push: function(expr) {\n
Login.c(118): this.inlineStack.push(expr);\n
Login.c(118): return expr;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushLiteral]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: value, ...\n
Login.c(118): //\n
Login.c(118): // Pushes a value onto the stack. This operation prevents\n
Login.c(118): // the compiler from creating a temporary variable to hold\n
Login.c(118): // it.\n
Login.c(118): pushLiteral: function(value) {\n
Login.c(118): this.pushStackLiteral(value);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushProgram]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: program(guid), ...\n
Login.c(118): //\n
Login.c(118): // Push a program expression onto the stack. This takes\n
Login.c(118): // a compile-time guid and converts it into a runtime-
accessible\n
Login.c(118): // expression.\n
Login.c(118): pushProgram: function(guid) {\n
Login.c(118): if (guid != null) {\n
Login.c(118): this.pushStackLiteral(this.programExpression(guid));\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral(null);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokeHelper]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, params..., ...\n
Login.c(118): // On stack, after: result of helper invocation\n
Login.c(118): //\n
Login.c(118): // Pops off the helper's parameters, invokes the helper,\n
Login.c(118): // and pushes the helper's return value onto the stack.\n
Login.c(118): //\n
Login.c(118): // If the helper is not found, `helperMissing` is called.\n
Login.c(118): invokeHelper: function(paramSize, name, isSimple) {\n
Login.c(118): this.aliases.helperMissing = 'helpers.helperMissing';\n
Login.c(118): \n
Login.c(118): var nonHelper = this.popStack();\n
Login.c(118): var helper = this.setupHelper(paramSize, name);\n
Login.c(118): \n
Login.c(118): var lookup = (isSimple ? helper.name + ' || ' : '') +
nonHelper + ' || helperMissing
Login.c(118): ';\n
Login.c(118): this.push('((' + lookup + ').call(' + helper.callParams +
'))');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokeKnownHelper]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, params..., ...\n
Login.c(118): // On stack, after: result of helper invocation\n
Login.c(118): //\n
Login.c(118): // This operation is used when the helper is known to
exist,\n
Login.c(118): // so a `helperMissing` fallback is not required.\n
Login.c(118): invokeKnownHelper: function(paramSize, name) {\n
Login.c(118): var helper = this.setupHelper(paramSize, name);\n
Login.c(118): this.push(helper.name + ".call(" + helper.callParams +
")");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokeAmbiguous]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, params..., ...\n
Login.c(118): // On stack, after: result of disambiguation\n
Login.c(118): //\n
Login.c(118): // This operation is used when an expression like `{{foo}}`\n
Login.c(118): // is provided, but we don't know at compile-time whether
it\n
Login.c(118): // is a helper or a path.\n
Login.c(118): //\n
Login.c(118): // This operation emits more code than the other options,\n
Login.c(118): // and can be avoided by passing the `knownHelpers` and\n
Login.c(118): // `knownHelpersOnly` flags at compile-time.\n
Login.c(118): invokeAmbiguous: function(name, helperCall) {\n
Login.c(118): this.aliases.functionType = '"function"';\n
Login.c(118): this.aliases.helperMissing = 'helpers.helperMissing';\n
Login.c(118): this.useRegister('helper');\n
Login.c(118): \n
Login.c(118): var nonHelper = this.popStack();\n
Login.c(118): \n
Login.c(118): this.emptyHash();\n
Login.c(118): var helper = this.setupHelper(0, name, helperCall);\n
Login.c(118): \n
Login.c(118): var helperName = this.lastHelper =
this.nameLookup('helpers', name, 'helper');\n
Login.c(118): \n
Login.c(118): this.push(\n
Login.c(118): '((helper = (helper = ' + helperName + ' || ' + nonHelper
+ ') != null ? helper :
Login.c(118): helperMissing'\n
Login.c(118): + (helper.paramsInit ? '),(' + helper.paramsInit : '')
+ '),'\n
Login.c(118): + '(typeof helper === functionType ? helper.call(' +
helper.callParams + ') : help
Login.c(118): er))');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokePartial]\n
Login.c(118): //\n
Login.c(118): // On stack, before: context, ...\n
Login.c(118): // On stack after: result of partial invocation\n
Login.c(118): //\n
Login.c(118): // This operation pops off a context, invokes a partial with
that context,\n
Login.c(118): // and pushes the result of the invocation back.\n
Login.c(118): invokePartial: function(name, indent) {\n
Login.c(118): var params = [this.nameLookup('partials', name, 'partial'),
"'" + indent + "'", "'"
Login.c(118): + name + "'", this.popStack(), this.popStack(), "helpers",
"partials"];\n
Login.c(118): \n
Login.c(118): if (this.options.data) {\n
Login.c(118): params.push("data");\n
Login.c(118): } else if (this.options.compat) {\n
Login.c(118): params.push('undefined');\n
Login.c(118): }\n
Login.c(118): if (this.options.compat) {\n
Login.c(118): params.push('depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.push("this.invokePartial(" + params.join(", ") +
")");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [assignToHash]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ..., hash, ...\n
Login.c(118): // On stack, after: ..., hash, ...\n
Login.c(118): //\n
Login.c(118): // Pops a value off the stack and assigns it to the current
hash\n
Login.c(118): assignToHash: function(key) {\n
Login.c(118): var value = this.popStack(),\n
Login.c(118): context,\n
Login.c(118): type,\n
Login.c(118): id;\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): id = this.popStack();\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): type = this.popStack();\n
Login.c(118): context = this.popStack();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var hash = this.hash;\n
Login.c(118): if (context) {\n
Login.c(118): hash.contexts.push("'" + key + "': " + context);\n
Login.c(118): }\n
Login.c(118): if (type) {\n
Login.c(118): hash.types.push("'" + key + "': " + type);\n
Login.c(118): }\n
Login.c(118): if (id) {\n
Login.c(118): hash.ids.push("'" + key + "': " + id);\n
Login.c(118): }\n
Login.c(118): hash.values.push("'" + key + "': (" + value + ")");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushId: function(type, name) {\n
Login.c(118): if (type === 'ID' || type === 'DATA') {\n
Login.c(118): this.pushString(name);\n
Login.c(118): } else if (type === 'sexpr') {\n
Login.c(118): this.pushStackLiteral('true');\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral('null');\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // HELPERS\n
Login.c(118): \n
Login.c(118): compiler: JavaScriptCompiler,\n
Login.c(118): \n
Login.c(118): compileChildren: function(environment, options) {\n
Login.c(118): var children = environment.children, child, compiler;\n
Login.c(118): \n
Login.c(118): for(var i=0, l=children.length; i<l; i++) {\n
Login.c(118): child = children[i];\n
Login.c(118): compiler = new this.compiler();\n
Login.c(118): \n
Login.c(118): var index = this.matchExistingProgram(child);\n
Login.c(118): \n
Login.c(118): if (index == null) {\n
Login.c(118): this.context.programs.push(''); // Placeholder to
prevent name conflicts for
Login.c(118): nested children\n
Login.c(118): index = this.context.programs.length;\n
Login.c(118): child.index = index;\n
Login.c(118): child.name = 'program' + index;\n
Login.c(118): this.context.programs[index] = compiler.compile(child,
options, this.context, !t
Login.c(118): his.precompile);\n
Login.c(118): this.context.environments[index] = child;\n
Login.c(118): \n
Login.c(118): this.useDepths = this.useDepths ||
compiler.useDepths;\n
Login.c(118): } else {\n
Login.c(118): child.index = index;\n
Login.c(118): child.name = 'program' + index;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): matchExistingProgram: function(child) {\n
Login.c(118): for (var i = 0, len = this.context.environments.length; i <
len; i++) {\n
Login.c(118): var environment = this.context.environments[i];\n
Login.c(118): if (environment && environment.equals(child)) {\n
Login.c(118): return i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): programExpression: function(guid) {\n
Login.c(118): var child = this.environment.children[guid],\n
Login.c(118): depths = child.depths.list,\n
Login.c(118): useDepths = this.useDepths,\n
Login.c(118): depth;\n
Login.c(118): \n
Login.c(118): var programParams = [child.index, 'data'];\n
Login.c(118): \n
Login.c(118): if (useDepths) {\n
Login.c(118): programParams.push('depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return 'this.program(' + programParams.join(', ') + ')';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): useRegister: function(name) {\n
Login.c(118): if(!this.registers[name]) {\n
Login.c(118): this.registers[name] = true;\n
Login.c(118): this.registers.list.push(name);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushStackLiteral: function(item) {\n
Login.c(118): return this.push(new Literal(item));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushSource: function(source) {\n
Login.c(118): if (this.pendingContent) {\n
Login.c(118):
this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent)));\n
Login.c(118): this.pendingContent = undefined;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (source) {\n
Login.c(118): this.source.push(source);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushStack: function(item) {\n
Login.c(118): this.flushInline();\n
Login.c(118): \n
Login.c(118): var stack = this.incrStack();\n
Login.c(118): this.pushSource(stack + " = " + item + ";");\n
Login.c(118): this.compileStack.push(stack);\n
Login.c(118): return stack;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): replaceStack: function(callback) {\n
Login.c(118): var prefix = '',\n
Login.c(118): inline = this.isInline(),\n
Login.c(118): stack,\n
Login.c(118): createdStack,\n
Login.c(118): usedLiteral;\n
Login.c(118): \n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (!this.isInline()) {\n
Login.c(118): throw new Exception('replaceStack on non-inline');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // We want to merge the inline statement into the
replacement statement via ','\n
Login.c(118): var top = this.popStack(true);\n
Login.c(118): \n
Login.c(118): if (top instanceof Literal) {\n
Login.c(118): // Literals do not need to be inlined\n
Login.c(118): prefix = stack = top.value;\n
Login.c(118): usedLiteral = true;\n
Login.c(118): } else {\n
Login.c(118): // Get or create the current stack name for use by the
inline\n
Login.c(118): createdStack = !this.stackSlot;\n
Login.c(118): var name = !createdStack ? this.topStackName() :
this.incrStack();\n
Login.c(118): \n
Login.c(118): prefix = '(' + this.push(name) + ' = ' + top + ')';\n
Login.c(118): stack = this.topStack();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var item = callback.call(this, stack);\n
Login.c(118): \n
Login.c(118): if (!usedLiteral) {\n
Login.c(118): this.popStack();\n
Login.c(118): }\n
Login.c(118): if (createdStack) {\n
Login.c(118): this.stackSlot--;\n
Login.c(118): }\n
Login.c(118): this.push('(' + prefix + item + ')');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): incrStack: function() {\n
Login.c(118): this.stackSlot++;\n
Login.c(118): if(this.stackSlot > this.stackVars.length)
{ this.stackVars.push("stack" + this.stac
Login.c(118): kSlot); }\n
Login.c(118): return this.topStackName();\n
Login.c(118): },\n
Login.c(118): topStackName: function() {\n
Login.c(118): return "stack" + this.stackSlot;\n
Login.c(118): },\n
Login.c(118): flushInline: function() {\n
Login.c(118): var inlineStack = this.inlineStack;\n
Login.c(118): if (inlineStack.length) {\n
Login.c(118): this.inlineStack = [];\n
Login.c(118): for (var i = 0, len = inlineStack.length; i < len; i++)
{\n
Login.c(118): var entry = inlineStack[i];\n
Login.c(118): if (entry instanceof Literal) {\n
Login.c(118): this.compileStack.push(entry);\n
Login.c(118): } else {\n
Login.c(118): this.pushStack(entry);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): isInline: function() {\n
Login.c(118): return this.inlineStack.length;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): popStack: function(wrapp
Login.c(118): t=5739ms: 6211-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): ed) {\n
Login.c(118): var inline = this.isInline(),\n
Login.c(118): item = (inline ? this.inlineStack :
this.compileStack).pop();\n
Login.c(118): \n
Login.c(118): if (!wrapped && (item instanceof Literal)) {\n
Login.c(118): return item.value;\n
Login.c(118): } else {\n
Login.c(118): if (!inline) {\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (!this.stackSlot) {\n
Login.c(118): throw new Exception('Invalid stack pop');\n
Login.c(118): }\n
Login.c(118): this.stackSlot--;\n
Login.c(118): }\n
Login.c(118): return item;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): topStack: function() {\n
Login.c(118): var stack = (this.isInline() ? this.inlineStack :
this.compileStack),\n
Login.c(118): item = stack[stack.length - 1];\n
Login.c(118): \n
Login.c(118): if (item instanceof Literal) {\n
Login.c(118): return item.value;\n
Login.c(118): } else {\n
Login.c(118): return item;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): contextName: function(context) {\n
Login.c(118): if (this.useDepths && context) {\n
Login.c(118): return 'depths[' + context + ']';\n
Login.c(118): } else {\n
Login.c(118): return 'depth' + context;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): quotedString: function(str) {\n
Login.c(118): return '"' + str\n
Login.c(118): .replace(/\\\\/g, '\\\\\\\\')\n
Login.c(118): .replace(/"/g, '\\\\"')\n
Login.c(118): .replace(/\\n/g, '\\\\n')\n
Login.c(118): .replace(/\\r/g, '\\\\r')\n
Login.c(118): .replace(/\\u2028/g, '\\\\u2028') // Per Ecma-262 7.3 +
7.8.4\n
Login.c(118): .replace(/\\u2029/g, '\\\\u2029') + '"';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): objectLiteral: function(obj) {\n
Login.c(118): var pairs = [];\n
Login.c(118): \n
Login.c(118): for (var key in obj) {\n
Login.c(118): if (obj.hasOwnProperty(key)) {\n
Login.c(118): pairs.push(this.quotedString(key) + ':' + obj[key]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return '{' + pairs.join(',') + '}';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): setupHelper: function(paramSize, name, blockHelper) {\n
Login.c(118): var params = [],\n
Login.c(118): paramsInit = this.setupParams(name, paramSize, params,
blockHelper);\n
Login.c(118): var foundHelper = this.nameLookup('helpers', name,
'helper');\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): params: params,\n
Login.c(118): paramsInit: paramsInit,\n
Login.c(118): name: foundHelper,\n
Login.c(118): callParams: [this.contextName(0)].concat(params).join(",
")\n
Login.c(118): };\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): setupOptions: function(helper, paramSize, params) {\n
Login.c(118): var options = {}, contexts = [], types = [], ids = [],
param, inverse, program;\n
Login.c(118): \n
Login.c(118): options.name = this.quotedString(helper);\n
Login.c(118): options.hash = this.popStack();\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): options.hashIds = this.popStack();\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): options.hashTypes = this.popStack();\n
Login.c(118): options.hashContexts = this.popStack();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): inverse = this.popStack();\n
Login.c(118): program = this.popStack();\n
Login.c(118): \n
Login.c(118): // Avoid setting fn and inverse if neither are set. This
allows\n
Login.c(118): // helpers to do a check for `if (options.fn)`\n
Login.c(118): if (program || inverse) {\n
Login.c(118): if (!program) {\n
Login.c(118): program = 'this.noop';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!inverse) {\n
Login.c(118): inverse = 'this.noop';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): options.fn = program;\n
Login.c(118): options.inverse = inverse;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // The parameters go on to the stack in order (making sure
that they are evaluated i
Login.c(118): n order)\n
Login.c(118): // so we need to pop them off the stack in reverse order\n
Login.c(118): var i = paramSize;\n
Login.c(118): while (i--) {\n
Login.c(118): param = this.popStack();\n
Login.c(118): params[i] = param;\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): ids[i] = this.popStack();\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): types[i] = this.popStack();\n
Login.c(118): contexts[i] = this.popStack();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): options.ids = "[" + ids.join(",") + "]";\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): options.types = "[" + types.join(",") + "]";\n
Login.c(118): options.contexts = "[" + contexts.join(",") + "]";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (this.options.data) {\n
Login.c(118): options.data = "data";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return options;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // the params and contexts arguments are passed in arrays\n
Login.c(118): // to fill in\n
Login.c(118): setupParams: function(helperName, paramSize, params,
useRegister) {\n
Login.c(118): var options =
this.objectLiteral(this.setupOptions(helperName, paramSize, params));\n
Login.c(118): \n
Login.c(118): if (useRegister) {\n
Login.c(118): this.useRegister('options');\n
Login.c(118): params.push('options');\n
Login.c(118): return 'options=' + options;\n
Login.c(118): } else {\n
Login.c(118): params.push(options);\n
Login.c(118): return '';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var reservedWords = (\n
Login.c(118): "break else new var" +\n
Login.c(118): " case finally return void" +\n
Login.c(118): " catch for switch while" +\n
Login.c(118): " continue function this with" +\n
Login.c(118): " default if throw" +\n
Login.c(118): " delete in try" +\n
Login.c(118): " do instanceof typeof" +\n
Login.c(118): " abstract enum int short" +\n
Login.c(118): " boolean export interface static" +\n
Login.c(118): " byte extends long super" +\n
Login.c(118): " char final native synchronized" +\n
Login.c(118): " class float package throws" +\n
Login.c(118): " const goto private transient" +\n
Login.c(118): " debugger implements protected volatile" +\n
Login.c(118): " double import public let yield"\n
Login.c(118): ).split(" ");\n
Login.c(118): \n
Login.c(118): var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n
Login.c(118): \n
Login.c(118): for(var i=0, l=reservedWords.length; i<l; i++) {\n
Login.c(118): compilerWords[reservedWords[i]] = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): JavaScriptCompiler.isValidJavaScriptVariableName =
function(name) {\n
Login.c(118): return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-
Z_$][0-9a-zA-Z_$]*$/.test(n
Login.c(118): ame);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): __exports__ = JavaScriptCompiler;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module2__, __module5__);\n
Login.c(118): \n
Login.c(118): // handlebars.js\n
Login.c(118): var __module0__ = (function(__dependency1__, __dependency2__,
__dependency3__, __dependenc
Login.c(118): y4__, __dependency5__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): /*globals Handlebars: true */\n
Login.c(118): var Handlebars = __dependency1__;\n
Login.c(118): \n
Login.c(118): // Compiler imports\n
Login.c(118): var AST = __dependency2__;\n
Login.c(118): var Parser = __dependency3__.parser;\n
Login.c(118): var parse = __dependency3__.parse;\n
Login.c(118): var Compiler = __dependency4__.Compiler;\n
Login.c(118): var compile = __dependency4__.compile;\n
Login.c(118): var precompile = __dependency4__.precompile;\n
Login.c(118): var JavaScriptCompiler = __dependency5__;\n
Login.c(118): \n
Login.c(118): var _create = Handlebars.create;\n
Login.c(118): var create = function() {\n
Login.c(118): var hb = _create();\n
Login.c(118): \n
Login.c(118): hb.compile = function(input, options) {\n
Login.c(118): return compile(input, options, hb);\n
Login.c(118): };\n
Login.c(118): hb.precompile = function (input, options) {\n
Login.c(118): return precompile(input, options, hb);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): hb.AST = AST;\n
Login.c(118): hb.Compiler = Compiler;\n
Login.c(118): hb.JavaScriptCompiler = JavaScriptCompiler;\n
Login.c(118): hb.Parser = Parser;\n
Login.c(118): hb.parse = parse;\n
Login.c(118): \n
Login.c(118): return hb;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): Handlebars = create();\n
Login.c(118): Handlebars.create = create;\n
Login.c(118): \n
Login.c(118): Handlebars['default'] = Handlebars;\n
Login.c(118): \n
Login.c(118): __exports__ = Handlebars;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module1__, __module7__, __module8__, __module11__,
__module12__);\n
Login.c(118): \n
Login.c(118): return __module0__;\n
Login.c(118): }));\n
Login.c(118): t=5753ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"464435-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 464435\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5896ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): /*! jQuery UI - v1.11.1 - 2014-08-13\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): * Includes: core.js, widget.js, mouse.js, position.js,
accordion.js, autocomplete.js, butt
Login.c(118): on.js, datepicker.js, dialog.js, draggable.js, droppable.js,
effect.js, effect-blind.js, e
Login.c(118): ffect-bounce.js, effect-clip.js, effect-drop.js, effect-
explode.js, effect-fade.js, effect
Login.c(118): -fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js,
effect-scale.js, effect-
Login.c(118): shake.js, effect-size.js, effect-slide.js, effect-transfer.js,
menu.js, progressbar.js, re
Login.c(118): sizable.js, selectable.js, selectmenu.js, slider.js, sortable.js,
spinner.js, tabs.js, too
Login.c(118): ltip.js\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors;
Licensed MIT */\n
Login.c(118): \n
Login.c(118): (function( factory ) {\n
Login.c(118): \tif ( typeof define === "function" && define.amd ) {\n
Login.c(118): \n
Login.c(118): \t\t// AMD. Register as an anonymous module.\n
Login.c(118): \t\tdefine([ "jquery" ], factory );\n
Login.c(118): \t} else {\n
Login.c(118): \n
Login.c(118): \t\t// Browser globals\n
Login.c(118): \t\tfactory( jQuery );\n
Login.c(118): \t}\n
Login.c(118): }(function( $ ) {\n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Core 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/category/ui-core/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // $.ui might exist from components with no dependencies, e.g.,
$.ui.position\n
Login.c(118): $.ui = $.ui || {};\n
Login.c(118): \n
Login.c(118): $.extend( $.ui, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \n
Login.c(118): \tkeyCode: {\n
Login.c(118): \t\tBACKSPACE: 8,\n
Login.c(118): \t\tCOMMA: 188,\n
Login.c(118): \t\tDELETE: 46,\n
Login.c(118): \t\tDOWN: 40,\n
Login.c(118): \t\tEND: 35,\n
Login.c(118): \t\tENTER: 13,\n
Login.c(118): \t\tESCAPE: 27,\n
Login.c(118): \t\tHOME: 36,\n
Login.c(118): \t\tLEFT: 37,\n
Login.c(118): \t\tPAGE_DOWN: 34,\n
Login.c(118): \t\tPAGE_UP: 33,\n
Login.c(118): \t\tPERIOD: 190,\n
Login.c(118): \t\tRIGHT: 39,\n
Login.c(118): \t\tSPACE: 32,\n
Login.c(118): \t\tTAB: 9,\n
Login.c(118): \t\tUP: 38\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // plugins\n
Login.c(118): $.fn.extend({\n
Login.c(118): \tscrollParent: function( includeHidden ) {\n
Login.c(118): \t\tvar position = this.css( "position" ),\n
Login.c(118): \t\t\texcludeStaticParent = position === "absolute",\n
Login.c(118): \t\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /
(auto|scroll)/,\n
Login.c(118): \t\t\tscrollParent = this.parents().filter( function() {\n
Login.c(118): \t\t\t\tvar parent = $( this );\n
Login.c(118): \t\t\t\tif ( excludeStaticParent && parent.css( "position" ) ===
"static" ) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn overflowRegex.test( parent.css( "overflow" ) +
parent.css( "overflow-y" ) +
Login.c(118): parent.css( "overflow-x" ) );\n
Login.c(118): \t\t\t}).eq( 0 );\n
Login.c(118): \n
Login.c(118): \t\treturn position === "fixed" || !scrollParent.length ? $
( this[ 0 ].ownerDocument || do
Login.c(118): cument ) : scrollParent;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tuniqueId: (function() {\n
Login.c(118): \t\tvar uuid = 0;\n
Login.c(118): \n
Login.c(118): \t\treturn function() {\n
Login.c(118): \t\t\treturn this.each(function() {\n
Login.c(118): \t\t\t\tif ( !this.id ) {\n
Login.c(118): \t\t\t\t\tthis.id = "ui-id-" + ( ++uuid );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t})(),\n
Login.c(118): \n
Login.c(118): \tremoveUniqueId: function() {\n
Login.c(118): \t\treturn this.each(function() {\n
Login.c(118): \t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n
Login.c(118): \t\t\t\t$( this ).removeAttr( "id" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // selectors\n
Login.c(118): function focusable( element, isTabIndexNotNaN ) {\n
Login.c(118): \tvar map, mapName, img,\n
Login.c(118): \t\tnodeName = element.nodeName.toLowerCase();\n
Login.c(118): \tif ( "area" === nodeName ) {\n
Login.c(118): \t\tmap = element.parentNode;\n
Login.c(118): \t\tmapName = map.name;\n
Login.c(118): \t\tif ( !element.href || !mapName ||
map.nodeName.toLowerCase() !== "map" ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\timg = $( "img[usemap='#" + mapName + "']" )[ 0 ];\n
Login.c(118): \t\treturn !!img && visible( img );\n
Login.c(118): \t}\n
Login.c(118): \treturn ( /input|select|textarea|button|object/.test( nodeName )
?\n
Login.c(118): \t\t!element.disabled :\n
Login.c(118): \t\t"a" === nodeName ?\n
Login.c(118): \t\t\telement.href || isTabIndexNotNaN :\n
Login.c(118): \t\t\tisTabIndexNotNaN) &&\n
Login.c(118): \t\t// the element and all of its ancestors must be visible\n
Login.c(118): \t\tvisible( element );\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function visible( element ) {\n
Login.c(118): \treturn $.expr.filters.visible( element ) &&\n
Login.c(118): \t\t!$( element ).parents().addBack().filter(function() {\n
Login.c(118): \t\t\treturn $.css( this, "visibility" ) === "hidden";\n
Login.c(118): \t\t}).length;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend( $.expr[ ":" ], {\n
Login.c(118): \tdata: $.expr.createPseudo ?\n
Login.c(118): \t\t$.expr.createPseudo(function( dataName ) {\n
Login.c(118): \t\t\treturn function( elem ) {\n
Login.c(118): \t\t\t\treturn !!$.data( elem, dataName );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}) :\n
Login.c(118): \t\t// support: jQuery <1.8\n
Login.c(118): \t\tfunction( elem, i, match ) {\n
Login.c(118): \t\t\treturn !!$.data( elem, match[ 3 ] );\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \tfocusable: function( element ) {\n
Login.c(118): \t\treturn focusable( element, !isNaN( $.attr( element,
"tabindex" ) ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \ttabbable: function( element ) {\n
Login.c(118): \t\tvar tabIndex = $.attr( element, "tabindex" ),\n
Login.c(118): \t\t\tisTabIndexNaN = isNaN( tabIndex );\n
Login.c(118): \t\treturn ( isTabIndexNaN || tabIndex >= 0 ) &&
focusable( element, !isTabIndexNaN );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // support: jQuery <1.8\n
Login.c(118): if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {\n
Login.c(118): \t$.each( [ "Width", "Height" ], function( i, name ) {\n
Login.c(118): \t\tvar side = name === "Width" ? [ "Left", "Right" ] : [ "Top",
"Bottom" ],\n
Login.c(118): \t\t\ttype = name.toLowerCase(),\n
Login.c(118): \t\t\torig = {\n
Login.c(118): \t\t\t\tinnerWidth: $.fn.innerWidth,\n
Login.c(118): \t\t\t\tinnerHeight: $.fn.innerHeight,\n
Login.c(118): \t\t\t\touterWidth: $.fn.outerWidth,\n
Login.c(118): \t\t\t\touterHeight: $.fn.outerHeight\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tfunction reduce( elem, size, border, margin ) {\n
Login.c(118): \t\t\t$.each( side, function() {\n
Login.c(118): \t\t\t\tsize -= parseFloat( $.css( elem, "padding" + this ) ) ||
0;\n
Login.c(118): \t\t\t\tif ( border ) {\n
Login.c(118): \t\t\t\t\tsize -= parseFloat( $.css( elem, "border" + this +
"Width" ) ) || 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( margin ) {\n
Login.c(118): \t\t\t\t\tsize -= parseFloat( $.css( elem, "margin" + this ) ) ||
0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\treturn size;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$.fn[ "inner" + name ] = function( size ) {\n
Login.c(118): \t\t\tif ( size === undefined ) {\n
Login.c(118): \t\t\t\treturn orig[ "inner" + name ].call( this );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\treturn this.each(function() {\n
Login.c(118): \t\t\t\t$( this ).css( type, reduce( this, size ) + "px" );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t$.fn[ "outer" + name] = function( size, margin ) {\n
Login.c(118): \t\t\tif ( typeof size !== "number" ) {\n
Login.c(118): \t\t\t\treturn orig[ "outer" + name ].call( this, size );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\treturn this.each(function() {\n
Login.c(118): \t\t\t\t$( this).css( type, reduce( this, size, true, margin ) +
"px" );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t});\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // support: jQuery <1.8\n
Login.c(118): if ( !$.fn.addBack ) {\n
Login.c(118): \t$.fn.addBack = function( selector ) {\n
Login.c(118): \t\treturn this.add( selector == null ?\n
Login.c(118): \t\t\tthis.prevObject : this.prevObject.filter( selector )\n
Login.c(118): \t\t);\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // support: jQuery 1.6.1, 1.6.2
(http://bugs.jquery.com/ticket/9413)\n
Login.c(118): if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-
b" ) ) {\n
Login.c(118): \t$.fn.removeData = (function( removeData ) {\n
Login.c(118): \t\treturn function( key ) {\n
Login.c(118): \t\t\tif ( arguments.length ) {\n
Login.c(118): \t\t\t\treturn removeData.call( this, $.camelCase( key ) );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\treturn removeData.call( this );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.removeData );\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // deprecated\n
Login.c(118): $.ui.ie = !!/msie [\\w.]
+/.exec( navigator.userAgent.toLowerCase() );\n
Login.c(118): \n
Login.c(118): $.fn.extend({\n
Login.c(118): \tfocus: (function( orig ) {\n
Login.c(118): \t\treturn function( delay, fn ) {\n
Login.c(118): \t\t\treturn typeof delay === "number" ?\n
Login.c(118): \t\t\t\tthis.each(function() {\n
Login.c(118): \t\t\t\t\tvar elem = this;\n
Login.c(118): \t\t\t\t\tsetTimeout(function() {\n
Login.c(118): \t\t\t\t\t\t$( elem ).focus();\n
Login.c(118): \t\t\t\t\t\tif ( fn ) {\n
Login.c(118): \t\t\t\t\t\t\tfn.call( elem );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}, delay );\n
Login.c(118): \t\t\t\t}) :\n
Login.c(118): \t\t\t\torig.apply( this, arguments );\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.focus ),\n
Login.c(118): \n
Login.c(118): \tdisableSelection: (function() {\n
Login.c(118): \t\tvar eventType = "onselectstart" in
document.createElement( "div" ) ?\n
Login.c(118): \t\t\t"selectstart" :\n
Login.c(118): \t\t\t"mousedown";\n
Login.c(118): \n
Login.c(118): \t\treturn function() {\n
Login.c(118): \t\t\treturn this.bind( eventType + ".ui-disableSelection",
function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t})(),\n
Login.c(118): \n
Login.c(118): \tenableSelection: function() {\n
Login.c(118): \t\treturn this.unbind( ".ui-disableSelection" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tzIndex: function( zIndex ) {\n
Login.c(118): \t\tif ( zIndex !== undefined ) {\n
Login.c(118): \t\t\treturn this.css( "zIndex", zIndex );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.length ) {\n
Login.c(118): \t\t\tvar elem = $( this[ 0 ] ), position, value;\n
Login.c(118): \t\t\twhile ( elem.length && elem[ 0 ] !== document ) {\n
Login.c(118): \t\t\t\t// Ignore z-index if position is set to a value where z-
index is ignored by the br
Login.c(118): owser\n
Login.c(118): \t\t\t\t// This makes behavior of this function consistent across
browsers\n
Login.c(118): \t\t\t\t// WebKit always returns auto if the element is
positioned\n
Login.c(118): \t\t\t\tposition = elem.css( "position" );\n
Login.c(118): \t\t\t\tif ( position === "absolute" || position === "relative"
|| position === "fixed" )
Login.c(118): {\n
Login.c(118): \t\t\t\t\t// IE returns 0 when zIndex is not specified\n
Login.c(118): \t\t\t\t\t// other browsers return a string\n
Login.c(118): \t\t\t\t\t// we ignore the case of nested elements with an
explicit value of 0\n
Login.c(118): \t\t\t\t\t// <div style="z-index: -10;"><div style="z-index:
0;"></div></div>\n
Login.c(118): \t\t\t\t\tvalue = parseInt( elem.css( "zIndex" ), 10 );\n
Login.c(118): \t\t\t\t\tif ( !isNaN( value ) && value !== 0 ) {\n
Login.c(118): \t\t\t\t\t\treturn value;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\telem = elem.parent();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn 0;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // $.ui.plugin is deprecated. Use $.widget() extensions
instead.\n
Login.c(118): $.ui.plugin = {\n
Login.c(118): \tadd: function( module, option, set ) {\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tproto = $.ui[ module ].prototype;\n
Login.c(118): \t\tfor ( i in set ) {\n
Login.c(118): \t\t\tproto.plugins[ i ] = proto.plugins[ i ] || [];\n
Login.c(118): \t\t\tproto.plugins[ i ].push( [ option, set[ i ] ] );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tcall: function( instance, name, args, allowDisconnected ) {\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tset = instance.plugins[ name ];\n
Login.c(118): \n
Login.c(118): \t\tif ( !set ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !allowDisconnected && ( !
instance.element[ 0 ].parentNode || instance.element[ 0
Login.c(118): ].parentNode.nodeType === 11 ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfor ( i = 0; i < set.length; i++ ) {\n
Login.c(118): \t\t\tif ( instance.options[ set[ i ][ 0 ] ] ) {\n
Login.c(118): \t\t\t\tset[ i ][ 1 ].apply( instance.element, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Widget 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/jQuery.widget/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var widget_uuid = 0,\n
Login.c(118): \twidget_slice = Array.prototype.slice;\n
Login.c(118): \n
Login.c(118): $.cleanData = (function( orig ) {\n
Login.c(118): \treturn func
Login.c(118): t=5967ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): tion( elems ) {\n
Login.c(118): \t\tvar events, elem, i;\n
Login.c(118): \t\tfor ( i = 0; (elem = elems[i]) != null; i++ ) {\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Only trigger remove when necessary to save time\n
Login.c(118): \t\t\t\tevents = $._data( elem, "events" );\n
Login.c(118): \t\t\t\tif ( events && events.remove ) {\n
Login.c(118): \t\t\t\t\t$( elem ).triggerHandler( "remove" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// http://bugs.jquery.com/ticket/8235\n
Login.c(118): \t\t\t} catch( e ) {}\n
Login.c(118): \t\t}\n
Login.c(118): \t\torig( elems );\n
Login.c(118): \t};\n
Login.c(118): })( $.cleanData );\n
Login.c(118): \n
Login.c(118): $.widget = function( name, base, prototype ) {\n
Login.c(118): \tvar fullName, existingConstructor, constructor,
basePrototype,\n
Login.c(118): \t\t// proxiedPrototype allows the provided prototype to remain
unmodified\n
Login.c(118): \t\t// so that it can be used as a mixin for multiple widgets
(#8876)\n
Login.c(118): \t\tproxiedPrototype = {},\n
Login.c(118): \t\tnamespace = name.split( "." )[ 0 ];\n
Login.c(118): \n
Login.c(118): \tname = name.split( "." )[ 1 ];\n
Login.c(118): \tfullName = namespace + "-" + name;\n
Login.c(118): \n
Login.c(118): \tif ( !prototype ) {\n
Login.c(118): \t\tprototype = base;\n
Login.c(118): \t\tbase = $.Widget;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// create selector for plugin\n
Login.c(118): \t$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {\n
Login.c(118): \t\treturn !!$.data( elem, fullName );\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t$[ namespace ] = $[ namespace ] || {};\n
Login.c(118): \texistingConstructor = $[ namespace ][ name ];\n
Login.c(118): \tconstructor = $[ namespace ][ name ] = function( options,
element ) {\n
Login.c(118): \t\t// allow instantiation without "new" keyword\n
Login.c(118): \t\tif ( !this._createWidget ) {\n
Login.c(118): \t\t\treturn new constructor( options, element );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// allow instantiation without initializing for simple
inheritance\n
Login.c(118): \t\t// must use "new" keyword (the code above always passes
args)\n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tthis._createWidget( options, element );\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): \t// extend with the existing constructor to carry over any
static properties\n
Login.c(118): \t$.extend( constructor, existingConstructor, {\n
Login.c(118): \t\tversion: prototype.version,\n
Login.c(118): \t\t// copy the object used to create the prototype in case we
need to\n
Login.c(118): \t\t// redefine the widget later\n
Login.c(118): \t\t_proto: $.extend( {}, prototype ),\n
Login.c(118): \t\t// track widgets that inherit from this widget in case this
widget is\n
Login.c(118): \t\t// redefined after a widget inherits from it\n
Login.c(118): \t\t_childConstructors: []\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \tbasePrototype = new base();\n
Login.c(118): \t// we need to make the options hash a property directly on the
new instance\n
Login.c(118): \t// otherwise we'll modify the options hash on the prototype
that we're\n
Login.c(118): \t// inheriting from\n
Login.c(118): \tbasePrototype.options = $.widget.extend( {},
basePrototype.options );\n
Login.c(118): \t$.each( prototype, function( prop, value ) {\n
Login.c(118): \t\tif ( !$.isFunction( value ) ) {\n
Login.c(118): \t\t\tproxiedPrototype[ prop ] = value;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tproxiedPrototype[ prop ] = (function() {\n
Login.c(118): \t\t\tvar _super = function() {\n
Login.c(118): \t\t\t\t\treturn base.prototype[ prop ].apply( this,
arguments );\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\t_superApply = function( args ) {\n
Login.c(118): \t\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\treturn function() {\n
Login.c(118): \t\t\t\tvar __super = this._super,\n
Login.c(118): \t\t\t\t\t__superApply = this._superApply,\n
Login.c(118): \t\t\t\t\treturnValue;\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis._super = _super;\n
Login.c(118): \t\t\t\tthis._superApply = _superApply;\n
Login.c(118): \n
Login.c(118): \t\t\t\treturnValue = value.apply( this, arguments );\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis._super = __super;\n
Login.c(118): \t\t\t\tthis._superApply = __superApply;\n
Login.c(118): \n
Login.c(118): \t\t\t\treturn returnValue;\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t})();\n
Login.c(118): \t});\n
Login.c(118): \tconstructor.prototype = $.widget.extend( basePrototype, {\n
Login.c(118): \t\t// TODO: remove support for widgetEventPrefix\n
Login.c(118): \t\t// always use the name + a colon as the prefix, e.g.,
draggable:start\n
Login.c(118): \t\t// don't prefix for widgets that aren't DOM-based\n
Login.c(118): \t\twidgetEventPrefix: existingConstructor ?
(basePrototype.widgetEventPrefix || name) : n
Login.c(118): ame\n
Login.c(118): \t}, proxiedPrototype, {\n
Login.c(118): \t\tconstructor: constructor,\n
Login.c(118): \t\tnamespace: namespace,\n
Login.c(118): \t\twidgetName: name,\n
Login.c(118): \t\twidgetFullName: fullName\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// If this widget is being redefined then we need to find all
widgets that\n
Login.c(118): \t// are inheriting from it and redefine all of them so that they
inherit from\n
Login.c(118): \t// the new version of this widget. We're essentially trying to
replace one\n
Login.c(118): \t// level in the prototype chain.\n
Login.c(118): \tif ( existingConstructor ) {\n
Login.c(118): \t\t$.each( existingConstructor._childConstructors, function( i,
child ) {\n
Login.c(118): \t\t\tvar childPrototype = child.prototype;\n
Login.c(118): \n
Login.c(118): \t\t\t// redefine the child widget using the same prototype that
was\n
Login.c(118): \t\t\t// originally used, but inherit from the new version of the
base\n
Login.c(118): \t\t\t$.widget( childPrototype.namespace + "." +
childPrototype.widgetName, constructor, c
Login.c(118): hild._proto );\n
Login.c(118): \t\t});\n
Login.c(118): \t\t// remove the list of existing child constructors from the
old constructor\n
Login.c(118): \t\t// so the old child constructors can be garbage collected\n
Login.c(118): \t\tdelete existingConstructor._childConstructors;\n
Login.c(118): \t} else {\n
Login.c(118): \t\tbase._childConstructors.push( constructor );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.widget.bridge( name, constructor );\n
Login.c(118): \n
Login.c(118): \treturn constructor;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.widget.extend = function( target ) {\n
Login.c(118): \tvar input = widget_slice.call( arguments, 1 ),\n
Login.c(118): \t\tinputIndex = 0,\n
Login.c(118): \t\tinputLength = input.length,\n
Login.c(118): \t\tkey,\n
Login.c(118): \t\tvalue;\n
Login.c(118): \tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n
Login.c(118): \t\tfor ( key in input[ inputIndex ] ) {\n
Login.c(118): \t\t\tvalue = input[ inputIndex ][ key ];\n
Login.c(118): \t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !==
undefined ) {\n
Login.c(118): \t\t\t\t// Clone objects\n
Login.c(118): \t\t\t\tif ( $.isPlainObject( value ) ) {\n
Login.c(118): \t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n
Login.c(118): \t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n
Login.c(118): \t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n
Login.c(118): \t\t\t\t\t\t$.widget.extend( {}, value );\n
Login.c(118): \t\t\t\t// Copy everything else by reference\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\ttarget[ key ] = value;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \treturn target;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.widget.bridge = function( name, object ) {\n
Login.c(118): \tvar fullName = object.prototype.widgetFullName || name;\n
Login.c(118): \t$.fn[ name ] = function( options ) {\n
Login.c(118): \t\tvar isMethodCall = typeof options === "string",\n
Login.c(118): \t\t\targs = widget_slice.call( arguments, 1 ),\n
Login.c(118): \t\t\treturnValue = this;\n
Login.c(118): \n
Login.c(118): \t\t// allow multiple hashes to be passed on init\n
Login.c(118): \t\toptions = !isMethodCall && args.length ?\n
Login.c(118): \t\t\t$.widget.extend.apply( null, [ options ].concat(args) ) :\n
Login.c(118): \t\t\toptions;\n
Login.c(118): \n
Login.c(118): \t\tif ( isMethodCall ) {\n
Login.c(118): \t\t\tthis.each(function() {\n
Login.c(118): \t\t\t\tvar methodValue,\n
Login.c(118): \t\t\t\t\tinstance = $.data( this, fullName );\n
Login.c(118): \t\t\t\tif ( options === "instance" ) {\n
Login.c(118): \t\t\t\t\treturnValue = instance;\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( !instance ) {\n
Login.c(118): \t\t\t\t\treturn $.error( "cannot call methods on " + name + "
prior to initialization; "
Login.c(118): +\n
Login.c(118): \t\t\t\t\t\t"attempted to call method '" + options + "'" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( !$.isFunction( instance[options] ) ||
options.charAt( 0 ) === "_" ) {\n
Login.c(118): \t\t\t\t\treturn $.error( "no such method '" + options + "' for "
+ name + " widget instan
Login.c(118): ce" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmethodValue = instance[ options ].apply( instance,
args );\n
Login.c(118): \t\t\t\tif ( methodValue !== instance && methodValue !==
undefined ) {\n
Login.c(118): \t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n
Login.c(118): \t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n
Login.c(118): \t\t\t\t\t\tmethodValue;\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.each(function() {\n
Login.c(118): \t\t\t\tvar instance = $.data( this, fullName );\n
Login.c(118): \t\t\t\tif ( instance ) {\n
Login.c(118): \t\t\t\t\tinstance.option( options || {} );\n
Login.c(118): \t\t\t\t\tif ( instance._init ) {\n
Login.c(118): \t\t\t\t\t\tinstance._init();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$.data( this, fullName, new object( options,
this ) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn returnValue;\n
Login.c(118): \t};\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.Widget = function( /* options, element */ ) {};\n
Login.c(118): $.Widget._childConstructors = [];\n
Login.c(118): \n
Login.c(118): $.Widget.prototype = {\n
Login.c(118): \twidgetName: "widget",\n
Login.c(118): \twidgetEventPrefix: "",\n
Login.c(118): \tdefaultElement: "<div>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tdisabled: false,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tcreate: null\n
Login.c(118): \t},\n
Login.c(118): \t_createWidget: function( options, element ) {\n
Login.c(118): \t\telement = $( element || this.defaultElement || this )[ 0 ];\n
Login.c(118): \t\tthis.element = $( element );\n
Login.c(118): \t\tthis.uuid = widget_uuid++;\n
Login.c(118): \t\tthis.eventNamespace = "." + this.widgetName + this.uuid;\n
Login.c(118): \t\tthis.options = $.widget.extend( {},\n
Login.c(118): \t\t\tthis.options,\n
Login.c(118): \t\t\tthis._getCreateOptions(),\n
Login.c(118): \t\t\toptions );\n
Login.c(118): \n
Login.c(118): \t\tthis.bindings = $();\n
Login.c(118): \t\tthis.hoverable = $();\n
Login.c(118): \t\tthis.focusable = $();\n
Login.c(118): \n
Login.c(118): \t\tif ( element !== this ) {\n
Login.c(118): \t\t\t$.data( element, this.widgetFullName, this );\n
Login.c(118): \t\t\tthis._on( true, this.element, {\n
Login.c(118): \t\t\t\tremove: function( event ) {\n
Login.c(118): \t\t\t\t\tif ( event.target === element ) {\n
Login.c(118): \t\t\t\t\t\tthis.destroy();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tthis.document = $( element.style ?\n
Login.c(118): \t\t\t\t// element within the document\n
Login.c(118): \t\t\t\telement.ownerDocument :\n
Login.c(118): \t\t\t\t// element is window or document\n
Login.c(118): \t\t\t\telement.document || element );\n
Login.c(118): \t\t\tthis.window = $( this.document[0].defaultView ||
this.document[0].parentWindow );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._create();\n
Login.c(118): \t\tthis._trigger( "create", null,
this._getCreateEventData() );\n
Login.c(118): \t\tthis._init();\n
Login.c(118): \t},\n
Login.c(118): \t_getCreateOptions: $.noop,\n
Login.c(118): \t_getCreateEventData: $.noop,\n
Login.c(118): \t_create: $.noop,\n
Login.c(118): \t_init: $.noop,\n
Login.c(118): \n
Login.c(118): \tdestroy: function() {\n
Login.c(118): \t\tthis._destroy();\n
Login.c(118): \t\t// we can probably remove the unbind calls in 2.0\n
Login.c(118): \t\t// all event bindings should go through this._on()\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.unbind( this.eventNamespace )\n
Login.c(118): \t\t\t.removeData( this.widgetFullName )\n
Login.c(118): \t\t\t// support: jquery <1.6.3\n
Login.c(118): \t\t\t// http://bugs.jquery.com/ticket/9413\n
Login.c(118): \t\t\t.removeData( $.camelCase( this.widgetFullName ) );\n
Login.c(118): \t\tthis.widget()\n
Login.c(118): \t\t\t.unbind( this.eventNamespace )\n
Login.c(118): \t\t\t.removeAttr( "aria-disabled" )\n
Login.c(118): \t\t\t.removeClass(\n
Login.c(118): \t\t\t\tthis.widgetFullName + "-disabled " +\n
Login.c(118): \t\t\t\t"ui-state-disabled" );\n
Login.c(118): \n
Login.c(118): \t\t// clean up events and states\n
Login.c(118): \t\tthis.bindings.unbind( this.eventNamespace );\n
Login.c(118): \t\tthis.hoverable.removeClass( "ui-state-hover" );\n
Login.c(118): \t\tthis.focusable.removeClass( "ui-state-focus" );\n
Login.c(118): \t},\n
Login.c(118): \t_destroy: $.noop,\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \toption: function( key, value ) {\n
Login.c(118): \t\tvar options = key,\n
Login.c(118): \t\t\tparts,\n
Login.c(118): \t\t\tcurOption,\n
Login.c(118): \t\t\ti;\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length === 0 ) {\n
Login.c(118): \t\t\t// don't return a reference to the internal hash\n
Login.c(118): \t\t\treturn $.widget.extend( {}, this.options );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof key === "string" ) {\n
Login.c(118): \t\t\t// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___
} }\n
Login.c(118): \t\t\toptions = {};\n
Login.c(118): \t\t\tparts = key.split( "." );\n
Login.c(118): \t\t\tkey = parts.shift();\n
Login.c(118): \t\t\tif ( parts.length ) {\n
Login.c(118): \t\t\t\tcurOption = options[ key ] = $.widget.extend( {},
this.options[ key ] );\n
Login.c(118): \t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n
Login.c(118): \t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] ||
{};\n
Login.c(118): \t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tkey = parts.pop();\n
Login.c(118): \t\t\t\tif ( arguments.length === 1 ) {\n
Login.c(118): \t\t\t\t\treturn curOption[ key ] === undefined ? null :
curOption[ key ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcurOption[ key ] = value;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tif ( arguments.length === 1 ) {\n
Login.c(118): \t\t\t\t\treturn this.options[ key ] === undefined ? null :
this.options[ key ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\toptions[ key ] = value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._setOptions( options );\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \t_setOptions: function( options ) {\n
Login.c(118): \t\tvar key;\n
Login.c(118): \n
Login.c(118): \t\tfor ( key in options ) {\n
Login.c(118): \t\t\tthis._setOption( key, options[ key ] );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis.options[ key ] = value;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.widget()\n
Login.c(118): \t\t\t\t.toggleClass( this.widgetFullName + "-disabled", !!
value );\n
Login.c(118): \n
Login.c(118): \t\t\t// If the widget is becoming disabled, then nothing is
interactive\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tthis.hoverable.removeClass( "ui-state-hover" );\n
Login.c(118): \t\t\t\tthis.focusable.removeClass( "ui-state-focus" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tenable: function() {\n
Login.c(118): \t\treturn this._setOptions({ disabled: false });\n
Login.c(118): \t},\n
Login.c(118): \tdisable: function() {\n
Login.c(118): \t\treturn this._setOptions({ disabled: true });\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_on: function( suppressDisabledCheck, element, handlers ) {\n
Login.c(118): \t\tvar delegateElement,\n
Login.c(118): \t\t\tinstance = this;\n
Login.c(118): \n
Login.c(118): \t\t// no suppressDisabledCheck flag, shuffle arguments\n
Login.c(118): \t\tif ( typeof suppressDisabledCheck !== "boolean" ) {\n
Login.c(118): \t\t\thandlers = element;\n
Login.c(118): \t\t\telement = suppressDisabledCheck;\n
Login.c(118): \t\t\tsuppressDisabledCheck = false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// no element argument, shuffle and use this.element\n
Login.c(118): \t\tif ( !handlers ) {\n
Login.c(118): \t\t\thandlers = element;\n
Login.c(118): \t\t\telement = this.element;\n
Login.c(118): \t\t\tdelegateElement = this.widget();\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement = delegateElement = $( element );\n
Login.c(118): \t\t\tthis.bindings = this.bindings.add( element );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$.each( handlers, function( event, handler ) {\n
Login.c(118): \t\t\tfunction handlerProxy() {\n
Login.c(118): \t\t\t\t// allow widgets to customize the disabled handling\n
Login.c(118): \t\t\t\t// - disabled as an array instead of boolean\n
Login.c(118): \t\t\t\t// - disabled class as method for disabling individual
parts\n
Login.c(118): \t\t\t\tif ( !suppressDisabledCheck &&\n
Login.c(118): \t\t\t\t\t\t( instance.options.disabled === true ||\n
Login.c(118): \t\t\t\t\t\t\t$( this ).hasClass( "ui-state-disabled" ) ) ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn ( typeof handler === "string" ?
instance[ handler ] : handler )\n
Login.c(118): \t\t\t\t\t.apply( instance, arguments );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// copy the guid so direct unbinding works\n
Login.c(118): \t\t\tif ( typeof handler !== "string" ) {\n
Login.c(118): \t\t\t\thandlerProxy.guid = handler.guid =\n
Login.c(118): \t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ ),\n
Login.c(118): \t\t\t\teventName = match[1] + instance.eventNamespace,\n
Login.c(118): \t\t\t\tselector = match[2];\n
Login.c(118): \t\t\tif ( selector ) {\n
Login.c(118): \t\t\t\tdelegateElement.delegate( selector, eventName,
handlerProxy );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\telement.bind( eventName, handlerProxy );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_off: function( element, eventName ) {\n
Login.c(118): \t\teventName = (eventName || "").split( "
" ).join( this.eventNamespace + " " ) + this.ev
Login.c(118): entNamespace;\n
Login.c(118): \t\telement.unbind( eventName ).undelegate( eventName );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_delay: function( handler, delay ) {\n
Login.c(118): \t\tfun
Login.c(118): t=5995ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ction handlerProxy() {\n
Login.c(118): \t\t\treturn ( typeof handler === "string" ?
instance[ handler ] : handler )\n
Login.c(118): \t\t\t\t.apply( instance, arguments );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar instance = this;\n
Login.c(118): \t\treturn setTimeout( handlerProxy, delay || 0 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_hoverable: function( element ) {\n
Login.c(118): \t\tthis.hoverable = this.hoverable.add( element );\n
Login.c(118): \t\tthis._on( element, {\n
Login.c(118): \t\t\tmouseenter: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).addClass( "ui-state-hover" );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmouseleave: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).removeClass( "ui-state-
hover" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_focusable: function( element ) {\n
Login.c(118): \t\tthis.focusable = this.focusable.add( element );\n
Login.c(118): \t\tthis._on( element, {\n
Login.c(118): \t\t\tfocusin: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).addClass( "ui-state-focus" );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tfocusout: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).removeClass( "ui-state-
focus" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trigger: function( type, event, data ) {\n
Login.c(118): \t\tvar prop, orig,\n
Login.c(118): \t\t\tcallback = this.options[ type ];\n
Login.c(118): \n
Login.c(118): \t\tdata = data || {};\n
Login.c(118): \t\tevent = $.Event( event );\n
Login.c(118): \t\tevent.type = ( type === this.widgetEventPrefix ?\n
Login.c(118): \t\t\ttype :\n
Login.c(118): \t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n
Login.c(118): \t\t// the original event may come from any element\n
Login.c(118): \t\t// so we need to reset the target on the new event\n
Login.c(118): \t\tevent.target = this.element[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\t// copy original event properties over to the new event\n
Login.c(118): \t\torig = event.originalEvent;\n
Login.c(118): \t\tif ( orig ) {\n
Login.c(118): \t\t\tfor ( prop in orig ) {\n
Login.c(118): \t\t\t\tif ( !( prop in event ) ) {\n
Login.c(118): \t\t\t\t\tevent[ prop ] = orig[ prop ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element.trigger( event, data );\n
Login.c(118): \t\treturn !( $.isFunction( callback ) &&\n
Login.c(118): \t\t\tcallback.apply( this.element[0], [ event ].concat( data ) )
=== false ||\n
Login.c(118): \t\t\tevent.isDefaultPrevented() );\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.each( { show: "fadeIn", hide: "fadeOut" }, function( method,
defaultEffect ) {\n
Login.c(118): \t$.Widget.prototype[ "_" + method ] = function( element,
options, callback ) {\n
Login.c(118): \t\tif ( typeof options === "string" ) {\n
Login.c(118): \t\t\toptions = { effect: options };\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar hasOptions,\n
Login.c(118): \t\t\teffectName = !options ?\n
Login.c(118): \t\t\t\tmethod :\n
Login.c(118): \t\t\t\toptions === true || typeof options === "number" ?\n
Login.c(118): \t\t\t\t\tdefaultEffect :\n
Login.c(118): \t\t\t\t\toptions.effect || defaultEffect;\n
Login.c(118): \t\toptions = options || {};\n
Login.c(118): \t\tif ( typeof options === "number" ) {\n
Login.c(118): \t\t\toptions = { duration: options };\n
Login.c(118): \t\t}\n
Login.c(118): \t\thasOptions = !$.isEmptyObject( options );\n
Login.c(118): \t\toptions.complete = callback;\n
Login.c(118): \t\tif ( options.delay ) {\n
Login.c(118): \t\t\telement.delay( options.delay );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( hasOptions && $.effects &&
$.effects.effect[ effectName ] ) {\n
Login.c(118): \t\t\telement[ method ]( options );\n
Login.c(118): \t\t} else if ( effectName !== method && element[ effectName ] )
{\n
Login.c(118): \t\t\telement[ effectName ]( options.duration, options.easing,
callback );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement.queue(function( next ) {\n
Login.c(118): \t\t\t\t$( this )[ method ]();\n
Login.c(118): \t\t\t\tif ( callback ) {\n
Login.c(118): \t\t\t\t\tcallback.call( element[ 0 ] );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tnext();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var widget = $.widget;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Mouse 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/mouse/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var mouseHandled = false;\n
Login.c(118): $( document ).mouseup( function() {\n
Login.c(118): \tmouseHandled = false;\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var mouse = $.widget("ui.mouse", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tcancel: "input,textarea,button,select,option",\n
Login.c(118): \t\tdistance: 1,\n
Login.c(118): \t\tdelay: 0\n
Login.c(118): \t},\n
Login.c(118): \t_mouseInit: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.bind("mousedown." + this.widgetName, function(event) {\n
Login.c(118): \t\t\t\treturn that._mouseDown(event);\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.bind("click." + this.widgetName, function(event) {\n
Login.c(118): \t\t\t\tif (true === $.data(event.target, that.widgetName +
".preventClickEvent")) {\n
Login.c(118): \t\t\t\t\t$.removeData(event.target, that.widgetName +
".preventClickEvent");\n
Login.c(118): \t\t\t\t\tevent.stopImmediatePropagation();\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.started = false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// TODO: make sure destroying one instance of mouse doesn't
mess with\n
Login.c(118): \t// other instances of mouse\n
Login.c(118): \t_mouseDestroy: function() {\n
Login.c(118): \t\tthis.element.unbind("." + this.widgetName);\n
Login.c(118): \t\tif ( this._mouseMoveDelegate ) {\n
Login.c(118): \t\t\tthis.document\n
Login.c(118): \t\t\t\t.unbind("mousemove." + this.widgetName,
this._mouseMoveDelegate)\n
Login.c(118): \t\t\t\t.unbind("mouseup." + this.widgetName,
this._mouseUpDelegate);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDown: function(event) {\n
Login.c(118): \t\t// don't let more than one widget handle mouseStart\n
Login.c(118): \t\tif ( mouseHandled ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// we may have missed mouseup (out of window)\n
Login.c(118): \t\t(this._mouseStarted && this._mouseUp(event));\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDownEvent = event;\n
Login.c(118): \n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tbtnIsLeft = (event.which === 1),\n
Login.c(118): \t\t\t// event.target.nodeName works around a bug in IE 8 with\n
Login.c(118): \t\t\t// disabled inputs (#7620)\n
Login.c(118): \t\t\telIsCancel = (typeof this.options.cancel === "string" &&
event.target.nodeName ? $(e
Login.c(118): vent.target).closest(this.options.cancel).length : false);\n
Login.c(118): \t\tif (!btnIsLeft || elIsCancel || !this._mouseCapture(event))
{\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.mouseDelayMet = !this.options.delay;\n
Login.c(118): \t\tif (!this.mouseDelayMet) {\n
Login.c(118): \t\t\tthis._mouseDelayTimer = setTimeout(function() {\n
Login.c(118): \t\t\t\tthat.mouseDelayMet = true;\n
Login.c(118): \t\t\t}, this.options.delay);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseDistanceMet(event) &&
this._mouseDelayMet(event)) {\n
Login.c(118): \t\t\tthis._mouseStarted = (this._mouseStart(event) !== false);\n
Login.c(118): \t\t\tif (!this._mouseStarted) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\treturn true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Click event may never have fired (Gecko & Opera)\n
Login.c(118): \t\tif (true === $.data(event.target, this.widgetName +
".preventClickEvent")) {\n
Login.c(118): \t\t\t$.removeData(event.target, this.widgetName +
".preventClickEvent");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// these delegates are required to keep context\n
Login.c(118): \t\tthis._mouseMoveDelegate = function(event) {\n
Login.c(118): \t\t\treturn that._mouseMove(event);\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis._mouseUpDelegate = function(event) {\n
Login.c(118): \t\t\treturn that._mouseUp(event);\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.document\n
Login.c(118): \t\t\t.bind( "mousemove." + this.widgetName,
this._mouseMoveDelegate )\n
Login.c(118): \t\t\t.bind( "mouseup." + this.widgetName,
this._mouseUpDelegate );\n
Login.c(118): \n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\tmouseHandled = true;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseMove: function(event) {\n
Login.c(118): \t\t// IE mouseup check - mouseup happened when mouse was out of
window\n
Login.c(118): \t\tif ($.ui.ie && ( !document.documentMode ||
document.documentMode < 9 ) && !event.butto
Login.c(118): n) {\n
Login.c(118): \t\t\treturn this._mouseUp(event);\n
Login.c(118): \n
Login.c(118): \t\t// Iframe mouseup check - mouseup occurred in another
document\n
Login.c(118): \t\t} else if ( !event.which ) {\n
Login.c(118): \t\t\treturn this._mouseUp( event );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseStarted) {\n
Login.c(118): \t\t\tthis._mouseDrag(event);\n
Login.c(118): \t\t\treturn event.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseDistanceMet(event) &&
this._mouseDelayMet(event)) {\n
Login.c(118): \t\t\tthis._mouseStarted =\n
Login.c(118): \t\t\t\t(this._mouseStart(this._mouseDownEvent, event) !==
false);\n
Login.c(118): \t\t\t(this._mouseStarted ? this._mouseDrag(event) :
this._mouseUp(event));\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn !this._mouseStarted;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseUp: function(event) {\n
Login.c(118): \t\tthis.document\n
Login.c(118): \t\t\t.unbind( "mousemove." + this.widgetName,
this._mouseMoveDelegate )\n
Login.c(118): \t\t\t.unbind( "mouseup." + this.widgetName,
this._mouseUpDelegate );\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseStarted) {\n
Login.c(118): \t\t\tthis._mouseStarted = false;\n
Login.c(118): \n
Login.c(118): \t\t\tif (event.target === this._mouseDownEvent.target) {\n
Login.c(118): \t\t\t\t$.data(event.target, this.widgetName +
".preventClickEvent", true);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._mouseStop(event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tmouseHandled = false;\n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDistanceMet: function(event) {\n
Login.c(118): \t\treturn (Math.max(\n
Login.c(118): \t\t\t\tMath.abs(this._mouseDownEvent.pageX - event.pageX),\n
Login.c(118): \t\t\t\tMath.abs(this._mouseDownEvent.pageY - event.pageY)\n
Login.c(118): \t\t\t) >= this.options.distance\n
Login.c(118): \t\t);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDelayMet: function(/* event */) {\n
Login.c(118): \t\treturn this.mouseDelayMet;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// These are placeholder methods, to be overriden by extending
plugin\n
Login.c(118): \t_mouseStart: function(/* event */) {},\n
Login.c(118): \t_mouseDrag: function(/* event */) {},\n
Login.c(118): \t_mouseStop: function(/* event */) {},\n
Login.c(118): \t_mouseCapture: function(/* event */) { return true; }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Position 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/position/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): $.ui = $.ui || {};\n
Login.c(118): \n
Login.c(118): var cachedScrollbarWidth, supportsOffsetFractions,\n
Login.c(118): \tmax = Math.max,\n
Login.c(118): \tabs = Math.abs,\n
Login.c(118): \tround = Math.round,\n
Login.c(118): \trhorizontal = /left|center|right/,\n
Login.c(118): \trvertical = /top|center|bottom/,\n
Login.c(118): \troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n
Login.c(118): \trposition = /^\\w+/,\n
Login.c(118): \trpercent = /%$/,\n
Login.c(118): \t_position = $.fn.position;\n
Login.c(118): \n
Login.c(118): function getOffsets( offsets, width, height ) {\n
Login.c(118): \treturn [\n
Login.c(118): \t\tparseFloat( offsets[ 0 ] ) *
( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n
Login.c(118): \t\tparseFloat( offsets[ 1 ] ) *
( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n
Login.c(118): \t];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function parseCss( element, property ) {\n
Login.c(118): \treturn parseInt( $.css( element, property ), 10 ) || 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getDimensions( elem ) {\n
Login.c(118): \tvar raw = elem[0];\n
Login.c(118): \tif ( raw.nodeType === 9 ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: elem.width(),\n
Login.c(118): \t\t\theight: elem.height(),\n
Login.c(118): \t\t\toffset: { top: 0, left: 0 }\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \tif ( $.isWindow( raw ) ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: elem.width(),\n
Login.c(118): \t\t\theight: elem.height(),\n
Login.c(118): \t\t\toffset: { top: elem.scrollTop(), left:
elem.scrollLeft() }\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \tif ( raw.preventDefault ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: 0,\n
Login.c(118): \t\t\theight: 0,\n
Login.c(118): \t\t\toffset: { top: raw.pageY, left: raw.pageX }\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \treturn {\n
Login.c(118): \t\twidth: elem.outerWidth(),\n
Login.c(118): \t\theight: elem.outerHeight(),\n
Login.c(118): \t\toffset: elem.offset()\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.position = {\n
Login.c(118): \tscrollbarWidth: function() {\n
Login.c(118): \t\tif ( cachedScrollbarWidth !== undefined ) {\n
Login.c(118): \t\t\treturn cachedScrollbarWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar w1, w2,\n
Login.c(118): \t\t\tdiv = $( "<div
style='display:block;position:absolute;width:50px;height:50px;overflo
Login.c(118): w:hidden;'><div
style='height:100px;width:auto;'></div></div>" ),\n
Login.c(118): \t\t\tinnerDiv = div.children()[0];\n
Login.c(118): \n
Login.c(118): \t\t$( "body" ).append( div );\n
Login.c(118): \t\tw1 = innerDiv.offsetWidth;\n
Login.c(118): \t\tdiv.css( "overflow", "scroll" );\n
Login.c(118): \n
Login.c(118): \t\tw2 = innerDiv.offsetWidth;\n
Login.c(118): \n
Login.c(118): \t\tif ( w1 === w2 ) {\n
Login.c(118): \t\t\tw2 = div[0].clientWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdiv.remove();\n
Login.c(118): \n
Login.c(118): \t\treturn (cachedScrollbarWidth = w1 - w2);\n
Login.c(118): \t},\n
Login.c(118): \tgetScrollInfo: function( within ) {\n
Login.c(118): \t\tvar overflowX = within.isWindow || within.isDocument ? "" :\n
Login.c(118): \t\t\t\twithin.element.css( "overflow-x" ),\n
Login.c(118): \t\t\toverflowY = within.isWindow || within.isDocument ? "" :\n
Login.c(118): \t\t\t\twithin.element.css( "overflow-y" ),\n
Login.c(118): \t\t\thasOverflowX = overflowX === "scroll" ||\n
Login.c(118): \t\t\t\t( overflowX === "auto" && within.width <
within.element[0].scrollWidth ),\n
Login.c(118): \t\t\thasOverflowY = overflowY === "scroll" ||\n
Login.c(118): \t\t\t\t( overflowY === "auto" && within.height <
within.element[0].scrollHeight );\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n
Login.c(118): \t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \tgetWithinInfo: function( element ) {\n
Login.c(118): \t\tvar withinElement = $( element || window ),\n
Login.c(118): \t\t\tisWindow = $.isWindow( withinElement[0] ),\n
Login.c(118): \t\t\tisDocument = !!withinElement[ 0 ] &&
withinElement[ 0 ].nodeType === 9;\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\telement: withinElement,\n
Login.c(118): \t\t\tisWindow: isWindow,\n
Login.c(118): \t\t\tisDocument: isDocument,\n
Login.c(118): \t\t\toffset: withinElement.offset() || { left: 0, top: 0 },\n
Login.c(118): \t\t\tscrollLeft: withinElement.scrollLeft(),\n
Login.c(118): \t\t\tscrollTop: withinElement.scrollTop(),\n
Login.c(118): \n
Login.c(118): \t\t\t// support: jQuery 1.6.x\n
Login.c(118): \t\t\t// jQuery 1.6 doesn't support .outerWidth/Height() on
documents or windows\n
Login.c(118): \t\t\twidth: isWindow || isDocument ? withinElement.width() :
withinElement.outerWidth(),\n
Login.c(118): \t\t\theight: isWindow || isDocument ? withinElement.height() :
withinElement.outerHeight(
Login.c(118): )\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.fn.position = function( options ) {\n
Login.c(118): \tif ( !options || !options.of ) {\n
Login.c(118): \t\treturn _position.apply( this, arguments );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// make a copy, we don't want to modify arguments\n
Login.c(118): \toptions = $.extend( {}, options );\n
Login.c(118): \n
Login.c(118): \tvar atOffset, targetWidth, targetHeight, targetOffset,
basePosition, dimensions,\n
Login.c(118): \t\ttarget = $( options.of ),\n
Login.c(118): \t\twithin = $.position.getWithinInfo( options.within ),\n
Login.c(118): \t\tscrollInfo = $.position.getScrollInfo( within ),\n
Login.c(118): \t\tcollision = ( options.collision || "flip" ).split( " " ),\n
Login.c(118): \t\toffsets = {};\n
Login.c(118): \n
Login.c(118): \tdimensions = getDimensions( target );\n
Login.c(118): \tif ( target[0].preventDefault ) {\n
Login.c(118): \t\t// force left top to allow flipping\n
Login.c(118): \t\toptions.at = "left top";\n
Login.c(118): \t}\n
Login.c(118): \ttargetWidth = dimensions.width;\n
Login.c(118): \ttargetHeight = dimensions.height;\n
Login.c(118): \ttargetOffset = dimensions.offset;\n
Login.c(118): \t// clone to reuse original targetOffset later\n
Login.c(118): \tbasePosition = $.extend( {}, targetOffset );\n
Login.c(118): \n
Login.c(118): \t// force my and at to have valid horizontal and vertical
positions\n
Login.c(118): \t// if a value is missing or invalid, it will be converted to
center\n
Login.c(118): \t$.each( [ "my", "at" ], function() {\n
Login.c(118): \t\tvar pos = ( options[ this ] || "" ).split( " " ),\n
Login.c(118): \t\t\thorizontalOffset,\n
Login.c(118): \t\t\tverticalOffset;\n
Login.c(118): \n
Login.c(118): \t\tif ( pos.length === 1) {\n
Login.c(118): \t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n
Login.c(118): \t\t\t\tpos.concat( [ "center" ] ) :\n
Login.c(118): \t\t\t\trvertical.test( pos[ 0 ] ) ?\n
Login.c(118): \t\t\t\t\t[ "center" ].concat( pos ) :\n
Login.c(118): \t\t\t\t\t[ "center", "center" ];\n
Login.c(118): \t\t}\n
Login.c(118): \t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] :
"center";\n
Login.c(118): \t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] :
"center";\n
Login.c(118): \n
Login.c(118): \t\t// calculate offsets\n
Login.c(118): \t\thorizontalOffset = roffset.exec(
Login.c(118): t=6018ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): pos[ 0 ] );\n
Login.c(118): \t\tverticalOffset = roffset.exec( pos[ 1 ] );\n
Login.c(118): \t\toffsets[ this ] = [\n
Login.c(118): \t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n
Login.c(118): \t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n
Login.c(118): \t\t];\n
Login.c(118): \n
Login.c(118): \t\t// reduce to just the positions without the offsets\n
Login.c(118): \t\toptions[ this ] = [\n
Login.c(118): \t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n
Login.c(118): \t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n
Login.c(118): \t\t];\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// normalize collision option\n
Login.c(118): \tif ( collision.length === 1 ) {\n
Login.c(118): \t\tcollision[ 1 ] = collision[ 0 ];\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( options.at[ 0 ] === "right" ) {\n
Login.c(118): \t\tbasePosition.left += targetWidth;\n
Login.c(118): \t} else if ( options.at[ 0 ] === "center" ) {\n
Login.c(118): \t\tbasePosition.left += targetWidth / 2;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( options.at[ 1 ] === "bottom" ) {\n
Login.c(118): \t\tbasePosition.top += targetHeight;\n
Login.c(118): \t} else if ( options.at[ 1 ] === "center" ) {\n
Login.c(118): \t\tbasePosition.top += targetHeight / 2;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tatOffset = getOffsets( offsets.at, targetWidth,
targetHeight );\n
Login.c(118): \tbasePosition.left += atOffset[ 0 ];\n
Login.c(118): \tbasePosition.top += atOffset[ 1 ];\n
Login.c(118): \n
Login.c(118): \treturn this.each(function() {\n
Login.c(118): \t\tvar collisionPosition, using,\n
Login.c(118): \t\t\telem = $( this ),\n
Login.c(118): \t\t\telemWidth = elem.outerWidth(),\n
Login.c(118): \t\t\telemHeight = elem.outerHeight(),\n
Login.c(118): \t\t\tmarginLeft = parseCss( this, "marginLeft" ),\n
Login.c(118): \t\t\tmarginTop = parseCss( this, "marginTop" ),\n
Login.c(118): \t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this,
"marginRight" ) + scrollIn
Login.c(118): fo.width,\n
Login.c(118): \t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this,
"marginBottom" ) + scroll
Login.c(118): Info.height,\n
Login.c(118): \t\t\tposition = $.extend( {}, basePosition ),\n
Login.c(118): \t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(),
elem.outerHeight() );\n
Login.c(118): \n
Login.c(118): \t\tif ( options.my[ 0 ] === "right" ) {\n
Login.c(118): \t\t\tposition.left -= elemWidth;\n
Login.c(118): \t\t} else if ( options.my[ 0 ] === "center" ) {\n
Login.c(118): \t\t\tposition.left -= elemWidth / 2;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( options.my[ 1 ] === "bottom" ) {\n
Login.c(118): \t\t\tposition.top -= elemHeight;\n
Login.c(118): \t\t} else if ( options.my[ 1 ] === "center" ) {\n
Login.c(118): \t\t\tposition.top -= elemHeight / 2;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tposition.left += myOffset[ 0 ];\n
Login.c(118): \t\tposition.top += myOffset[ 1 ];\n
Login.c(118): \n
Login.c(118): \t\t// if the browser doesn't support fractions, then round for
consistent results\n
Login.c(118): \t\tif ( !supportsOffsetFractions ) {\n
Login.c(118): \t\t\tposition.left = round( position.left );\n
Login.c(118): \t\t\tposition.top = round( position.top );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tcollisionPosition = {\n
Login.c(118): \t\t\tmarginLeft: marginLeft,\n
Login.c(118): \t\t\tmarginTop: marginTop\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t$.each( [ "left", "top" ], function( i, dir ) {\n
Login.c(118): \t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n
Login.c(118): \t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n
Login.c(118): \t\t\t\t\ttargetWidth: targetWidth,\n
Login.c(118): \t\t\t\t\ttargetHeight: targetHeight,\n
Login.c(118): \t\t\t\t\telemWidth: elemWidth,\n
Login.c(118): \t\t\t\t\telemHeight: elemHeight,\n
Login.c(118): \t\t\t\t\tcollisionPosition: collisionPosition,\n
Login.c(118): \t\t\t\t\tcollisionWidth: collisionWidth,\n
Login.c(118): \t\t\t\t\tcollisionHeight: collisionHeight,\n
Login.c(118): \t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ]
+ myOffset[ 1 ] ],\n
Login.c(118): \t\t\t\t\tmy: options.my,\n
Login.c(118): \t\t\t\t\tat: options.at,\n
Login.c(118): \t\t\t\t\twithin: within,\n
Login.c(118): \t\t\t\t\telem: elem\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( options.using ) {\n
Login.c(118): \t\t\t// adds feedback as second argument to using callback, if
present\n
Login.c(118): \t\t\tusing = function( props ) {\n
Login.c(118): \t\t\t\tvar left = targetOffset.left - position.left,\n
Login.c(118): \t\t\t\t\tright = left + targetWidth - elemWidth,\n
Login.c(118): \t\t\t\t\ttop = targetOffset.top - position.top,\n
Login.c(118): \t\t\t\t\tbottom = top + targetHeight - elemHeight,\n
Login.c(118): \t\t\t\t\tfeedback = {\n
Login.c(118): \t\t\t\t\t\ttarget: {\n
Login.c(118): \t\t\t\t\t\t\telement: target,\n
Login.c(118): \t\t\t\t\t\t\tleft: targetOffset.left,\n
Login.c(118): \t\t\t\t\t\t\ttop: targetOffset.top,\n
Login.c(118): \t\t\t\t\t\t\twidth: targetWidth,\n
Login.c(118): \t\t\t\t\t\t\theight: targetHeight\n
Login.c(118): \t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\telement: {\n
Login.c(118): \t\t\t\t\t\t\telement: elem,\n
Login.c(118): \t\t\t\t\t\t\tleft: position.left,\n
Login.c(118): \t\t\t\t\t\t\ttop: position.top,\n
Login.c(118): \t\t\t\t\t\t\twidth: elemWidth,\n
Login.c(118): \t\t\t\t\t\t\theight: elemHeight\n
Login.c(118): \t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\thorizontal: right < 0 ? "left" : left > 0 ? "right" :
"center",\n
Login.c(118): \t\t\t\t\t\tvertical: bottom < 0 ? "top" : top > 0 ? "bottom" :
"middle"\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) <
targetWidth ) {\n
Login.c(118): \t\t\t\t\tfeedback.horizontal = "center";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) <
targetHeight ) {\n
Login.c(118): \t\t\t\t\tfeedback.vertical = "middle";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ),
abs( bottom ) ) ) {\n
Login.c(118): \t\t\t\t\tfeedback.important = "horizontal";\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tfeedback.important = "vertical";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\toptions.using.call( this, props, feedback );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\telem.offset( $.extend( position, { using: using } ) );\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.ui.position = {\n
Login.c(118): \tfit: {\n
Login.c(118): \t\tleft: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.isWindow ? within.scrollLeft :
within.offset.left,\n
Login.c(118): \t\t\t\touterWidth = within.width,\n
Login.c(118): \t\t\t\tcollisionPosLeft = position.left -
data.collisionPosition.marginLeft,\n
Login.c(118): \t\t\t\toverLeft = withinOffset - collisionPosLeft,\n
Login.c(118): \t\t\t\toverRight = collisionPosLeft + data.collisionWidth -
outerWidth - withinOffset,\n
Login.c(118): \t\t\t\tnewOverRight;\n
Login.c(118): \n
Login.c(118): \t\t\t// element is wider than within\n
Login.c(118): \t\t\tif ( data.collisionWidth > outerWidth ) {\n
Login.c(118): \t\t\t\t// element is initially over the left side of within\n
Login.c(118): \t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n
Login.c(118): \t\t\t\t\tnewOverRight = position.left + overLeft +
data.collisionWidth - outerWidth - wit
Login.c(118): hinOffset;\n
Login.c(118): \t\t\t\t\tposition.left += overLeft - newOverRight;\n
Login.c(118): \t\t\t\t// element is initially over right side of within\n
Login.c(118): \t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n
Login.c(118): \t\t\t\t\tposition.left = withinOffset;\n
Login.c(118): \t\t\t\t// element is initially over both left and right sides of
within\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tif ( overLeft > overRight ) {\n
Login.c(118): \t\t\t\t\t\tposition.left = withinOffset + outerWidth -
data.collisionWidth;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tposition.left = withinOffset;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t// too far left -> align with left edge\n
Login.c(118): \t\t\t} else if ( overLeft > 0 ) {\n
Login.c(118): \t\t\t\tposition.left += overLeft;\n
Login.c(118): \t\t\t// too far right -> align with right edge\n
Login.c(118): \t\t\t} else if ( overRight > 0 ) {\n
Login.c(118): \t\t\t\tposition.left -= overRight;\n
Login.c(118): \t\t\t// adjust based on position and margin\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tposition.left = max( position.left - collisionPosLeft,
position.left );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\ttop: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.isWindow ? within.scrollTop :
within.offset.top,\n
Login.c(118): \t\t\t\touterHeight = data.within.height,\n
Login.c(118): \t\t\t\tcollisionPosTop = position.top -
data.collisionPosition.marginTop,\n
Login.c(118): \t\t\t\toverTop = withinOffset - collisionPosTop,\n
Login.c(118): \t\t\t\toverBottom = collisionPosTop + data.collisionHeight -
outerHeight - withinOffset,\n
Login.c(118): \t\t\t\tnewOverBottom;\n
Login.c(118): \n
Login.c(118): \t\t\t// element is taller than within\n
Login.c(118): \t\t\tif ( data.collisionHeight > outerHeight ) {\n
Login.c(118): \t\t\t\t// element is initially over the top of within\n
Login.c(118): \t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n
Login.c(118): \t\t\t\t\tnewOverBottom = position.top + overTop +
data.collisionHeight - outerHeight - wi
Login.c(118): thinOffset;\n
Login.c(118): \t\t\t\t\tposition.top += overTop - newOverBottom;\n
Login.c(118): \t\t\t\t// element is initially over bottom of within\n
Login.c(118): \t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n
Login.c(118): \t\t\t\t\tposition.top = withinOffset;\n
Login.c(118): \t\t\t\t// element is initially over both top and bottom of
within\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tif ( overTop > overBottom ) {\n
Login.c(118): \t\t\t\t\t\tposition.top = withinOffset + outerHeight -
data.collisionHeight;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tposition.top = withinOffset;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t// too far up -> align with top\n
Login.c(118): \t\t\t} else if ( overTop > 0 ) {\n
Login.c(118): \t\t\t\tposition.top += overTop;\n
Login.c(118): \t\t\t// too far down -> align with bottom edge\n
Login.c(118): \t\t\t} else if ( overBottom > 0 ) {\n
Login.c(118): \t\t\t\tposition.top -= overBottom;\n
Login.c(118): \t\t\t// adjust based on position and margin\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tposition.top = max( position.top - collisionPosTop,
position.top );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tflip: {\n
Login.c(118): \t\tleft: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n
Login.c(118): \t\t\t\touterWidth = within.width,\n
Login.c(118): \t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft :
within.offset.left,\n
Login.c(118): \t\t\t\tcollisionPosLeft = position.left -
data.collisionPosition.marginLeft,\n
Login.c(118): \t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n
Login.c(118): \t\t\t\toverRight = collisionPosLeft + data.collisionWidth -
outerWidth - offsetLeft,\n
Login.c(118): \t\t\t\tmyOffset = data.my[ 0 ] === "left" ?\n
Login.c(118): \t\t\t\t\t-data.elemWidth :\n
Login.c(118): \t\t\t\t\tdata.my[ 0 ] === "right" ?\n
Login.c(118): \t\t\t\t\t\tdata.elemWidth :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\tatOffset = data.at[ 0 ] === "left" ?\n
Login.c(118): \t\t\t\t\tdata.targetWidth :\n
Login.c(118): \t\t\t\t\tdata.at[ 0 ] === "right" ?\n
Login.c(118): \t\t\t\t\t\t-data.targetWidth :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\toffset = -2 * data.offset[ 0 ],\n
Login.c(118): \t\t\t\tnewOverRight,\n
Login.c(118): \t\t\t\tnewOverLeft;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( overLeft < 0 ) {\n
Login.c(118): \t\t\t\tnewOverRight = position.left + myOffset + atOffset +
offset + data.collisionWidth
Login.c(118): - outerWidth - withinOffset;\n
Login.c(118): \t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) )
{\n
Login.c(118): \t\t\t\t\tposition.left += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else if ( overRight > 0 ) {\n
Login.c(118): \t\t\t\tnewOverLeft = position.left -
data.collisionPosition.marginLeft + myOffset + atOff
Login.c(118): set + offset - offsetLeft;\n
Login.c(118): \t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight )
{\n
Login.c(118): \t\t\t\t\tposition.left += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\ttop: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n
Login.c(118): \t\t\t\touterHeight = within.height,\n
Login.c(118): \t\t\t\toffsetTop = within.isWindow ? within.scrollTop :
within.offset.top,\n
Login.c(118): \t\t\t\tcollisionPosTop = position.top -
data.collisionPosition.marginTop,\n
Login.c(118): \t\t\t\toverTop = collisionPosTop - offsetTop,\n
Login.c(118): \t\t\t\toverBottom = collisionPosTop + data.collisionHeight -
outerHeight - offsetTop,\n
Login.c(118): \t\t\t\ttop = data.my[ 1 ] === "top",\n
Login.c(118): \t\t\t\tmyOffset = top ?\n
Login.c(118): \t\t\t\t\t-data.elemHeight :\n
Login.c(118): \t\t\t\t\tdata.my[ 1 ] === "bottom" ?\n
Login.c(118): \t\t\t\t\t\tdata.elemHeight :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\tatOffset = data.at[ 1 ] === "top" ?\n
Login.c(118): \t\t\t\t\tdata.targetHeight :\n
Login.c(118): \t\t\t\t\tdata.at[ 1 ] === "bottom" ?\n
Login.c(118): \t\t\t\t\t\t-data.targetHeight :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\toffset = -2 * data.offset[ 1 ],\n
Login.c(118): \t\t\t\tnewOverTop,\n
Login.c(118): \t\t\t\tnewOverBottom;\n
Login.c(118): \t\t\tif ( overTop < 0 ) {\n
Login.c(118): \t\t\t\tnewOverBottom = position.top + myOffset + atOffset +
offset + data.collisionHeight
Login.c(118): - outerHeight - withinOffset;\n
Login.c(118): \t\t\t\tif ( ( position.top + myOffset + atOffset + offset) >
overTop && ( newOverBottom <
Login.c(118): 0 || newOverBottom < abs( overTop ) ) ) {\n
Login.c(118): \t\t\t\t\tposition.top += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else if ( overBottom > 0 ) {\n
Login.c(118): \t\t\t\tnewOverTop = position.top -
data.collisionPosition.marginTop + myOffset + atOffset
Login.c(118): + offset - offsetTop;\n
Login.c(118): \t\t\t\tif ( ( position.top + myOffset + atOffset + offset) >
overBottom && ( newOverTop >
Login.c(118): 0 || abs( newOverTop ) < overBottom ) ) {\n
Login.c(118): \t\t\t\t\tposition.top += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tflipfit: {\n
Login.c(118): \t\tleft: function() {\n
Login.c(118): \t\t\t$.ui.position.flip.left.apply( this, arguments );\n
Login.c(118): \t\t\t$.ui.position.fit.left.apply( this, arguments );\n
Login.c(118): \t\t},\n
Login.c(118): \t\ttop: function() {\n
Login.c(118): \t\t\t$.ui.position.flip.top.apply( this, arguments );\n
Login.c(118): \t\t\t$.ui.position.fit.top.apply( this, arguments );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // fraction support test\n
Login.c(118): (function() {\n
Login.c(118): \tvar testElement, testElementParent, testElementStyle,
offsetLeft, i,\n
Login.c(118): \t\tbody = document.getElementsByTagName( "body" )[ 0 ],\n
Login.c(118): \t\tdiv = document.createElement( "div" );\n
Login.c(118): \n
Login.c(118): \t//Create a "fake body" for testing based on method used in
jQuery.support\n
Login.c(118): \ttestElement = document.createElement( body ? "div" :
"body" );\n
Login.c(118): \ttestElementStyle = {\n
Login.c(118): \t\tvisibility: "hidden",\n
Login.c(118): \t\twidth: 0,\n
Login.c(118): \t\theight: 0,\n
Login.c(118): \t\tborder: 0,\n
Login.c(118): \t\tmargin: 0,\n
Login.c(118): \t\tbackground: "none"\n
Login.c(118): \t};\n
Login.c(118): \tif ( body ) {\n
Login.c(118): \t\t$.extend( testElementStyle, {\n
Login.c(118): \t\t\tposition: "absolute",\n
Login.c(118): \t\t\tleft: "-1000px",\n
Login.c(118): \t\t\ttop: "-1000px"\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): \tfor ( i in testElementStyle ) {\n
Login.c(118): \t\ttestElement.style[ i ] = testElementStyle[ i ];\n
Login.c(118): \t}\n
Login.c(118): \ttestElement.appendChild( div );\n
Login.c(118): \ttestElementParent = body || document.documentElement;\n
Login.c(118): \ttestElementParent.insertBefore( testElement,
testElementParent.firstChild );\n
Login.c(118): \n
Login.c(118): \tdiv.style.cssText = "position: absolute; left:
10.7432222px;";\n
Login.c(118): \n
Login.c(118): \toffsetLeft = $( div ).offset().left;\n
Login.c(118): \tsupportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11;\n
Login.c(118): \n
Login.c(118): \ttestElement.innerHTML = "";\n
Login.c(118): \ttestElementParent.removeChild( testElement );\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): var position = $.ui.position;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Accordion 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/accordion/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var accordion = $.widget( "ui.accordion", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tactive: 0,\n
Login.c(118): \t\tanimate: {},\n
Login.c(118): \t\tcollapsible: false,\n
Login.c(118): \t\tevent: "click",\n
Login.c(118): \t\theader: "> li > :first-child,> :not(li):even",\n
Login.c(118): \t\theightStyle: "auto",\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tactiveHeader: "ui-icon-triangle-1-s",\n
Login.c(118): \t\t\theader: "ui-icon-triangle-1-e"\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tbeforeActivate: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \thideProps: {\n
Login.c(118): \t\tborderTopWidth: "hide",\n
Login.c(118): \t\tborderBottomWidth: "hide",\n
Login.c(118): \t\tpaddingTop: "hide",\n
Login.c(118): \t\tpaddingBottom: "hide",\n
Login.c(118): \t\theight: "hide"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tshowProps: {\n
Login.c(118): \t\tborderTopWidth: "show",\n
Login.c(118): \t\tborderBottomWidth: "show",\n
Login.c(118): \t\tpaddingTop: "show",\n
Login.c(118): \t\tpaddingBottom: "show",\n
Login.c(118): \t\theight: "show"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \t\tthis.prevShow = this.prevHide = $();\n
Login.c(118): \t\tthis.element.addClass( "ui-accordion ui-widget ui-helper-
reset" )\n
Login.c(118): \t\t\t// ARIA\n
Login.c(118): \t\t\t.attr( "role", "tablist" );\n
Login.c(118): \n
Login.c(118): \t\t// don't allow collapsible: false and active: false / nu
Login.c(118): t=6038ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ll\n
Login.c(118): \t\tif ( !options.collapsible && (options.active === false ||
options.active == null) ) {\n
Login.c(118): \t\t\toptions.active = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._processPanels();\n
Login.c(118): \t\t// handle negative values\n
Login.c(118): \t\tif ( options.active < 0 ) {\n
Login.c(118): \t\t\toptions.active += this.headers.length;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateEventData: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\theader: this.active,\n
Login.c(118): \t\t\tpanel: !this.active.length ? $() : this.active.next()\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createIcons: function() {\n
Login.c(118): \t\tvar icons = this.options.icons;\n
Login.c(118): \t\tif ( icons ) {\n
Login.c(118): \t\t\t$( "<span>" )\n
Login.c(118): \t\t\t\t.addClass( "ui-accordion-header-icon ui-icon " +
icons.header )\n
Login.c(118): \t\t\t\t.prependTo( this.headers );\n
Login.c(118): \t\t\tthis.active.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t.removeClass( icons.header )\n
Login.c(118): \t\t\t\t.addClass( icons.activeHeader );\n
Login.c(118): \t\t\tthis.headers.addClass( "ui-accordion-icons" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroyIcons: function() {\n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.removeClass( "ui-accordion-icons" )\n
Login.c(118): \t\t\t.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t.remove();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar contents;\n
Login.c(118): \n
Login.c(118): \t\t// clean up main element\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-accordion ui-widget ui-helper-reset" )\n
Login.c(118): \t\t\t.removeAttr( "role" );\n
Login.c(118): \n
Login.c(118): \t\t// clean up headers\n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.removeClass( "ui-accordion-header ui-accordion-header-
active ui-state-default " +\n
Login.c(118): \t\t\t\t"ui-corner-all ui-state-active ui-state-disabled ui-
corner-top" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-expanded" )\n
Login.c(118): \t\t\t.removeAttr( "aria-selected" )\n
Login.c(118): \t\t\t.removeAttr( "aria-controls" )\n
Login.c(118): \t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t.removeUniqueId();\n
Login.c(118): \n
Login.c(118): \t\tthis._destroyIcons();\n
Login.c(118): \n
Login.c(118): \t\t// clean up content panels\n
Login.c(118): \t\tcontents = this.headers.next()\n
Login.c(118): \t\t\t.removeClass( "ui-helper-reset ui-widget-content ui-corner-
bottom " +\n
Login.c(118): \t\t\t\t"ui-accordion-content ui-accordion-content-active ui-
state-disabled" )\n
Login.c(118): \t\t\t.css( "display", "" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t.removeAttr( "aria-labelledby" )\n
Login.c(118): \t\t\t.removeUniqueId();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.heightStyle !== "content" ) {\n
Login.c(118): \t\t\tcontents.css( "height", "" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "active" ) {\n
Login.c(118): \t\t\t// _activate() will handle invalid values and update
this.options\n
Login.c(118): \t\t\tthis._activate( value );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "event" ) {\n
Login.c(118): \t\t\tif ( this.options.event ) {\n
Login.c(118): \t\t\t\tthis._off( this.headers, this.options.event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._setupEvents( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\t// setting collapsible: false while collapsed; open first
panel\n
Login.c(118): \t\tif ( key === "collapsible" && !value && this.options.active
=== false ) {\n
Login.c(118): \t\t\tthis._activate( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis._destroyIcons();\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tthis._createIcons();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// #5332 - opacity doesn't cascade to positioned elements in
IE\n
Login.c(118): \t\t// so we need to add the disabled class to the headers and
panels\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \t\t\tthis.headers.add( this.headers.next() )\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keydown: function( event ) {\n
Login.c(118): \t\tif ( event.altKey || event.ctrlKey ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar keyCode = $.ui.keyCode,\n
Login.c(118): \t\t\tlength = this.headers.length,\n
Login.c(118): \t\t\tcurrentIndex = this.headers.index( event.target ),\n
Login.c(118): \t\t\ttoFocus = false;\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\tcase keyCode.RIGHT:\n
Login.c(118): \t\t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) %
length ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.LEFT:\n
Login.c(118): \t\t\tcase keyCode.UP:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) %
length ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.SPACE:\n
Login.c(118): \t\t\tcase keyCode.ENTER:\n
Login.c(118): \t\t\t\tthis._eventHandler( event );\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.HOME:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ 0 ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.END:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ length - 1 ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( toFocus ) {\n
Login.c(118): \t\t\t$( event.target ).attr( "tabIndex", -1 );\n
Login.c(118): \t\t\t$( toFocus ).attr( "tabIndex", 0 );\n
Login.c(118): \t\t\ttoFocus.focus();\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_panelKeyDown: function( event ) {\n
Login.c(118): \t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\n
Login.c(118): \t\t\t$( event.currentTarget ).prev().focus();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \t\tthis._processPanels();\n
Login.c(118): \n
Login.c(118): \t\t// was collapsed or no panel\n
Login.c(118): \t\tif ( ( options.active === false && options.collapsible ===
true ) || !this.headers.len
Login.c(118): gth ) {\n
Login.c(118): \t\t\toptions.active = false;\n
Login.c(118): \t\t\tthis.active = $();\n
Login.c(118): \t\t// active false only when collapsible is true\n
Login.c(118): \t\t} else if ( options.active === false ) {\n
Login.c(118): \t\t\tthis._activate( 0 );\n
Login.c(118): \t\t// was active, but active panel is gone\n
Login.c(118): \t\t} else if ( this.active.length && !
$.contains( this.element[ 0 ], this.active[ 0 ] ) )
Login.c(118): {\n
Login.c(118): \t\t\t// all remaining panel are disabled\n
Login.c(118): \t\t\tif ( this.headers.length === this.headers.find(".ui-state-
disabled").length ) {\n
Login.c(118): \t\t\t\toptions.active = false;\n
Login.c(118): \t\t\t\tthis.active = $();\n
Login.c(118): \t\t\t// activate previous panel\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis._activate( Math.max( 0, options.active - 1 ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t// was active, active panel still exists\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t// make sure active index is correct\n
Login.c(118): \t\t\toptions.active = this.headers.index( this.active );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._destroyIcons();\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_processPanels: function() {\n
Login.c(118): \t\tthis.headers = this.element.find( this.options.header )\n
Login.c(118): \t\t\t.addClass( "ui-accordion-header ui-state-default ui-corner-
all" );\n
Login.c(118): \n
Login.c(118): \t\tthis.headers.next()\n
Login.c(118): \t\t\t.addClass( "ui-accordion-content ui-helper-reset ui-widget-
content ui-corner-bottom"
Login.c(118): )\n
Login.c(118): \t\t\t.filter( ":not(.ui-accordion-content-active)" )\n
Login.c(118): \t\t\t.hide();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tvar maxHeight,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\theightStyle = options.heightStyle,\n
Login.c(118): \t\t\tparent = this.element.parent();\n
Login.c(118): \n
Login.c(118): \t\tthis.active = this._findActive( options.active )\n
Login.c(118): \t\t\t.addClass( "ui-accordion-header-active ui-state-active ui-
corner-top" )\n
Login.c(118): \t\t\t.removeClass( "ui-corner-all" );\n
Login.c(118): \t\tthis.active.next()\n
Login.c(118): \t\t\t.addClass( "ui-accordion-content-active" )\n
Login.c(118): \t\t\t.show();\n
Login.c(118): \n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.attr( "role", "tab" )\n
Login.c(118): \t\t\t.each(function() {\n
Login.c(118): \t\t\t\tvar header = $( this ),\n
Login.c(118): \t\t\t\t\theaderId = header.uniqueId().attr( "id" ),\n
Login.c(118): \t\t\t\t\tpanel = header.next(),\n
Login.c(118): \t\t\t\t\tpanelId = panel.uniqueId().attr( "id" );\n
Login.c(118): \t\t\t\theader.attr( "aria-controls", panelId );\n
Login.c(118): \t\t\t\tpanel.attr( "aria-labelledby", headerId );\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.next()\n
Login.c(118): \t\t\t\t.attr( "role", "tabpanel" );\n
Login.c(118): \n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.not( this.active )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t"aria-selected": "false",\n
Login.c(118): \t\t\t\t"aria-expanded": "false",\n
Login.c(118): \t\t\t\ttabIndex: -1\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.next()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-hidden": "true"\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.hide();\n
Login.c(118): \n
Login.c(118): \t\t// make sure at least one header is in the tab order\n
Login.c(118): \t\tif ( !this.active.length ) {\n
Login.c(118): \t\t\tthis.headers.eq( 0 ).attr( "tabIndex", 0 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.active.attr({\n
Login.c(118): \t\t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t\t"aria-expanded": "true",\n
Login.c(118): \t\t\t\ttabIndex: 0\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.next()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-hidden": "false"\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._createIcons();\n
Login.c(118): \n
Login.c(118): \t\tthis._setupEvents( options.event );\n
Login.c(118): \n
Login.c(118): \t\tif ( heightStyle === "fill" ) {\n
Login.c(118): \t\t\tmaxHeight = parent.height();\n
Login.c(118): \t\t\tthis.element.siblings( ":visible" ).each(function() {\n
Login.c(118): \t\t\t\tvar elem = $( this ),\n
Login.c(118): \t\t\t\t\tposition = elem.css( "position" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( position === "absolute" || position === "fixed" )
{\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmaxHeight -= elem.outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.headers.each(function() {\n
Login.c(118): \t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.headers.next()\n
Login.c(118): \t\t\t\t.each(function() {\n
Login.c(118): \t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n
Login.c(118): \t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.css( "overflow", "auto" );\n
Login.c(118): \t\t} else if ( heightStyle === "auto" ) {\n
Login.c(118): \t\t\tmaxHeight = 0;\n
Login.c(118): \t\t\tthis.headers.next()\n
Login.c(118): \t\t\t\t.each(function() {\n
Login.c(118): \t\t\t\t\tmaxHeight = Math.max( maxHeight, $
( this ).css( "height", "" ).height() );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.height( maxHeight );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( index ) {\n
Login.c(118): \t\tvar active = this._findActive( index )[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\t// trying to activate the already active panel\n
Login.c(118): \t\tif ( active === this.active[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// trying to collapse, simulate a click on the currently
active header\n
Login.c(118): \t\tactive = active || this.active[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tthis._eventHandler({\n
Login.c(118): \t\t\ttarget: active,\n
Login.c(118): \t\t\tcurrentTarget: active,\n
Login.c(118): \t\t\tpreventDefault: $.noop\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_findActive: function( selector ) {\n
Login.c(118): \t\treturn typeof selector === "number" ?
this.headers.eq( selector ) : $();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupEvents: function( event ) {\n
Login.c(118): \t\tvar events = {\n
Login.c(118): \t\t\tkeydown: "_keydown"\n
Login.c(118): \t\t};\n
Login.c(118): \t\tif ( event ) {\n
Login.c(118): \t\t\t$.each( event.split( " " ), function( index, eventName )
{\n
Login.c(118): \t\t\t\tevents[ eventName ] = "_eventHandler";\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._off( this.headers.add( this.headers.next() ) );\n
Login.c(118): \t\tthis._on( this.headers, events );\n
Login.c(118): \t\tthis._on( this.headers.next(), { keydown:
"_panelKeyDown" });\n
Login.c(118): \t\tthis._hoverable( this.headers );\n
Login.c(118): \t\tthis._focusable( this.headers );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_eventHandler: function( event ) {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tactive = this.active,\n
Login.c(118): \t\t\tclicked = $( event.currentTarget ),\n
Login.c(118): \t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\n
Login.c(118): \t\t\tcollapsing = clickedIsActive && options.collapsible,\n
Login.c(118): \t\t\ttoShow = collapsing ? $() : clicked.next(),\n
Login.c(118): \t\t\ttoHide = active.next(),\n
Login.c(118): \t\t\teventData = {\n
Login.c(118): \t\t\t\toldHeader: active,\n
Login.c(118): \t\t\t\toldPanel: toHide,\n
Login.c(118): \t\t\t\tnewHeader: collapsing ? $() : clicked,\n
Login.c(118): \t\t\t\tnewPanel: toShow\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\tif (\n
Login.c(118): \t\t\t\t// click on active header, but not collapsible\n
Login.c(118): \t\t\t\t( clickedIsActive && !options.collapsible ) ||\n
Login.c(118): \t\t\t\t// allow canceling activation\n
Login.c(118): \t\t\t\t( this._trigger( "beforeActivate", event, eventData ) ===
false ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\toptions.active = collapsing ? false :
this.headers.index( clicked );\n
Login.c(118): \n
Login.c(118): \t\t// when the call to ._toggle() comes after the class
changes\n
Login.c(118): \t\t// it causes a very odd bug in IE 8 (see #6720)\n
Login.c(118): \t\tthis.active = clickedIsActive ? $() : clicked;\n
Login.c(118): \t\tthis._toggle( eventData );\n
Login.c(118): \n
Login.c(118): \t\t// switch classes\n
Login.c(118): \t\t// corner classes on the previously active header stay after
the animation\n
Login.c(118): \t\tactive.removeClass( "ui-accordion-header-active ui-state-
active" );\n
Login.c(118): \t\tif ( options.icons ) {\n
Login.c(118): \t\t\tactive.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t.removeClass( options.icons.activeHeader )\n
Login.c(118): \t\t\t\t.addClass( options.icons.header );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !clickedIsActive ) {\n
Login.c(118): \t\t\tclicked\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-all" )\n
Login.c(118): \t\t\t\t.addClass( "ui-accordion-header-active ui-state-active
ui-corner-top" );\n
Login.c(118): \t\t\tif ( options.icons ) {\n
Login.c(118): \t\t\t\tclicked.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t\t.removeClass( options.icons.header )\n
Login.c(118): \t\t\t\t\t.addClass( options.icons.activeHeader );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tclicked\n
Login.c(118): \t\t\t\t.next()\n
Login.c(118): \t\t\t\t.addClass( "ui-accordion-content-active" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggle: function( data ) {\n
Login.c(118): \t\tvar toShow = data.newPanel,\n
Login.c(118): \t\t\ttoHide = this.prevShow.length ? this.prevShow :
data.oldPanel;\n
Login.c(118): \n
Login.c(118): \t\t// handle activating a panel during the animation for another
activation\n
Login.c(118): \t\tthis.prevShow.add( this.prevHide ).stop( true, true );\n
Login.c(118): \t\tthis.prevShow = toShow;\n
Login.c(118): \t\tthis.prevHide = toHide;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.animate ) {\n
Login.c(118): \t\t\tthis._animate( toShow, toHide, data );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\ttoHide.hide();\n
Login.c(118): \t\t\ttoShow.show();\n
Login.c(118): \t\t\tthis._toggleComplete( data );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoHide.attr({\n
Login.c(118): \t\t\t"aria-hidden": "true"\n
Login.c(118): \t\t});\n
Login.c(118): \t\ttoHide.prev().attr( "aria-selected", "false" );\n
Login.c(118): \t\t// if we're switching panels, remove the old header from the
tab order\n
Login.c(118): \t\t// if we're opening from collapsed state, remove the previous
header from the tab orde
Login.c(118): r\n
Login.c(118): \t\t// if we're collapsing, then keep the collapsing header in
the tab order\n
Login.c(118): \t\tif ( toShow.length && toHide.length ) {\n
Login.c(118): \t\t\ttoHide.prev().attr({\n
Login.c(118): \t\t\t\t"tabIndex": -1,\n
Login.c(118): \t\t\t\t"aria-expanded": "false"\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else if ( toShow.length ) {\n
Login.c(118): \t\t\tthis.headers.filter(function() {\n
Login.c(118): \t\t\t\treturn $( this ).attr( "tabIndex" ) === 0;\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.attr( "tabIndex", -1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoShow\n
Login.c(118): \t\t\t.attr( "aria-hidden", "false" )\n
Login.c(118): \t\t\t.prev()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t\t\ttabIndex: 0,\n
Login.c(118): \t\t\t\t\t"aria-expanded": "true"\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_animate: function( toShow, toHide, data ) {\n
Login.c(118): \t\tvar total, easing, duration,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\tadjust = 0,\n
Login.c(118): \t\t\tdown = toShow.length &&\n
Login.c(118): \t\t\t\t( !toHide.length || ( toShow.index() <
toHide.index() ) ),\n
Login.c(118): \t\t\tanimate = this.options.animate || {},\n
Login.c(118): \t\t\toptions = down && animate.down || animate,\n
Login.c(118): \t\t\tcomplete = function() {\n
Login.c(118): \t\t\t\tthat._toggleComplete( data );\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof options === "number" ) {\n
Login.c(118): \t\t\tduration = options;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( typeof options === "string" ) {\n
Login.c(118): \t\t\teasing = options;\n
Login.c(118): \t\t}\n
Login.c(118): \t\t// fall back from options to animation in case of partial
down settings\n
Login.c(118): \t\teasing = easing || options.easing || animate.easing;\n
Login.c(118): \t\tduration = duration || options.duration ||
animate.duration;\n
Login.c(118): \n
Login.c(118): \t\tif ( !toHide.length ) {\n
Login.c(118): \t\t\treturn toShow.animate( this.showProps, duration, easing,
complete );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !toShow.length ) {\n
Login.c(118): \t\t\treturn toHide.animate( this.hideProps, duration, easing,
complete );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttotal = toShow.show().outerHeight();\n
Login.c(118): \t\ttoH
Login.c(118): t=6061ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ide.animate( this.hideProps, {\n
Login.c(118): \t\t\tduration: duration,\n
Login.c(118): \t\t\teasing: easing,\n
Login.c(118): \t\t\tstep: function( now, fx ) {\n
Login.c(118): \t\t\t\tfx.now = Math.round( now );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\ttoShow\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.animate( this.showProps, {\n
Login.c(118): \t\t\t\tduration: duration,\n
Login.c(118): \t\t\t\teasing: easing,\n
Login.c(118): \t\t\t\tcomplete: complete,\n
Login.c(118): \t\t\t\tstep: function( now, fx ) {\n
Login.c(118): \t\t\t\t\tfx.now = Math.round( now );\n
Login.c(118): \t\t\t\t\tif ( fx.prop !== "height" ) {\n
Login.c(118): \t\t\t\t\t\tadjust += fx.now;\n
Login.c(118): \t\t\t\t\t} else if ( that.options.heightStyle !== "content" )
{\n
Login.c(118): \t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() -
adjust );\n
Login.c(118): \t\t\t\t\t\tadjust = 0;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggleComplete: function( data ) {\n
Login.c(118): \t\tvar toHide = data.oldPanel;\n
Login.c(118): \n
Login.c(118): \t\ttoHide\n
Login.c(118): \t\t\t.removeClass( "ui-accordion-content-active" )\n
Login.c(118): \t\t\t.prev()\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-top" )\n
Login.c(118): \t\t\t\t.addClass( "ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\t// Work around for rendering bug in IE (#5421)\n
Login.c(118): \t\tif ( toHide.length ) {\n
Login.c(118): \t\t\ttoHide.parent()[ 0 ].className = toHide.parent()
[ 0 ].className;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._trigger( "activate", null, data );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Menu 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/menu/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var menu = $.widget( "ui.menu", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<ul>",\n
Login.c(118): \tdelay: 300,\n
Login.c(118): \toptions: {\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tsubmenu: "ui-icon-carat-1-e"\n
Login.c(118): \t\t},\n
Login.c(118): \t\titems: "> *",\n
Login.c(118): \t\tmenus: "ul",\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left-1 top",\n
Login.c(118): \t\t\tat: "right top"\n
Login.c(118): \t\t},\n
Login.c(118): \t\trole: "menu",\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tblur: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\tselect: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.activeMenu = this.element;\n
Login.c(118): \n
Login.c(118): \t\t// Flag used to prevent firing of the click handler\n
Login.c(118): \t\t// as the event bubbles up through nested menus\n
Login.c(118): \t\tthis.mouseHandled = false;\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.uniqueId()\n
Login.c(118): \t\t\t.addClass( "ui-menu ui-widget ui-widget-content" )\n
Login.c(118): \t\t\t.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-
icon" ).length )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: this.options.role,\n
Login.c(118): \t\t\t\ttabIndex: 0\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.addClass( "ui-state-disabled" )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", "true" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._on({\n
Login.c(118): \t\t\t// Prevent focus from sticking to links inside menu after
clicking\n
Login.c(118): \t\t\t// them (focus should always stay on UL during
navigation).\n
Login.c(118): \t\t\t"mousedown .ui-menu-item": function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t"click .ui-menu-item": function( event ) {\n
Login.c(118): \t\t\t\tvar target = $( event.target );\n
Login.c(118): \t\t\t\tif ( !this.mouseHandled && target.not( ".ui-state-
disabled" ).length ) {\n
Login.c(118): \t\t\t\t\tthis.select( event );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Only set the mouseHandled flag if the event will
bubble, see #9469.\n
Login.c(118): \t\t\t\t\tif ( !event.isPropagationStopped() ) {\n
Login.c(118): \t\t\t\t\t\tthis.mouseHandled = true;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Open submenu on click\n
Login.c(118): \t\t\t\t\tif ( target.has( ".ui-menu" ).length ) {\n
Login.c(118): \t\t\t\t\t\tthis.expand( event );\n
Login.c(118): \t\t\t\t\t} else if ( !this.element.is( ":focus" ) && $
( this.document[ 0 ].activeElement
Login.c(118): ).closest( ".ui-menu" ).length ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// Redirect focus to the menu\n
Login.c(118): \t\t\t\t\t\tthis.element.trigger( "focus", [ true ] );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// If the active item is on the top level, let it
stay active.\n
Login.c(118): \t\t\t\t\t\t// Otherwise, blur the active item since it is no
longer visible.\n
Login.c(118): \t\t\t\t\t\tif ( this.active && this.active.parents( ".ui-
menu" ).length === 1 ) {\n
Login.c(118): \t\t\t\t\t\t\tclearTimeout( this.timer );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t"mouseenter .ui-menu-item": function( event ) {\n
Login.c(118): \t\t\t\tvar target = $( event.currentTarget );\n
Login.c(118): \t\t\t\t// Remove ui-state-active class from siblings of the
newly focused menu item\n
Login.c(118): \t\t\t\t// to avoid a jump caused by adjacent elements both
having a class with a border\n
Login.c(118): \t\t\t\ttarget.siblings( ".ui-state-active" ).removeClass( "ui-
state-active" );\n
Login.c(118): \t\t\t\tthis.focus( event, target );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmouseleave: "collapseAll",\n
Login.c(118): \t\t\t"mouseleave .ui-menu": "collapseAll",\n
Login.c(118): \t\t\tfocus: function( event, keepActiveItem ) {\n
Login.c(118): \t\t\t\t// If there's already an active item, keep it active\n
Login.c(118): \t\t\t\t// If not, activate the first item\n
Login.c(118): \t\t\t\tvar item = this.active ||
this.element.find( this.options.items ).eq( 0 );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( !keepActiveItem ) {\n
Login.c(118): \t\t\t\t\tthis.focus( event, item );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tblur: function( event ) {\n
Login.c(118): \t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\tif ( !$.contains( this.element[0],
this.document[0].activeElement ) ) {\n
Login.c(118): \t\t\t\t\t\tthis.collapseAll( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tkeydown: "_keydown"\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \n
Login.c(118): \t\t// Clicks outside of a menu collapse any open menus\n
Login.c(118): \t\tthis._on( this.document, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tif ( this._closeOnDocumentClick( event ) ) {\n
Login.c(118): \t\t\t\t\tthis.collapseAll( event );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Reset the mouseHandled flag\n
Login.c(118): \t\t\t\tthis.mouseHandled = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\t// Destroy (sub)menus\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeAttr( "aria-activedescendant" )\n
Login.c(118): \t\t\t.find( ".ui-menu" ).addBack()\n
Login.c(118): \t\t\t\t.removeClass( "ui-menu ui-widget ui-widget-content ui-
menu-icons ui-front" )\n
Login.c(118): \t\t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-labelledby" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-expanded" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-disabled" )\n
Login.c(118): \t\t\t\t.removeUniqueId()\n
Login.c(118): \t\t\t\t.show();\n
Login.c(118): \n
Login.c(118): \t\t// Destroy menu items\n
Login.c(118): \t\tthis.element.find( ".ui-menu-item" )\n
Login.c(118): \t\t\t.removeClass( "ui-menu-item" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-disabled" )\n
Login.c(118): \t\t\t.removeUniqueId()\n
Login.c(118): \t\t\t.removeClass( "ui-state-hover" )\n
Login.c(118): \t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-haspopup" )\n
Login.c(118): \t\t\t.children().each( function() {\n
Login.c(118): \t\t\t\tvar elem = $( this );\n
Login.c(118): \t\t\t\tif ( elem.data( "ui-menu-submenu-carat" ) ) {\n
Login.c(118): \t\t\t\t\telem.remove();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Destroy menu dividers\n
Login.c(118): \t\tthis.element.find( ".ui-menu-divider" ).removeClass( "ui-
menu-divider ui-widget-conten
Login.c(118): t" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keydown: function( event ) {\n
Login.c(118): \t\tvar match, prev, character, skip, regex,\n
Login.c(118): \t\t\tpreventDefault = true;\n
Login.c(118): \n
Login.c(118): \t\tfunction escape( value ) {\n
Login.c(118): \t\t\treturn value.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,
"\\\\$&" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\tthis.previousPage( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\tthis.nextPage( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\tthis._move( "first", "first", event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\tthis._move( "last", "last", event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\tthis.previous( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\tthis.next( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\tthis.collapse( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\tif ( this.active && !this.active.is( ".ui-state-disabled" )
) {\n
Login.c(118): \t\t\t\tthis.expand( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.ENTER:\n
Login.c(118): \t\tcase $.ui.keyCode.SPACE:\n
Login.c(118): \t\t\tthis._activate( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.ESCAPE:\n
Login.c(118): \t\t\tthis.collapse( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tdefault:\n
Login.c(118): \t\t\tpreventDefault = false;\n
Login.c(118): \t\t\tprev = this.previousFilter || "";\n
Login.c(118): \t\t\tcharacter = String.fromCharCode( event.keyCode );\n
Login.c(118): \t\t\tskip = false;\n
Login.c(118): \n
Login.c(118): \t\t\tclearTimeout( this.filterTimer );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( character === prev ) {\n
Login.c(118): \t\t\t\tskip = true;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tcharacter = prev + character;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tregex = new RegExp( "^" + escape( character ), "i" );\n
Login.c(118): \t\t\tmatch =
this.activeMenu.find( this.options.items ).filter(function() {\n
Login.c(118): \t\t\t\treturn regex.test( $( this ).text() );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tmatch = skip && match.index( this.active.next() ) !==
-1 ?\n
Login.c(118): \t\t\t\tthis.active.nextAll( ".ui-menu-item" ) :\n
Login.c(118): \t\t\t\tmatch;\n
Login.c(118): \n
Login.c(118): \t\t\t// If no matches on the current filter, reset to the last
character pressed\n
Login.c(118): \t\t\t// to move down the menu to the first item that starts with
that character\n
Login.c(118): \t\t\tif ( !match.length ) {\n
Login.c(118): \t\t\t\tcharacter = String.fromCharCode( event.keyCode );\n
Login.c(118): \t\t\t\tregex = new RegExp( "^" + escape( character ), "i" );\n
Login.c(118): \t\t\t\tmatch =
this.activeMenu.find( this.options.items ).filter(function() {\n
Login.c(118): \t\t\t\t\treturn regex.test( $( this ).text() );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( match.length ) {\n
Login.c(118): \t\t\t\tthis.focus( event, match );\n
Login.c(118): \t\t\t\tif ( match.length > 1 ) {\n
Login.c(118): \t\t\t\t\tthis.previousFilter = character;\n
Login.c(118): \t\t\t\t\tthis.filterTimer = this._delay(function() {\n
Login.c(118): \t\t\t\t\t\tdelete this.previousFilter;\n
Login.c(118): \t\t\t\t\t}, 1000 );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tdelete this.previousFilter;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tdelete this.previousFilter;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( preventDefault ) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( event ) {\n
Login.c(118): \t\tif ( !this.active.is( ".ui-state-disabled" ) ) {\n
Login.c(118): \t\t\tif ( this.active.is( "[aria-haspopup='true']" ) ) {\n
Login.c(118): \t\t\t\tthis.expand( event );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.select( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar menus, items,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\ticon = this.options.icons.submenu,\n
Login.c(118): \t\t\tsubmenus = this.element.find( this.options.menus );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.toggleClass( "ui-menu-icons", !!
this.element.find( ".ui-icon" ).length );
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t// Initialize nested menus\n
Login.c(118): \t\tsubmenus.filter( ":not(.ui-menu)" )\n
Login.c(118): \t\t\t.addClass( "ui-menu ui-widget ui-widget-content ui-
front" )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: this.options.role,\n
Login.c(118): \t\t\t\t"aria-hidden": "true",\n
Login.c(118): \t\t\t\t"aria-expanded": "false"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.each(function() {\n
Login.c(118): \t\t\t\tvar menu = $( this ),\n
Login.c(118): \t\t\t\t\titem = menu.parent(),\n
Login.c(118): \t\t\t\t\tsubmenuCarat = $( "<span>" )\n
Login.c(118): \t\t\t\t\t\t.addClass( "ui-menu-icon ui-icon " + icon )\n
Login.c(118): \t\t\t\t\t\t.data( "ui-menu-submenu-carat", true );\n
Login.c(118): \n
Login.c(118): \t\t\t\titem\n
Login.c(118): \t\t\t\t\t.attr( "aria-haspopup", "true" )\n
Login.c(118): \t\t\t\t\t.prepend( submenuCarat );\n
Login.c(118): \t\t\t\tmenu.attr( "aria-labelledby", item.attr( "id" ) );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tmenus = submenus.add( this.element );\n
Login.c(118): \t\titems = menus.find( this.options.items );\n
Login.c(118): \n
Login.c(118): \t\t// Initialize menu-items containing spaces and/or dashes only
as dividers\n
Login.c(118): \t\titems.not( ".ui-menu-item" ).each(function() {\n
Login.c(118): \t\t\tvar item = $( this );\n
Login.c(118): \t\t\tif ( that._isDivider( item ) ) {\n
Login.c(118): \t\t\t\titem.addClass( "ui-widget-content ui-menu-divider" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Don't refresh list items that are already adapted\n
Login.c(118): \t\titems.not( ".ui-menu-item, .ui-menu-divider" )\n
Login.c(118): \t\t\t.addClass( "ui-menu-item" )\n
Login.c(118): \t\t\t.uniqueId()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\ttabIndex: -1,\n
Login.c(118): \t\t\t\trole: this._itemRole()\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Add aria-disabled attribute to any disabled menu item\n
Login.c(118): \t\titems.filter( ".ui-state-disabled" ).attr( "aria-disabled",
"true" );\n
Login.c(118): \n
Login.c(118): \t\t// If the active item has been removed, blur the menu\n
Login.c(118): \t\tif ( this.active && !$.contains( this.element[ 0 ],
this.active[ 0 ] ) ) {\n
Login.c(118): \t\t\tthis.blur();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_itemRole: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tmenu: "menuitem",\n
Login.c(118): \t\t\tlistbox: "option"\n
Login.c(118): \t\t}[ this.options.role ];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis.element.find( ".ui-menu-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.submenu )\n
Login.c(118): \t\t\t\t.addClass( value.submenu );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tfocus: function( event, item ) {\n
Login.c(118): \t\tvar nested, focused;\n
Login.c(118): \t\tthis.blur( event, event && event.type === "focus" );\n
Login.c(118): \n
Login.c(118): \t\tthis._scrollIntoView( item );\n
Login.c(118): \n
Login.c(118): \t\tthis.active = item.first();\n
Login.c(118): \t\tfocused = this.active.addClass( "ui-state-
focus" ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t// Only update aria-activedescendant if there's a role\n
Login.c(118): \t\t// otherwise we assume focus is managed elsewhere\n
Login.c(118): \t\tif ( this.options.role ) {\n
Login.c(118): \t\t\tthis.element.attr( "aria-activedescendant",
focused.attr( "id" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Highlight active parent menu item, if any\n
Login.c(118): \t\tthis.active\n
Login.c(118): \t\t\t.parent()\n
Login.c(118): \t\t\t.closest( ".ui-menu-item" )\n
Login.c(118): \t\t\t.addClass( "ui-state-active" );\n
Login.c(118): \n
Login.c(118): \t\tif ( event && event.type === "keydown" ) {\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\t\tthis._close();\n
Login.c(118): \t\t\t}, this.delay );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnested = item.children( ".ui-menu" );\n
Login.c(118): \t\tif ( nested.length && event && (
/^mouse/.test( event.type ) ) ) {\n
Login.c(118): \t\t\tthis._startOpening(nested);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.activeMenu = item.parent();\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "focus", event, { item: item } );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_scrollIntoView: function( item ) {\n
Login.c(118): \t\tvar borderTop, paddingTop, offset, scroll, elementHeight,
itemHeight;\n
Login.c(118): \t\tif ( this._hasScroll() ) {\n
Login.c(118): \t\t\tborderTop = parseFloat( $.css( this.activeMenu[0],
"borderTopWidth" ) ) || 0;\n
Login.c(118): \t\t\tpaddingTop = parseFloat( $.css( this.activeMenu[0],
"paddingTop" ) ) || 0;\n
Login.c(118): \t\t\toffset = item.offset().top - this.activeMenu.offset().top -
borderTop - paddingTop;\n
Login.c(118): \t\t\tscroll = this.activeMenu.scrollTop();\n
Login.c(118): \t\t\telementHeight = this.activeMenu.height();\n
Login.c(118): \t\t\titemHeight = item.outerHeight();\n
Login.c(118): \n
Login.c(118): \t\t\tif ( offset < 0 ) {\n
Login.c(118): \t\t\t\tthis.activeMenu.scrollTop( scroll + offset );\n
Login.c(118): \t\t\t} else if ( offset + itemHeight > elementHeight ) {\n
Login.c(118): \t\t\t\tthis.activeMenu.scrollTop( scroll + offset -
elementHeight + itemHeight );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tblur: function( event, fromFocus ) {\n
Login.c(118): \t\tif ( !fromFocus ) {\n
Login.c(118): \t\t\tclearTimeout( this.timer );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.active ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.active.removeClass( "ui-state-focus" );\n
Login.c(118): \t\tthis.active = null;\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "blur", event, { item: this.active } );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_startOpe
Login.c(118): t=6083ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ning: function( submenu ) {\n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \n
Login.c(118): \t\t// Don't open if already open fixes a Firefox bug that caused
a .5 pixel\n
Login.c(118): \t\t// shift in the submenu position when mousing over the carat
icon\n
Login.c(118): \t\tif ( submenu.attr( "aria-hidden" ) !== "true" ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t\tthis._open( submenu );\n
Login.c(118): \t\t}, this.delay );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_open: function( submenu ) {\n
Login.c(118): \t\tvar position = $.extend({\n
Login.c(118): \t\t\tof: this.active\n
Login.c(118): \t\t}, this.options.position );\n
Login.c(118): \n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tthis.element.find( ".ui-menu" ).not( submenu.parents( ".ui-
menu" ) )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr( "aria-hidden", "true" );\n
Login.c(118): \n
Login.c(118): \t\tsubmenu\n
Login.c(118): \t\t\t.show()\n
Login.c(118): \t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t.attr( "aria-expanded", "true" )\n
Login.c(118): \t\t\t.position( position );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcollapseAll: function( event, all ) {\n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\t// If we were passed an event, look for the submenu that
contains the event\n
Login.c(118): \t\t\tvar currentMenu = all ? this.element :\n
Login.c(118): \t\t\t\t$( event &&
event.target ).closest( this.element.find( ".ui-menu" ) );\n
Login.c(118): \n
Login.c(118): \t\t\t// If we found no valid submenu ancestor, use the main menu
to close all sub menus a
Login.c(118): nyway\n
Login.c(118): \t\t\tif ( !currentMenu.length ) {\n
Login.c(118): \t\t\t\tcurrentMenu = this.element;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._close( currentMenu );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.blur( event );\n
Login.c(118): \t\t\tthis.activeMenu = currentMenu;\n
Login.c(118): \t\t}, this.delay );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// With no arguments, closes the currently active menu - if
nothing is active\n
Login.c(118): \t// it closes all menus. If passed an argument, it will search
for menus BELOW\n
Login.c(118): \t_close: function( startMenu ) {\n
Login.c(118): \t\tif ( !startMenu ) {\n
Login.c(118): \t\t\tstartMenu = this.active ? this.active.parent() :
this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tstartMenu\n
Login.c(118): \t\t\t.find( ".ui-menu" )\n
Login.c(118): \t\t\t\t.hide()\n
Login.c(118): \t\t\t\t.attr( "aria-hidden", "true" )\n
Login.c(118): \t\t\t\t.attr( "aria-expanded", "false" )\n
Login.c(118): \t\t\t.end()\n
Login.c(118): \t\t\t.find( ".ui-state-active" ).not( ".ui-state-focus" )\n
Login.c(118): \t\t\t\t.removeClass( "ui-state-active" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_closeOnDocumentClick: function( event ) {\n
Login.c(118): \t\treturn !$( event.target ).closest( ".ui-menu" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isDivider: function( item ) {\n
Login.c(118): \n
Login.c(118): \t\t// Match hyphen, em dash, en dash\n
Login.c(118): \t\treturn !/[^\\-\\u2014\\u2013\\s]/.test( item.text() );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcollapse: function( event ) {\n
Login.c(118): \t\tvar newItem = this.active &&\n
Login.c(118): \t\t\tthis.active.parent().closest( ".ui-menu-item", this.element
);\n
Login.c(118): \t\tif ( newItem && newItem.length ) {\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t\tthis.focus( event, newItem );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \texpand: function( event ) {\n
Login.c(118): \t\tvar newItem = this.active &&\n
Login.c(118): \t\t\tthis.active\n
Login.c(118): \t\t\t\t.children( ".ui-menu " )\n
Login.c(118): \t\t\t\t.find( this.options.items )\n
Login.c(118): \t\t\t\t.first();\n
Login.c(118): \n
Login.c(118): \t\tif ( newItem && newItem.length ) {\n
Login.c(118): \t\t\tthis._open( newItem.parent() );\n
Login.c(118): \n
Login.c(118): \t\t\t// Delay so Firefox will not hide activedescendant change
in expanding submenu from
Login.c(118): AT\n
Login.c(118): \t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\tthis.focus( event, newItem );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tnext: function( event ) {\n
Login.c(118): \t\tthis._move( "next", "first", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tprevious: function( event ) {\n
Login.c(118): \t\tthis._move( "prev", "last", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisFirstItem: function() {\n
Login.c(118): \t\treturn this.active && !this.active.prevAll( ".ui-menu-
item" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisLastItem: function() {\n
Login.c(118): \t\treturn this.active && !this.active.nextAll( ".ui-menu-
item" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_move: function( direction, filter, event ) {\n
Login.c(118): \t\tvar next;\n
Login.c(118): \t\tif ( this.active ) {\n
Login.c(118): \t\t\tif ( direction === "first" || direction === "last" ) {\n
Login.c(118): \t\t\t\tnext = this.active\n
Login.c(118): \t\t\t\t\t[ direction === "first" ? "prevAll" : "nextAll" ]
( ".ui-menu-item" )\n
Login.c(118): \t\t\t\t\t.eq( -1 );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tnext = this.active\n
Login.c(118): \t\t\t\t\t[ direction + "All" ]( ".ui-menu-item" )\n
Login.c(118): \t\t\t\t\t.eq( 0 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !next || !next.length || !this.active ) {\n
Login.c(118): \t\t\tnext = this.activeMenu.find( this.options.items )[ filter ]
();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.focus( event, next );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tnextPage: function( event ) {\n
Login.c(118): \t\tvar item, base, height;\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.active ) {\n
Login.c(118): \t\t\tthis.next( event );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.isLastItem() ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this._hasScroll() ) {\n
Login.c(118): \t\t\tbase = this.active.offset().top;\n
Login.c(118): \t\t\theight = this.element.height();\n
Login.c(118): \t\t\tthis.active.nextAll( ".ui-menu-item" ).each(function() {\n
Login.c(118): \t\t\t\titem = $( this );\n
Login.c(118): \t\t\t\treturn item.offset().top - base - height < 0;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.focus( event, item );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.focus( event, this.activeMenu.find( this.options.items
)\n
Login.c(118): \t\t\t\t[ !this.active ? "first" : "last" ]() );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tpreviousPage: function( event ) {\n
Login.c(118): \t\tvar item, base, height;\n
Login.c(118): \t\tif ( !this.active ) {\n
Login.c(118): \t\t\tthis.next( event );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.isFirstItem() ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this._hasScroll() ) {\n
Login.c(118): \t\t\tbase = this.active.offset().top;\n
Login.c(118): \t\t\theight = this.element.height();\n
Login.c(118): \t\t\tthis.active.prevAll( ".ui-menu-item" ).each(function() {\n
Login.c(118): \t\t\t\titem = $( this );\n
Login.c(118): \t\t\t\treturn item.offset().top - base + height > 0;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.focus( event, item );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.focus( event, this.activeMenu.find( this.options.items
).first() );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_hasScroll: function() {\n
Login.c(118): \t\treturn this.element.outerHeight() <
this.element.prop( "scrollHeight" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tselect: function( event ) {\n
Login.c(118): \t\t// TODO: It should never be possible to not have an active
item at this\n
Login.c(118): \t\t// point, but the tests don't trigger mouseenter before
click.\n
Login.c(118): \t\tthis.active = this.active || $( event.target ).closest( ".ui-
menu-item" );\n
Login.c(118): \t\tvar ui = { item: this.active };\n
Login.c(118): \t\tif ( !this.active.has( ".ui-menu" ).length ) {\n
Login.c(118): \t\t\tthis.collapseAll( event, true );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._trigger( "select", event, ui );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Autocomplete 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/autocomplete/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget( "ui.autocomplete", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<input>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: null,\n
Login.c(118): \t\tautoFocus: false,\n
Login.c(118): \t\tdelay: 300,\n
Login.c(118): \t\tminLength: 1,\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left top",\n
Login.c(118): \t\t\tat: "left bottom",\n
Login.c(118): \t\t\tcollision: "none"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tsource: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\topen: null,\n
Login.c(118): \t\tresponse: null,\n
Login.c(118): \t\tsearch: null,\n
Login.c(118): \t\tselect: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trequestIndex: 0,\n
Login.c(118): \tpending: 0,\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\t// Some browsers only repeat keydown events, not keypress
events,\n
Login.c(118): \t\t// so we use the suppressKeyPress flag to determine if we've
already\n
Login.c(118): \t\t// handled the keydown event. #7269\n
Login.c(118): \t\t// Unfortunately the code for & in keypress is the same as
the up arrow,\n
Login.c(118): \t\t// so we use the suppressKeyPressRepeat flag to avoid
handling keypress\n
Login.c(118): \t\t// events when we know the keydown event was used to modify
the\n
Login.c(118): \t\t// search term. #7799\n
Login.c(118): \t\tvar suppressKeyPress, suppressKeyPressRepeat,
suppressInput,\n
Login.c(118): \t\t\tnodeName = this.element[ 0 ].nodeName.toLowerCase(),\n
Login.c(118): \t\t\tisTextarea = nodeName === "textarea",\n
Login.c(118): \t\t\tisInput = nodeName === "input";\n
Login.c(118): \n
Login.c(118): \t\tthis.isMultiLine =\n
Login.c(118): \t\t\t// Textareas are always multi-line\n
Login.c(118): \t\t\tisTextarea ? true :\n
Login.c(118): \t\t\t// Inputs are always single-line, even if inside a
contentEditable element\n
Login.c(118): \t\t\t// IE also treats inputs as contentEditable\n
Login.c(118): \t\t\tisInput ? false :\n
Login.c(118): \t\t\t// All other element types are determined by whether or not
they're contentEditable\n
Login.c(118): \t\t\tthis.element.prop( "isContentEditable" );\n
Login.c(118): \n
Login.c(118): \t\tthis.valueMethod = this.element[ isTextarea || isInput ?
"val" : "text" ];\n
Login.c(118): \t\tthis.isNewMenu = true;\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-autocomplete-input" )\n
Login.c(118): \t\t\t.attr( "autocomplete", "off" );\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.element, {\n
Login.c(118): \t\t\tkeydown: function( event ) {\n
Login.c(118): \t\t\t\tif ( this.element.prop( "readOnly" ) ) {\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tsuppressInput = true;\n
Login.c(118): \t\t\t\t\tsuppressKeyPressRepeat = true;\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tsuppressKeyPress = false;\n
Login.c(118): \t\t\t\tsuppressInput = false;\n
Login.c(118): \t\t\t\tsuppressKeyPressRepeat = false;\n
Login.c(118): \t\t\t\tvar keyCode = $.ui.keyCode;\n
Login.c(118): \t\t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._move( "previousPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._move( "nextPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.UP:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "previous", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "next", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.ENTER:\n
Login.c(118): \t\t\t\t\t// when menu is open and has focus\n
Login.c(118): \t\t\t\t\tif ( this.menu.active ) {\n
Login.c(118): \t\t\t\t\t\t// #6055 - Opera still allows the keypress to occur\n
Login.c(118): \t\t\t\t\t\t// which causes forms to submit\n
Login.c(118): \t\t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t\tthis.menu.select( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.TAB:\n
Login.c(118): \t\t\t\t\tif ( this.menu.active ) {\n
Login.c(118): \t\t\t\t\t\tthis.menu.select( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.ESCAPE:\n
Login.c(118): \t\t\t\t\tif ( this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\t\t\t\tif ( !this.isMultiLine ) {\n
Login.c(118): \t\t\t\t\t\t\tthis._value( this.term );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\t\t\t// Different browsers have different default behavior
for escape\n
Login.c(118): \t\t\t\t\t\t// Single press can mean undo or clear\n
Login.c(118): \t\t\t\t\t\t// Double press in IE means clear the whole form\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\tsuppressKeyPressRepeat = true;\n
Login.c(118): \t\t\t\t\t// search timeout should be triggered before the input
value is changed\n
Login.c(118): \t\t\t\t\tthis._searchTimeout( event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tkeypress: function( event ) {\n
Login.c(118): \t\t\t\tif ( suppressKeyPress ) {\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = false;\n
Login.c(118): \t\t\t\t\tif ( !this.isMultiLine ||
this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( suppressKeyPressRepeat ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// replicate some key handlers to allow them to repeat in
Firefox and Opera\n
Login.c(118): \t\t\t\tvar keyCode = $.ui.keyCode;\n
Login.c(118): \t\t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tthis._move( "previousPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tthis._move( "nextPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.UP:\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "previous", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "next", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tinput: function( event ) {\n
Login.c(118): \t\t\t\tif ( suppressInput ) {\n
Login.c(118): \t\t\t\t\tsuppressInput = false;\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._searchTimeout( event );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tfocus: function() {\n
Login.c(118): \t\t\t\tthis.selectedItem = null;\n
Login.c(118): \t\t\t\tthis.previous = this._value();\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tblur: function( event ) {\n
Login.c(118): \t\t\t\tif ( this.cancelBlur ) {\n
Login.c(118): \t\t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tclearTimeout( this.searching );\n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\tthis._change( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis._initSource();\n
Login.c(118): \t\tthis.menu = $( "<ul>" )\n
Login.c(118): \t\t\t.addClass( "ui-autocomplete ui-front" )\n
Login.c(118): \t\t\t.appendTo( this._appendTo() )\n
Login.c(118): \t\t\t.menu({\n
Login.c(118): \t\t\t\t// disable ARIA support, the live region takes care of
that\n
Login.c(118): \t\t\t\trole: null\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.menu( "instance" );\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.menu.element, {\n
Login.c(118): \t\t\tmousedown: function( event ) {\n
Login.c(118): \t\t\t\t// prevent moving focus out of the text field\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\t\t\t// IE doesn't prevent moving focus even with
event.preventDefault()\n
Login.c(118): \t\t\t\t// so we set a flag to know when we should ignore the
blur event\n
Login.c(118): \t\t\t\tthis.cancelBlur = true;\n
Login.c(118): \t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t// clicking on the scrollbar causes focus to shift to the
body\n
Login.c(118): \t\t\t\t// but we can't detect a mouseup or a click immediately
afterward\n
Login.c(118): \t\t\t\t// so we have to track the next mousedown and close the
menu if\n
Login.c(118): \t\t\t\t// the user clicks somewhere outside of the
autocomplete\n
Login.c(118): \t\t\t\tvar menuElement = this.menu.element[ 0 ];\n
Login.c(118): \t\t\t\tif ( !$( event.target ).closest( ".ui-menu-item" ).length
) {\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tvar that = this;\n
Login.c(118): \t\t\t\t\t\tthis.document.one( "mousedown", function( event ) {\n
Login.c(118): \t\t\t\t\t\t\tif ( event.target !== that.element[ 0 ] &&\n
Login.c(118): \t\t\t\t\t\t\t\t\tevent.target !== menuElement &&\n
Login.c(118): \t\t\t\t\t\t\t\t\t!$.contains( menuElement, event.target ) ) {\n
Login.c(118): \t\t\t\t\t\t\t\tthat.close();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmenufocus: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar label, item;\n
Login.c(118): \t\t\t\t// support: Firefox\n
Login.c(118): \t\t\t\t// Prevent accidental activation of menu items in Firefox
(#7024 #9118)\n
Login.c(118): \t\t\t\tif ( this.isNewMenu ) {\n
Login.c(118): \t\t\t\t\tthis.isNewMenu = false;\n
Login.c(118): \t\t\t\t\tif ( event.originalEvent &&
/^mouse/.test( event.originalEvent.type ) ) {\n
Login.c(118): \t\t\t\t\t\tthis.menu.blur();\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tthis.document.one( "mousemove", function() {\n
Login.c(118): \t\t\t\t\t\t\t$( event.target ).trigger( event.originalEvent );\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\titem = ui.item.data( "ui-autocomplete-item" );\n
Login.c(118): \t\t\t\tif ( false !== this._trigger( "focus", event, { item:
item } ) ) {\n
Login.c(118): \t\t\t\t\t// use value to match what will end up in the input, if
it was a key event\n
Login.c(118): \t\t\t\t\tif ( event.originalEvent &&
/^key/.test( event.originalEvent.type ) ) {\n
Login.c(118): \t\t\t\t\t\tthis._value( item.value );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Announce the value in the liveRegion\n
Login.c(118): \t\t\t\tlabel = ui.item.attr( "aria-label" ) || item.value;\n
Login.c(118): \t\t\t\tif ( label && $.trim( l
Login.c(118): t=6106ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): abel ).length ) {\n
Login.c(118): \t\t\t\t\tthis.liveRegion.children().hide();\n
Login.c(118): \t\t\t\t\t$
( "<div>" ).text( label ).appendTo( this.liveRegion );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmenuselect: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar item = ui.item.data( "ui-autocomplete-item" ),\n
Login.c(118): \t\t\t\t\tprevious = this.previous;\n
Login.c(118): \n
Login.c(118): \t\t\t\t// only trigger when focus was lost (click on menu)\n
Login.c(118): \t\t\t\tif ( this.element[ 0 ] !==
this.document[ 0 ].activeElement ) {\n
Login.c(118): \t\t\t\t\tthis.element.focus();\n
Login.c(118): \t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t// #6109 - IE triggers two focus events and the
second\n
Login.c(118): \t\t\t\t\t// is asynchronous, so we need to reset the previous\n
Login.c(118): \t\t\t\t\t// term synchronously and asynchronously :-(\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t\tthis.selectedItem = item;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( false !== this._trigger( "select", event, { item:
item } ) ) {\n
Login.c(118): \t\t\t\t\tthis._value( item.value );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t// reset the term after the select event\n
Login.c(118): \t\t\t\t// this allows custom select handling to work properly\n
Login.c(118): \t\t\t\tthis.term = this._value();\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\tthis.selectedItem = item;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.liveRegion = $( "<span>", {\n
Login.c(118): \t\t\t\trole: "status",\n
Login.c(118): \t\t\t\t"aria-live": "assertive",\n
Login.c(118): \t\t\t\t"aria-relevant": "additions"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-helper-hidden-accessible" )\n
Login.c(118): \t\t\t.appendTo( this.document[ 0 ].body );\n
Login.c(118): \n
Login.c(118): \t\t// turning off autocomplete prevents the browser from
remembering the\n
Login.c(118): \t\t// value when navigating through history, so we re-enable
autocomplete\n
Login.c(118): \t\t// if the page is unloaded before the widget is destroyed.
#7790\n
Login.c(118): \t\tthis._on( this.window, {\n
Login.c(118): \t\t\tbeforeunload: function() {\n
Login.c(118): \t\t\t\tthis.element.removeAttr( "autocomplete" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tclearTimeout( this.searching );\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-autocomplete-input" )\n
Login.c(118): \t\t\t.removeAttr( "autocomplete" );\n
Login.c(118): \t\tthis.menu.element.remove();\n
Login.c(118): \t\tthis.liveRegion.remove();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t\tif ( key === "source" ) {\n
Login.c(118): \t\t\tthis._initSource();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "appendTo" ) {\n
Login.c(118): \t\t\tthis.menu.element.appendTo( this._appendTo() );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "disabled" && value && this.xhr ) {\n
Login.c(118): \t\t\tthis.xhr.abort();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_appendTo: function() {\n
Login.c(118): \t\tvar element = this.options.appendTo;\n
Login.c(118): \n
Login.c(118): \t\tif ( element ) {\n
Login.c(118): \t\t\telement = element.jquery || element.nodeType ?\n
Login.c(118): \t\t\t\t$( element ) :\n
Login.c(118): \t\t\t\tthis.document.find( element ).eq( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element || !element[ 0 ] ) {\n
Login.c(118): \t\t\telement = this.element.closest( ".ui-front" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element.length ) {\n
Login.c(118): \t\t\telement = this.document[ 0 ].body;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_initSource: function() {\n
Login.c(118): \t\tvar array, url,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \t\tif ( $.isArray( this.options.source ) ) {\n
Login.c(118): \t\t\tarray = this.options.source;\n
Login.c(118): \t\t\tthis.source = function( request, response ) {\n
Login.c(118): \t\t\t\tresponse( $.ui.autocomplete.filter( array, request.term )
);\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else if ( typeof this.options.source === "string" ) {\n
Login.c(118): \t\t\turl = this.options.source;\n
Login.c(118): \t\t\tthis.source = function( request, response ) {\n
Login.c(118): \t\t\t\tif ( that.xhr ) {\n
Login.c(118): \t\t\t\t\tthat.xhr.abort();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthat.xhr = $.ajax({\n
Login.c(118): \t\t\t\t\turl: url,\n
Login.c(118): \t\t\t\t\tdata: request,\n
Login.c(118): \t\t\t\t\tdataType: "json",\n
Login.c(118): \t\t\t\t\tsuccess: function( data ) {\n
Login.c(118): \t\t\t\t\t\tresponse( data );\n
Login.c(118): \t\t\t\t\t},\n
Login.c(118): \t\t\t\t\terror: function() {\n
Login.c(118): \t\t\t\t\t\tresponse([]);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.source = this.options.source;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_searchTimeout: function( event ) {\n
Login.c(118): \t\tclearTimeout( this.searching );\n
Login.c(118): \t\tthis.searching = this._delay(function() {\n
Login.c(118): \n
Login.c(118): \t\t\t// Search if the value has changed, or if the user retypes
the same value (see #7434
Login.c(118): )\n
Login.c(118): \t\t\tvar equalValues = this.term === this._value(),\n
Login.c(118): \t\t\t\tmenuVisible = this.menu.element.is( ":visible" ),\n
Login.c(118): \t\t\t\tmodifierKey = event.altKey || event.ctrlKey ||
event.metaKey || event.shiftKey;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !equalValues || ( equalValues && !menuVisible && !
modifierKey ) ) {\n
Login.c(118): \t\t\t\tthis.selectedItem = null;\n
Login.c(118): \t\t\t\tthis.search( null, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, this.options.delay );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsearch: function( value, event ) {\n
Login.c(118): \t\tvalue = value != null ? value : this._value();\n
Login.c(118): \n
Login.c(118): \t\t// always save the actual value, not the one passed as an
argument\n
Login.c(118): \t\tthis.term = this._value();\n
Login.c(118): \n
Login.c(118): \t\tif ( value.length < this.options.minLength ) {\n
Login.c(118): \t\t\treturn this.close( event );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this._trigger( "search", event ) === false ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this._search( value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_search: function( value ) {\n
Login.c(118): \t\tthis.pending++;\n
Login.c(118): \t\tthis.element.addClass( "ui-autocomplete-loading" );\n
Login.c(118): \t\tthis.cancelSearch = false;\n
Login.c(118): \n
Login.c(118): \t\tthis.source( { term: value }, this._response() );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_response: function() {\n
Login.c(118): \t\tvar index = ++this.requestIndex;\n
Login.c(118): \n
Login.c(118): \t\treturn $.proxy(function( content ) {\n
Login.c(118): \t\t\tif ( index === this.requestIndex ) {\n
Login.c(118): \t\t\t\tthis.__response( content );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.pending--;\n
Login.c(118): \t\t\tif ( !this.pending ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( "ui-autocomplete-loading" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, this );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t__response: function( content ) {\n
Login.c(118): \t\tif ( content ) {\n
Login.c(118): \t\t\tcontent = this._normalize( content );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._trigger( "response", null, { content: content } );\n
Login.c(118): \t\tif ( !this.options.disabled && content && content.length && !
this.cancelSearch ) {\n
Login.c(118): \t\t\tthis._suggest( content );\n
Login.c(118): \t\t\tthis._trigger( "open" );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t// use ._close() instead of .close() so we don't cancel
future searches\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tthis.cancelSearch = true;\n
Login.c(118): \t\tthis._close( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_close: function( event ) {\n
Login.c(118): \t\tif ( this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\tthis.menu.element.hide();\n
Login.c(118): \t\t\tthis.menu.blur();\n
Login.c(118): \t\t\tthis.isNewMenu = true;\n
Login.c(118): \t\t\tthis._trigger( "close", event );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_change: function( event ) {\n
Login.c(118): \t\tif ( this.previous !== this._value() ) {\n
Login.c(118): \t\t\tthis._trigger( "change", event, { item: this.selectedItem }
);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_normalize: function( items ) {\n
Login.c(118): \t\t// assume all items have the right format when the first item
is complete\n
Login.c(118): \t\tif ( items.length && items[ 0 ].label && items[ 0 ].value )
{\n
Login.c(118): \t\t\treturn items;\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn $.map( items, function( item ) {\n
Login.c(118): \t\t\tif ( typeof item === "string" ) {\n
Login.c(118): \t\t\t\treturn {\n
Login.c(118): \t\t\t\t\tlabel: item,\n
Login.c(118): \t\t\t\t\tvalue: item\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn $.extend( {}, item, {\n
Login.c(118): \t\t\t\tlabel: item.label || item.value,\n
Login.c(118): \t\t\t\tvalue: item.value || item.label\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_suggest: function( items ) {\n
Login.c(118): \t\tvar ul = this.menu.element.empty();\n
Login.c(118): \t\tthis._renderMenu( ul, items );\n
Login.c(118): \t\tthis.isNewMenu = true;\n
Login.c(118): \t\tthis.menu.refresh();\n
Login.c(118): \n
Login.c(118): \t\t// size and position menu\n
Login.c(118): \t\tul.show();\n
Login.c(118): \t\tthis._resizeMenu();\n
Login.c(118): \t\tul.position( $.extend({\n
Login.c(118): \t\t\tof: this.element\n
Login.c(118): \t\t}, this.options.position ) );\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.autoFocus ) {\n
Login.c(118): \t\t\tthis.menu.next();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resizeMenu: function() {\n
Login.c(118): \t\tvar ul = this.menu.element;\n
Login.c(118): \t\tul.outerWidth( Math.max(\n
Login.c(118): \t\t\t// Firefox wraps long text (possibly a rounding bug)\n
Login.c(118): \t\t\t// so we add 1px to avoid the wrapping (#7513)\n
Login.c(118): \t\t\tul.width( "" ).outerWidth() + 1,\n
Login.c(118): \t\t\tthis.element.outerWidth()\n
Login.c(118): \t\t) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderMenu: function( ul, items ) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \t\t$.each( items, function( index, item ) {\n
Login.c(118): \t\t\tthat._renderItemData( ul, item );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItemData: function( ul, item ) {\n
Login.c(118): \t\treturn this._renderItem( ul, item ).data( "ui-autocomplete-
item", item );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItem: function( ul, item ) {\n
Login.c(118): \t\treturn $( "<li>" ).text( item.label ).appendTo( ul );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_move: function( direction, event ) {\n
Login.c(118): \t\tif ( !this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\tthis.search( null, event );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.menu.isFirstItem() && /^previous/.test( direction )
||\n
Login.c(118): \t\t\t\tthis.menu.isLastItem() && /^next/.test( direction ) ) {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.isMultiLine ) {\n
Login.c(118): \t\t\t\tthis._value( this.term );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.menu.blur();\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.menu[ direction ]( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.menu.element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_value: function() {\n
Login.c(118): \t\treturn this.valueMethod.apply( this.element, arguments );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keyEvent: function( keyEvent, event ) {\n
Login.c(118): \t\tif ( !this.isMultiLine ||
this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\tthis._move( keyEvent, event );\n
Login.c(118): \n
Login.c(118): \t\t\t// prevents moving cursor to beginning/end of the text
field in some browsers\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.extend( $.ui.autocomplete, {\n
Login.c(118): \tescapeRegex: function( value ) {\n
Login.c(118): \t\treturn value.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,
"\\\\$&" );\n
Login.c(118): \t},\n
Login.c(118): \tfilter: function( array, term ) {\n
Login.c(118): \t\tvar matcher = new RegExp( $.ui.autocomplete.escapeRegex( term
), "i" );\n
Login.c(118): \t\treturn $.grep( array, function( value ) {\n
Login.c(118): \t\t\treturn matcher.test( value.label || value.value ||
value );\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // live region extension, adding a `messages` option\n
Login.c(118): // NOTE: This is an experimental API. We are still
investigating\n
Login.c(118): // a full solution for string manipulation and
internationalization.\n
Login.c(118): $.widget( "ui.autocomplete", $.ui.autocomplete, {\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tmessages: {\n
Login.c(118): \t\t\tnoResults: "No search results.",\n
Login.c(118): \t\t\tresults: function( amount ) {\n
Login.c(118): \t\t\t\treturn amount + ( amount > 1 ? " results are" : " result
is" ) +\n
Login.c(118): \t\t\t\t\t" available, use up and down arrow keys to
navigate.";\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t__response: function( content ) {\n
Login.c(118): \t\tvar message;\n
Login.c(118): \t\tthis._superApply( arguments );\n
Login.c(118): \t\tif ( this.options.disabled || this.cancelSearch ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( content && content.length ) {\n
Login.c(118): \t\t\tmessage =
this.options.messages.results( content.length );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tmessage = this.options.messages.noResults;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.liveRegion.children().hide();\n
Login.c(118): \t\t$( "<div>" ).text( message ).appendTo( this.liveRegion );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var autocomplete = $.ui.autocomplete;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Button 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/button/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var lastActive,\n
Login.c(118): \tbaseClasses = "ui-button ui-widget ui-state-default ui-corner-
all",\n
Login.c(118): \ttypeClasses = "ui-button-icons-only ui-button-icon-only ui-
button-text-icons ui-button-t
Login.c(118): ext-icon-primary ui-button-text-icon-secondary ui-button-text-
only",\n
Login.c(118): \tformResetHandler = function() {\n
Login.c(118): \t\tvar form = $( this );\n
Login.c(118): \t\tsetTimeout(function() {\n
Login.c(118): \t\t\tform.find( ":ui-button" ).button( "refresh" );\n
Login.c(118): \t\t}, 1 );\n
Login.c(118): \t},\n
Login.c(118): \tradioGroup = function( radio ) {\n
Login.c(118): \t\tvar name = radio.name,\n
Login.c(118): \t\t\tform = radio.form,\n
Login.c(118): \t\t\tradios = $( [] );\n
Login.c(118): \t\tif ( name ) {\n
Login.c(118): \t\t\tname = name.replace( /'/g, "\\\\'" );\n
Login.c(118): \t\t\tif ( form ) {\n
Login.c(118): \t\t\t\tradios = $( form ).find( "[name='" + name + "']
[type=radio]" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tradios = $( "[name='" + name + "'][type=radio]",
radio.ownerDocument )\n
Login.c(118): \t\t\t\t\t.filter(function() {\n
Login.c(118): \t\t\t\t\t\treturn !this.form;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn radios;\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): $.widget( "ui.button", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<button>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tdisabled: null,\n
Login.c(118): \t\ttext: true,\n
Login.c(118): \t\tlabel: null,\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tprimary: null,\n
Login.c(118): \t\t\tsecondary: null\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.element.closest( "form" )\n
Login.c(118): \t\t\t.unbind( "reset" + this.eventNamespace )\n
Login.c(118): \t\t\t.bind( "reset" + this.eventNamespace, formResetHandler );\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof this.options.disabled !== "boolean" ) {\n
Login.c(118): \t\t\tthis.options.disabled = !!
this.element.prop( "disabled" );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.element.prop( "disabled", this.options.disabled );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._determineButtonType();\n
Login.c(118): \t\tthis.hasTitle = !!this.buttonElement.attr( "title" );\n
Login.c(118): \n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\ttoggleButton = this.type === "checkbox" || this.type ===
"radio",\n
Login.c(118): \t\t\tactiveClass = !toggleButton ? "ui-state-active" : "";\n
Login.c(118): \n
Login.c(118): \t\tif ( options.label === null ) {\n
Login.c(118): \t\t\toptions.label = (this.type === "input" ?
this.buttonElement.val() : this.buttonEleme
Login.c(118): nt.html());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._hoverable( this.buttonElement );\n
Login.c(118): \n
Login.c(118): \t\tthis.buttonElement\n
Login.c(118): \t\t\t.addClass( baseClasses )\n
Login.c(118): \t\t\t.attr( "role", "button" )\n
Login.c(118): \t\t\t.bind( "mouseenter" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( this === lastActive ) {\n
Login.c(118): \t\t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.bind( "mouseleave" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t$( this ).removeClass( activeClass );\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.bind( "click" + this.eventNamespace, function( event ) {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tevent.stopImmediatePropagation();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Can't use _focusable() because the element that receives
focus\n
Login.c(118): \t\t// and the element that gets the ui-state-focus class are
different\n
Login.c(118): \t\tthis._on({\n
Login.c(118): \t\t\tfocus: function() {\n
Login.c(118): \t\t\t\tthis.buttonElement.addClass( "ui-state-focus" );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tblur: function() {\n
Login.c(118): \t\t\t\tthis.buttonElement.removeClass( "ui-state-focus" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( toggleButton ) {\n
Login.c(118): \t\t\tthis.element.bind( "change" + this.eventNamespace,
function() {\n
Login.c(118): \t\t\t\tthat.refresh();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.type === "checkbox" ) {\n
Login.c(118): \t\t\tthis.buttonElement.bind( "click" + this.eventNamespace,
function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else if ( this.type === "radio" )
Login.c(118): t=6130ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): {\n
Login.c(118): \t\t\tthis.buttonElement.bind( "click" + this.eventNamespace,
function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\tthat.buttonElement.attr( "aria-pressed", "true" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tvar radio = that.element[ 0 ];\n
Login.c(118): \t\t\t\tradioGroup( radio )\n
Login.c(118): \t\t\t\t\t.not( radio )\n
Login.c(118): \t\t\t\t\t.map(function() {\n
Login.c(118): \t\t\t\t\t\treturn $( this ).button( "widget" )[ 0 ];\n
Login.c(118): \t\t\t\t\t})\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-pressed", "false" );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.buttonElement\n
Login.c(118): \t\t\t\t.bind( "mousedown" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t\tlastActive = this;\n
Login.c(118): \t\t\t\t\tthat.document.one( "mouseup", function() {\n
Login.c(118): \t\t\t\t\t\tlastActive = null;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.bind( "mouseup" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t$( this ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.bind( "keydown" + this.eventNamespace, function(event)
{\n
Login.c(118): \t\t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE ||
event.keyCode === $.ui.keyCode.ENTE
Login.c(118): R ) {\n
Login.c(118): \t\t\t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t// see #8559, we bind to blur here in case the button
element loses\n
Login.c(118): \t\t\t\t// focus between keydown and keyup, it would be left in
an "active" state\n
Login.c(118): \t\t\t\t.bind( "keyup" + this.eventNamespace + " blur" +
this.eventNamespace, function() {
Login.c(118): \n
Login.c(118): \t\t\t\t\t$( this ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.buttonElement.is("a") ) {\n
Login.c(118): \t\t\t\tthis.buttonElement.keyup(function(event) {\n
Login.c(118): \t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE ) {\n
Login.c(118): \t\t\t\t\t\t// TODO pass through original event correctly (just
as 2nd argument doesn't wo
Login.c(118): rk)\n
Login.c(118): \t\t\t\t\t\t$( this ).click();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._setOption( "disabled", options.disabled );\n
Login.c(118): \t\tthis._resetButton();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_determineButtonType: function() {\n
Login.c(118): \t\tvar ancestor, labelSelector, checked;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.element.is("[type=checkbox]") ) {\n
Login.c(118): \t\t\tthis.type = "checkbox";\n
Login.c(118): \t\t} else if ( this.element.is("[type=radio]") ) {\n
Login.c(118): \t\t\tthis.type = "radio";\n
Login.c(118): \t\t} else if ( this.element.is("input") ) {\n
Login.c(118): \t\t\tthis.type = "input";\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.type = "button";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.type === "checkbox" || this.type === "radio" ) {\n
Login.c(118): \t\t\t// we don't search against the document in case the
element\n
Login.c(118): \t\t\t// is disconnected from the DOM\n
Login.c(118): \t\t\tancestor = this.element.parents().last();\n
Login.c(118): \t\t\tlabelSelector = "label[for='" + this.element.attr("id") +
"']";\n
Login.c(118): \t\t\tthis.buttonElement = ancestor.find( labelSelector );\n
Login.c(118): \t\t\tif ( !this.buttonElement.length ) {\n
Login.c(118): \t\t\t\tancestor = ancestor.length ? ancestor.siblings() :
this.element.siblings();\n
Login.c(118): \t\t\t\tthis.buttonElement = ancestor.filter( labelSelector );\n
Login.c(118): \t\t\t\tif ( !this.buttonElement.length ) {\n
Login.c(118): \t\t\t\t\tthis.buttonElement = ancestor.find( labelSelector );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.element.addClass( "ui-helper-hidden-accessible" );\n
Login.c(118): \n
Login.c(118): \t\t\tchecked = this.element.is( ":checked" );\n
Login.c(118): \t\t\tif ( checked ) {\n
Login.c(118): \t\t\t\tthis.buttonElement.addClass( "ui-state-active" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.buttonElement.prop( "aria-pressed", checked );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.buttonElement = this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.buttonElement;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-helper-hidden-accessible" );\n
Login.c(118): \t\tthis.buttonElement\n
Login.c(118): \t\t\t.removeClass( baseClasses + " ui-state-active " +
typeClasses )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-pressed" )\n
Login.c(118): \t\t\t.html( this.buttonElement.find(".ui-button-
text").html() );\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.hasTitle ) {\n
Login.c(118): \t\t\tthis.buttonElement.removeAttr( "title" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.widget().toggleClass( "ui-state-disabled", !!
value );\n
Login.c(118): \t\t\tthis.element.prop( "disabled", !!value );\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tif ( this.type === "checkbox" || this.type === "radio" )
{\n
Login.c(118): \t\t\t\t\tthis.buttonElement.removeClass( "ui-state-focus" );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthis.buttonElement.removeClass( "ui-state-focus ui-
state-active" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._resetButton();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\t//See #8237 & #8828\n
Login.c(118): \t\tvar isDisabled = this.element.is( "input, button" ) ?
this.element.is( ":disabled" ) :
Login.c(118): this.element.hasClass( "ui-button-disabled" );\n
Login.c(118): \n
Login.c(118): \t\tif ( isDisabled !== this.options.disabled ) {\n
Login.c(118): \t\t\tthis._setOption( "disabled", isDisabled );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.type === "radio" ) {\n
Login.c(118): \t\t\tradioGroup( this.element[0] ).each(function() {\n
Login.c(118): \t\t\t\tif ( $( this ).is( ":checked" ) ) {\n
Login.c(118): \t\t\t\t\t$( this ).button( "widget" )\n
Login.c(118): \t\t\t\t\t\t.addClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t\t.attr( "aria-pressed", "true" );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$( this ).button( "widget" )\n
Login.c(118): \t\t\t\t\t\t.removeClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t\t.attr( "aria-pressed", "false" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else if ( this.type === "checkbox" ) {\n
Login.c(118): \t\t\tif ( this.element.is( ":checked" ) ) {\n
Login.c(118): \t\t\t\tthis.buttonElement\n
Login.c(118): \t\t\t\t\t.addClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-pressed", "true" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.buttonElement\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-pressed", "false" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resetButton: function() {\n
Login.c(118): \t\tif ( this.type === "input" ) {\n
Login.c(118): \t\t\tif ( this.options.label ) {\n
Login.c(118): \t\t\t\tthis.element.val( this.options.label );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar buttonElement =
this.buttonElement.removeClass( typeClasses ),\n
Login.c(118): \t\t\tbuttonText = $( "<span></span>", this.document[0] )\n
Login.c(118): \t\t\t\t.addClass( "ui-button-text" )\n
Login.c(118): \t\t\t\t.html( this.options.label )\n
Login.c(118): \t\t\t\t.appendTo( buttonElement.empty() )\n
Login.c(118): \t\t\t\t.text(),\n
Login.c(118): \t\t\ticons = this.options.icons,\n
Login.c(118): \t\t\tmultipleIcons = icons.primary && icons.secondary,\n
Login.c(118): \t\t\tbuttonClasses = [];\n
Login.c(118): \n
Login.c(118): \t\tif ( icons.primary || icons.secondary ) {\n
Login.c(118): \t\t\tif ( this.options.text ) {\n
Login.c(118): \t\t\t\tbuttonClasses.push( "ui-button-text-icon" +
( multipleIcons ? "s" : ( icons.primar
Login.c(118): y ? "-primary" : "-secondary" ) ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( icons.primary ) {\n
Login.c(118): \t\t\t\tbuttonElement.prepend( "<span class='ui-button-icon-
primary ui-icon " + icons.prim
Login.c(118): ary + "'></span>" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( icons.secondary ) {\n
Login.c(118): \t\t\t\tbuttonElement.append( "<span class='ui-button-icon-
secondary ui-icon " + icons.sec
Login.c(118): ondary + "'></span>" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.options.text ) {\n
Login.c(118): \t\t\t\tbuttonClasses.push( multipleIcons ? "ui-button-icons-
only" : "ui-button-icon-only"
Login.c(118): );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( !this.hasTitle ) {\n
Login.c(118): \t\t\t\t\tbuttonElement.attr( "title", $.trim( buttonText ) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tbuttonClasses.push( "ui-button-text-only" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tbuttonElement.addClass( buttonClasses.join( " " ) );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.widget( "ui.buttonset", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\titems: "button, input[type=button], input[type=submit],
input[type=reset], input[type=
Login.c(118): checkbox], input[type=radio], a, :data(ui-button)"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.element.addClass( "ui-buttonset" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_init: function() {\n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.buttons.button( "option", key, value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar rtl = this.element.css( "direction" ) === "rtl",\n
Login.c(118): \t\t\tallButtons = this.element.find( this.options.items ),\n
Login.c(118): \t\t\texistingButtons = allButtons.filter( ":ui-button" );\n
Login.c(118): \n
Login.c(118): \t\t// Initialize new buttons\n
Login.c(118): \t\tallButtons.not( ":ui-button" ).button();\n
Login.c(118): \n
Login.c(118): \t\t// Refresh existing buttons\n
Login.c(118): \t\texistingButtons.button( "refresh" );\n
Login.c(118): \n
Login.c(118): \t\tthis.buttons = allButtons\n
Login.c(118): \t\t\t.map(function() {\n
Login.c(118): \t\t\t\treturn $( this ).button( "widget" )[ 0 ];\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-all ui-corner-left ui-corner-
right" )\n
Login.c(118): \t\t\t\t.filter( ":first" )\n
Login.c(118): \t\t\t\t\t.addClass( rtl ? "ui-corner-right" : "ui-corner-
left" )\n
Login.c(118): \t\t\t\t.end()\n
Login.c(118): \t\t\t\t.filter( ":last" )\n
Login.c(118): \t\t\t\t\t.addClass( rtl ? "ui-corner-left" : "ui-corner-
right" )\n
Login.c(118): \t\t\t\t.end()\n
Login.c(118): \t\t\t.end();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element.removeClass( "ui-buttonset" );\n
Login.c(118): \t\tthis.buttons\n
Login.c(118): \t\t\t.map(function() {\n
Login.c(118): \t\t\t\treturn $( this ).button( "widget" )[ 0 ];\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-left ui-corner-right" )\n
Login.c(118): \t\t\t.end()\n
Login.c(118): \t\t\t.button( "destroy" );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var button = $.ui.button;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Datepicker 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/datepicker/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.extend($.ui, { datepicker: { version: "1.11.1" } });\n
Login.c(118): \n
Login.c(118): var datepicker_instActive;\n
Login.c(118): \n
Login.c(118): function datepicker_getZindex( elem ) {\n
Login.c(118): \tvar position, value;\n
Login.c(118): \twhile ( elem.length && elem[ 0 ] !== document ) {\n
Login.c(118): \t\t// Ignore z-index if position is set to a value where z-index
is ignored by the browse
Login.c(118): r\n
Login.c(118): \t\t// This makes behavior of this function consistent across
browsers\n
Login.c(118): \t\t// WebKit always returns auto if the element is positioned\n
Login.c(118): \t\tposition = elem.css( "position" );\n
Login.c(118): \t\tif ( position === "absolute" || position === "relative" ||
position === "fixed" ) {\n
Login.c(118): \t\t\t// IE returns 0 when zIndex is not specified\n
Login.c(118): \t\t\t// other browsers return a string\n
Login.c(118): \t\t\t// we ignore the case of nested elements with an explicit
value of 0\n
Login.c(118): \t\t\t// <div style="z-index: -10;"><div style="z-index:
0;"></div></div>\n
Login.c(118): \t\t\tvalue = parseInt( elem.css( "zIndex" ), 10 );\n
Login.c(118): \t\t\tif ( !isNaN( value ) && value !== 0 ) {\n
Login.c(118): \t\t\t\treturn value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\telem = elem.parent();\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn 0;\n
Login.c(118): }\n
Login.c(118): /* Date picker manager.\n
Login.c(118): Use the singleton instance of this class, $.datepicker, to
interact with the date picke
Login.c(118): r.\n
Login.c(118): Settings for (groups of) date pickers are maintained in an
instance object,\n
Login.c(118): allowing multiple different settings on the same page. */\n
Login.c(118): \n
Login.c(118): function Datepicker() {\n
Login.c(118): \tthis._curInst = null; // The current instance in use\n
Login.c(118): \tthis._keyEvent = false; // If the last event was a key event\n
Login.c(118): \tthis._disabledInputs = []; // List of date picker inputs that
have been disabled\n
Login.c(118): \tthis._datepickerShowing = false; // True if the popup picker is
showing , false if not\n
Login.c(118): \tthis._inDialog = false; // True if showing within a "dialog",
false if not\n
Login.c(118): \tthis._mainDivId = "ui-datepicker-div"; // The ID of the main
datepicker division\n
Login.c(118): \tthis._inlineClass = "ui-datepicker-inline"; // The name of the
inline marker class\n
Login.c(118): \tthis._appendClass = "ui-datepicker-append"; // The name of the
append marker class\n
Login.c(118): \tthis._triggerClass = "ui-datepicker-trigger"; // The name of
the trigger marker class\n
Login.c(118): \tthis._dialogClass = "ui-datepicker-dialog"; // The name of the
dialog marker class\n
Login.c(118): \tthis._disableClass = "ui-datepicker-disabled"; // The name of
the disabled covering mark
Login.c(118): er class\n
Login.c(118): \tthis._unselectableClass = "ui-datepicker-unselectable"; // The
name of the unselectable
Login.c(118): cell marker class\n
Login.c(118): \tthis._currentClass = "ui-datepicker-current-day"; // The name
of the current day marker
Login.c(118): class\n
Login.c(118): \tthis._dayOverClass = "ui-datepicker-days-cell-over"; // The
name of the day hover marker
Login.c(118): class\n
Login.c(118): \tthis.regional = []; // Available regional settings, indexed by
language code\n
Login.c(118): \tthis.regional[""] = { // Default regional settings\n
Login.c(118): \t\tcloseText: "Done", // Display text for close link\n
Login.c(118): \t\tprevText: "Prev", // Display text for previous month link\n
Login.c(118): \t\tnextText: "Next", // Display text for next month link\n
Login.c(118): \t\tcurrentText: "Today", // Display text for current month
link\n
Login.c(118): \t\tmonthNames:
["January","February","March","April","May","June",\n
Login.c(118):
\t\t\t"July","August","September","October","November","December"], // Names of
months for
Login.c(118): drop-down and formatting\n
Login.c(118): \t\tmonthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct"
Login.c(118): , "Nov", "Dec"], // For formatting\n
Login.c(118): \t\tdayNames: ["Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday
Login.c(118): "], // For formatting\n
Login.c(118): \t\tdayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri",
"Sat"], // For formatting\n
Login.c(118): \t\tdayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column
headings for days startin
Login.c(118): g at Sunday\n
Login.c(118): \t\tweekHeader: "Wk", // Column header for week of the year\n
Login.c(118): \t\tdateFormat: "mm/dd/yy", // See format options on parseDate\n
Login.c(118): \t\tfirstDay: 0, // The first day of the week, Sun = 0, Mon =
1, ...\n
Login.c(118): \t\tisRTL: false, // True if right-to-left language, false if
left-to-right\n
Login.c(118): \t\tshowMonthAfterYear: false, // True if the year select
precedes month, false for month
Login.c(118): then year\n
Login.c(118): \t\tyearSuffix: "" // Additional text to append to the year in
the month headers\n
Login.c(118): \t};\n
Login.c(118): \tthis._defaults = { // Global defaults for all the date picker
instances\n
Login.c(118): \t\tshowOn: "focus", // "focus" for popup on focus,\n
Login.c(118): \t\t\t// "button" for trigger button, or "both" for either\n
Login.c(118): \t\tshowAnim: "fadeIn", // Name of jQuery animation for popup\n
Login.c(118): \t\tshowOptions: {}, // Options for enhanced animations\n
Login.c(118): \t\tdefaultDate: null, // Used when field is blank: actual
date,\n
Login.c(118): \t\t\t// +/-number for offset from today, null for today\n
Login.c(118): \t\tappendText: "", // Display text following the input box,
Login.c(118): t=6148ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): e.g. showing the format\n
Login.c(118): \t\tbuttonText: "...", // Text for trigger button\n
Login.c(118): \t\tbuttonImage: "", // URL for trigger button image\n
Login.c(118): \t\tbuttonImageOnly: false, // True if the image appears alone,
false if it appears on a b
Login.c(118): utton\n
Login.c(118): \t\thideIfNoPrevNext: false, // True to hide next/previous month
links\n
Login.c(118): \t\t\t// if not applicable, false to just disable them\n
Login.c(118): \t\tnavigationAsDateFormat: false, // True if date formatting
applied to prev/today/next l
Login.c(118): inks\n
Login.c(118): \t\tgotoCurrent: false, // True if today link goes back to
current selection instead\n
Login.c(118): \t\tchangeMonth: false, // True if month can be selected
directly, false if only prev/next
Login.c(118): \n
Login.c(118): \t\tchangeYear: false, // True if year can be selected directly,
false if only prev/next\n
Login.c(118): \t\tyearRange: "c-10:c+10", // Range of years to display in drop-
down,\n
Login.c(118): \t\t\t// either relative to today's year (-nn:+nn), relative to
currently displayed year\n
Login.c(118): \t\t\t// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of
the above (nnnn:-n)\n
Login.c(118): \t\tshowOtherMonths: false, // True to show dates in other
months, false to leave blank\n
Login.c(118): \t\tselectOtherMonths: false, // True to allow selection of dates
in other months, false f
Login.c(118): or unselectable\n
Login.c(118): \t\tshowWeek: false, // True to show week of the year, false to
not show it\n
Login.c(118): \t\tcalculateWeek: this.iso8601Week, // How to calculate the week
of the year,\n
Login.c(118): \t\t\t// takes a Date and returns the number of the week for it\n
Login.c(118): \t\tshortYearCutoff: "+10", // Short year values < this are in
the current century,\n
Login.c(118): \t\t\t// > this are in the previous century,\n
Login.c(118): \t\t\t// string value starting with "+" for current year +
value\n
Login.c(118): \t\tminDate: null, // The earliest selectable date, or null for
no limit\n
Login.c(118): \t\tmaxDate: null, // The latest selectable date, or null for no
limit\n
Login.c(118): \t\tduration: "fast", // Duration of display/closure\n
Login.c(118): \t\tbeforeShowDay: null, // Function that takes a date and
returns an array with\n
Login.c(118): \t\t\t// [0] = true if selectable, false if not, [1] = custom CSS
class name(s) or "",\n
Login.c(118): \t\t\t// [2] = cell title (optional), e.g.
$.datepicker.noWeekends\n
Login.c(118): \t\tbeforeShow: null, // Function that takes an input field and\n
Login.c(118): \t\t\t// returns a set of custom settings for the date picker\n
Login.c(118): \t\tonSelect: null, // Define a callback function when a date is
selected\n
Login.c(118): \t\tonChangeMonthYear: null, // Define a callback function when
the month or year is chang
Login.c(118): ed\n
Login.c(118): \t\tonClose: null, // Define a callback function when the
datepicker is closed\n
Login.c(118): \t\tnumberOfMonths: 1, // Number of months to show at a time\n
Login.c(118): \t\tshowCurrentAtPos: 0, // The position in multipe months at
which to show the current mo
Login.c(118): nth (starting at 0)\n
Login.c(118): \t\tstepMonths: 1, // Number of months to step back/forward\n
Login.c(118): \t\tstepBigMonths: 12, // Number of months to step back/forward
for the big links\n
Login.c(118): \t\taltField: "", // Selector for an alternate field to store
selected dates into\n
Login.c(118): \t\taltFormat: "", // The date format to use for the alternate
field\n
Login.c(118): \t\tconstrainInput: true, // The input is constrained by the
current date format\n
Login.c(118): \t\tshowButtonPanel: false, // True to show button panel, false
to not show it\n
Login.c(118): \t\tautoSize: false, // True to size the input for the date
format, false to leave as is\n
Login.c(118): \t\tdisabled: false // The initial disabled state\n
Login.c(118): \t};\n
Login.c(118): \t$.extend(this._defaults, this.regional[""]);\n
Login.c(118): \tthis.regional.en = $.extend( true, {}, this.regional[ "" ]);\n
Login.c(118): \tthis.regional[ "en-US" ] = $.extend( true, {}, this.regional.en
);\n
Login.c(118): \tthis.dpDiv = datepicker_bindHover($("<div id='" +
this._mainDivId + "' class='ui-datepic
Login.c(118): ker ui-widget ui-widget-content ui-helper-clearfix ui-corner-
all'></div>"));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(Datepicker.prototype, {\n
Login.c(118): \t/* Class name added to elements to indicate already configured
with a date picker. */\n
Login.c(118): \tmarkerClassName: "hasDatepicker",\n
Login.c(118): \n
Login.c(118): \t//Keep track of the maximum number of rows displayed (see
#7043)\n
Login.c(118): \tmaxRows: 4,\n
Login.c(118): \n
Login.c(118): \t// TODO rename to "widget" when switching to widget factory\n
Login.c(118): \t_widgetDatepicker: function() {\n
Login.c(118): \t\treturn this.dpDiv;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Override the default settings for all instances of the date
picker.\n
Login.c(118): \t * @param settings object - the new settings to use as
defaults (anonymous object)\n
Login.c(118): \t * @return the manager object\n
Login.c(118): \t */\n
Login.c(118): \tsetDefaults: function(settings) {\n
Login.c(118): \t\tdatepicker_extendRemove(this._defaults, settings || {});\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach the date picker to a jQuery selection.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t * @param settings object - the new settings to use for this
date picker instance (ano
Login.c(118): nymous)\n
Login.c(118): \t */\n
Login.c(118): \t_attachDatepicker: function(target, settings) {\n
Login.c(118): \t\tvar nodeName, inline, inst;\n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\tinline = (nodeName === "div" || nodeName === "span");\n
Login.c(118): \t\tif (!target.id) {\n
Login.c(118): \t\t\tthis.uuid += 1;\n
Login.c(118): \t\t\ttarget.id = "dp" + this.uuid;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst = this._newInst($(target), inline);\n
Login.c(118): \t\tinst.settings = $.extend({}, settings || {});\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\tthis._connectDatepicker(target, inst);\n
Login.c(118): \t\t} else if (inline) {\n
Login.c(118): \t\t\tthis._inlineDatepicker(target, inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Create a new instance object. */\n
Login.c(118): \t_newInst: function(target, inline) {\n
Login.c(118): \t\tvar id = target[0].id.replace(/([^A-Za-z0-9_\\-])/g,
"\\\\\\\\$1"); // escape jQuery m
Login.c(118): eta chars\n
Login.c(118): \t\treturn {id: id, input: target, // associated target\n
Login.c(118): \t\t\tselectedDay: 0, selectedMonth: 0, selectedYear: 0, //
current selection\n
Login.c(118): \t\t\tdrawMonth: 0, drawYear: 0, // month being drawn\n
Login.c(118): \t\t\tinline: inline, // is datepicker inline or not\n
Login.c(118): \t\t\tdpDiv: (!inline ? this.dpDiv : // presentation div\n
Login.c(118): \t\t\tdatepicker_bindHover($("<div class='" + this._inlineClass +
" ui-datepicker ui-widge
Login.c(118): t ui-widget-content ui-helper-clearfix ui-corner-
all'></div>")))};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach the date picker to an input field. */\n
Login.c(118): \t_connectDatepicker: function(target, inst) {\n
Login.c(118): \t\tvar input = $(target);\n
Login.c(118): \t\tinst.append = $([]);\n
Login.c(118): \t\tinst.trigger = $([]);\n
Login.c(118): \t\tif (input.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._attachments(input, inst);\n
Login.c(118):
\t\tinput.addClass(this.markerClassName).keydown(this._doKeyDown).\n
Login.c(118): \t\t\tkeypress(this._doKeyPress).keyup(this._doKeyUp);\n
Login.c(118): \t\tthis._autoSize(inst);\n
Login.c(118): \t\t$.data(target, "datepicker", inst);\n
Login.c(118): \t\t//If disabled option is true, disable the datepicker once it
has been attached to the
Login.c(118): input (see ticket #5665)\n
Login.c(118): \t\tif( inst.settings.disabled ) {\n
Login.c(118): \t\t\tthis._disableDatepicker( target );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Make attachments based on settings. */\n
Login.c(118): \t_attachments: function(input, inst) {\n
Login.c(118): \t\tvar showOn, buttonText, buttonImage,\n
Login.c(118): \t\t\tappendText = this._get(inst, "appendText"),\n
Login.c(118): \t\t\tisRTL = this._get(inst, "isRTL");\n
Login.c(118): \n
Login.c(118): \t\tif (inst.append) {\n
Login.c(118): \t\t\tinst.append.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (appendText) {\n
Login.c(118): \t\t\tinst.append = $("<span class='" + this._appendClass + "'>"
+ appendText + "</span>")
Login.c(118): ;\n
Login.c(118): \t\t\tinput[isRTL ? "before" : "after"](inst.append);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tinput.unbind("focus", this._showDatepicker);\n
Login.c(118): \n
Login.c(118): \t\tif (inst.trigger) {\n
Login.c(118): \t\t\tinst.trigger.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tshowOn = this._get(inst, "showOn");\n
Login.c(118): \t\tif (showOn === "focus" || showOn === "both") { // pop-up date
picker when in the marke
Login.c(118): d field\n
Login.c(118): \t\t\tinput.focus(this._showDatepicker);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (showOn === "button" || showOn === "both") { // pop-up
date picker when button clic
Login.c(118): ked\n
Login.c(118): \t\t\tbuttonText = this._get(inst, "buttonText");\n
Login.c(118): \t\t\tbuttonImage = this._get(inst, "buttonImage");\n
Login.c(118): \t\t\tinst.trigger = $(this._get(inst, "buttonImageOnly") ?\n
Login.c(118): \t\t\t\t$("<img/>").addClass(this._triggerClass).\n
Login.c(118): \t\t\t\t\tattr({ src: buttonImage, alt: buttonText, title:
buttonText }) :\n
Login.c(118): \t\t\t\t$("<button
type='button'></button>").addClass(this._triggerClass).\n
Login.c(118): \t\t\t\t\thtml(!buttonImage ? buttonText : $("<img/>").attr(\n
Login.c(118): \t\t\t\t\t{ src:buttonImage, alt:buttonText,
title:buttonText })));\n
Login.c(118): \t\t\tinput[isRTL ? "before" : "after"](inst.trigger);\n
Login.c(118): \t\t\tinst.trigger.click(function() {\n
Login.c(118): \t\t\t\tif ($.datepicker._datepickerShowing &&
$.datepicker._lastInput === input[0]) {\n
Login.c(118): \t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t} else if ($.datepicker._datepickerShowing &&
$.datepicker._lastInput !== input[0]
Login.c(118): ) {\n
Login.c(118): \t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Apply the maximum length for the date format. */\n
Login.c(118): \t_autoSize: function(inst) {\n
Login.c(118): \t\tif (this._get(inst, "autoSize") && !inst.inline) {\n
Login.c(118): \t\t\tvar findMax, max, maxI, i,\n
Login.c(118): \t\t\t\tdate = new Date(2009, 12 - 1, 20), // Ensure double
digits\n
Login.c(118): \t\t\t\tdateFormat = this._get(inst, "dateFormat");\n
Login.c(118): \n
Login.c(118): \t\t\tif (dateFormat.match(/[DM]/)) {\n
Login.c(118): \t\t\t\tfindMax = function(names) {\n
Login.c(118): \t\t\t\t\tmax = 0;\n
Login.c(118): \t\t\t\t\tmaxI = 0;\n
Login.c(118): \t\t\t\t\tfor (i = 0; i < names.length; i++) {\n
Login.c(118): \t\t\t\t\t\tif (names[i].length > max) {\n
Login.c(118): \t\t\t\t\t\t\tmax = names[i].length;\n
Login.c(118): \t\t\t\t\t\t\tmaxI = i;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\treturn maxI;\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\tdate.setMonth(findMax(this._get(inst,
(dateFormat.match(/MM/) ?\n
Login.c(118): \t\t\t\t\t"monthNames" : "monthNamesShort"))));\n
Login.c(118): \t\t\t\tdate.setDate(findMax(this._get(inst,
(dateFormat.match(/DD/) ?\n
Login.c(118): \t\t\t\t\t"dayNames" : "dayNamesShort"))) + 20 -
date.getDay());\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tinst.input.attr("size", this._formatDate(inst,
date).length);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach an inline date picker to a div. */\n
Login.c(118): \t_inlineDatepicker: function(target, inst) {\n
Login.c(118): \t\tvar divSpan = $(target);\n
Login.c(118): \t\tif (divSpan.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdivSpan.addClass(this.markerClassName).append(inst.dpDiv);\n
Login.c(118): \t\t$.data(target, "datepicker", inst);\n
Login.c(118): \t\tthis._setDate(inst, this._getDefaultDate(inst), true);\n
Login.c(118): \t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\tthis._updateAlternate(inst);\n
Login.c(118): \t\t//If disabled option is true, disable the datepicker before
showing it (see ticket #56
Login.c(118): 65)\n
Login.c(118): \t\tif( inst.settings.disabled ) {\n
Login.c(118): \t\t\tthis._disableDatepicker( target );\n
Login.c(118): \t\t}\n
Login.c(118): \t\t// Set display:block in place of inst.dpDiv.show() which
won't work on disconnected el
Login.c(118): ements\n
Login.c(118): \t\t// http://bugs.jqueryui.com/ticket/7552 - A Datepicker
created on a detached div has z
Login.c(118): ero height\n
Login.c(118): \t\tinst.dpDiv.css( "display", "block" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Pop-up the date picker in a "dialog" box.\n
Login.c(118): \t * @param input element - ignored\n
Login.c(118): \t * @param date\tstring or Date - the initial date to display\n
Login.c(118): \t * @param onSelect function - the function to call when a
date is selected\n
Login.c(118): \t * @param settings object - update the dialog date picker
instance's settings (anonymo
Login.c(118): us object)\n
Login.c(118): \t * @param pos int[2] - coordinates for the dialog's position
within the screen or\n
Login.c(118): \t *\t\t\t\t\tevent - with x/y coordinates or\n
Login.c(118): \t *\t\t\t\t\tleave empty for default (screen centre)\n
Login.c(118): \t * @return the manager object\n
Login.c(118): \t */\n
Login.c(118): \t_dialogDatepicker: function(input, date, onSelect, settings,
pos) {\n
Login.c(118): \t\tvar id, browserWidth, browserHeight, scrollX, scrollY,\n
Login.c(118): \t\t\tinst = this._dialogInst; // internal instance\n
Login.c(118): \n
Login.c(118): \t\tif (!inst) {\n
Login.c(118): \t\t\tthis.uuid += 1;\n
Login.c(118): \t\t\tid = "dp" + this.uuid;\n
Login.c(118): \t\t\tthis._dialogInput = $("<input type='text' id='" + id +\n
Login.c(118): \t\t\t\t"' style='position: absolute; top: -100px; width:
0px;'/>");\n
Login.c(118): \t\t\tthis._dialogInput.keydown(this._doKeyDown);\n
Login.c(118): \t\t\t$("body").append(this._dialogInput);\n
Login.c(118): \t\t\tinst = this._dialogInst = this._newInst(this._dialogInput,
false);\n
Login.c(118): \t\t\tinst.settings = {};\n
Login.c(118): \t\t\t$.data(this._dialogInput[0], "datepicker", inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdatepicker_extendRemove(inst.settings, settings || {});\n
Login.c(118): \t\tdate = (date && date.constructor === Date ?
this._formatDate(inst, date) : date);\n
Login.c(118): \t\tthis._dialogInput.val(date);\n
Login.c(118): \n
Login.c(118): \t\tthis._pos = (pos ? (pos.length ? pos : [pos.pageX,
pos.pageY]) : null);\n
Login.c(118): \t\tif (!this._pos) {\n
Login.c(118): \t\t\tbrowserWidth = document.documentElement.clientWidth;\n
Login.c(118): \t\t\tbrowserHeight = document.documentElement.clientHeight;\n
Login.c(118): \t\t\tscrollX = document.documentElement.scrollLeft ||
document.body.scrollLeft;\n
Login.c(118): \t\t\tscrollY = document.documentElement.scrollTop ||
document.body.scrollTop;\n
Login.c(118): \t\t\tthis._pos = // should use actual width/height below\n
Login.c(118): \t\t\t\t[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2)
- 150 + scrollY];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// move input on screen for focus, but hidden behind dialog\n
Login.c(118): \t\tthis._dialogInput.css("left", (this._pos[0] + 20) +
"px").css("top", this._pos[1] + "p
Login.c(118): x");\n
Login.c(118): \t\tinst.settings.onSelect = onSelect;\n
Login.c(118): \t\tthis._inDialog = true;\n
Login.c(118): \t\tthis.dpDiv.addClass(this._dialogClass);\n
Login.c(118): \t\tthis._showDatepicker(this._dialogInput[0]);\n
Login.c(118): \t\tif ($.blockUI) {\n
Login.c(118): \t\t\t$.blockUI(this.dpDiv);\n
Login.c(118): \t\t}\n
Login.c(118): \t\t$.data(this._dialogInput[0], "datepicker", inst);\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Detach a datepicker from its control.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_destroyDatepicker: function(target) {\n
Login.c(118): \t\tvar nodeName,\n
Login.c(118): \t\t\t$target = $(target),\n
Login.c(118): \t\t\tinst = $.data(target, "datepicker");\n
Login.c(118): \n
Login.c(118): \t\tif (!$target.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\t$.removeData(target, "datepicker");\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\tinst.append.remove();\n
Login.c(118): \t\t\tinst.trigger.remove();\n
Login.c(118): \t\t\t$target.removeClass(this.markerClassName).\n
Login.c(118): \t\t\t\tunbind("focus", this._showDatepicker).\n
Login.c(118): \t\t\t\tunbind("keydown", this._doKeyDown).\n
Login.c(118): \t\t\t\tunbind("keypress", this._doKeyPress).\n
Login.c(118): \t\t\t\tunbind("keyup", this.
Login.c(118): t=6164ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): _doKeyUp);\n
Login.c(118): \t\t} else if (nodeName === "div" || nodeName === "span") {\n
Login.c(118): \t\t\t$target.removeClass(this.markerClassName).empty();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Enable the date picker to a jQuery selection.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_enableDatepicker: function(target) {\n
Login.c(118): \t\tvar nodeName, inline,\n
Login.c(118): \t\t\t$target = $(target),\n
Login.c(118): \t\t\tinst = $.data(target, "datepicker");\n
Login.c(118): \n
Login.c(118): \t\tif (!$target.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\ttarget.disabled = false;\n
Login.c(118): \t\t\tinst.trigger.filter("button").\n
Login.c(118): \t\t\t\teach(function() { this.disabled = false; }).end().\n
Login.c(118): \t\t\t\tfilter("img").css({opacity: "1.0", cursor: ""});\n
Login.c(118): \t\t} else if (nodeName === "div" || nodeName === "span") {\n
Login.c(118): \t\t\tinline = $target.children("." + this._inlineClass);\n
Login.c(118): \t\t\tinline.children().removeClass("ui-state-disabled");\n
Login.c(118): \t\t\tinline.find("select.ui-datepicker-month, select.ui-
datepicker-year").\n
Login.c(118): \t\t\t\tprop("disabled", false);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._disabledInputs = $.map(this._disabledInputs,\n
Login.c(118): \t\t\tfunction(value) { return (value === target ? null : value);
}); // delete entry\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Disable the date picker to a jQuery selection.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_disableDatepicker: function(target) {\n
Login.c(118): \t\tvar nodeName, inline,\n
Login.c(118): \t\t\t$target = $(target),\n
Login.c(118): \t\t\tinst = $.data(target, "datepicker");\n
Login.c(118): \n
Login.c(118): \t\tif (!$target.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\ttarget.disabled = true;\n
Login.c(118): \t\t\tinst.trigger.filter("button").\n
Login.c(118): \t\t\t\teach(function() { this.disabled = true; }).end().\n
Login.c(118): \t\t\t\tfilter("img").css({opacity: "0.5", cursor: "default"});\n
Login.c(118): \t\t} else if (nodeName === "div" || nodeName === "span") {\n
Login.c(118): \t\t\tinline = $target.children("." + this._inlineClass);\n
Login.c(118): \t\t\tinline.children().addClass("ui-state-disabled");\n
Login.c(118): \t\t\tinline.find("select.ui-datepicker-month, select.ui-
datepicker-year").\n
Login.c(118): \t\t\t\tprop("disabled", true);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._disabledInputs = $.map(this._disabledInputs,\n
Login.c(118): \t\t\tfunction(value) { return (value === target ? null : value);
}); // delete entry\n
Login.c(118): \t\tthis._disabledInputs[this._disabledInputs.length] = target;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Is the first field in a jQuery collection disabled as a
datepicker?\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t * @return boolean - true if disabled, false if enabled\n
Login.c(118): \t */\n
Login.c(118): \t_isDisabledDatepicker: function(target) {\n
Login.c(118): \t\tif (!target) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tfor (var i = 0; i < this._disabledInputs.length; i++) {\n
Login.c(118): \t\t\tif (this._disabledInputs[i] === target) {\n
Login.c(118): \t\t\t\treturn true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Retrieve the instance data for the target control.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @return object - the associated instance data\n
Login.c(118): \t * @throws error if a jQuery problem getting data\n
Login.c(118): \t */\n
Login.c(118): \t_getInst: function(target) {\n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\treturn $.data(target, "datepicker");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tcatch (err) {\n
Login.c(118): \t\t\tthrow "Missing instance data for this datepicker";\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Update or retrieve the settings for a date picker attached
to an input field or divis
Login.c(118): ion.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @param name\tobject - the new settings to update or\n
Login.c(118): \t *\t\t\t\tstring - the name of the setting to change or
retrieve,\n
Login.c(118): \t *\t\t\t\twhen retrieving also "all" for all instance settings
or\n
Login.c(118): \t *\t\t\t\t"defaults" for all global defaults\n
Login.c(118): \t * @param value any - the new value for the setting\n
Login.c(118): \t *\t\t\t\t(omit if above is an object or to retrieve a value)\n
Login.c(118): \t */\n
Login.c(118): \t_optionDatepicker: function(target, name, value) {\n
Login.c(118): \t\tvar settings, date, minDate, maxDate,\n
Login.c(118): \t\t\tinst = this._getInst(target);\n
Login.c(118): \n
Login.c(118): \t\tif (arguments.length === 2 && typeof name === "string") {\n
Login.c(118): \t\t\treturn (name === "defaults" ? $.extend({},
$.datepicker._defaults) :\n
Login.c(118): \t\t\t\t(inst ? (name === "all" ? $.extend({}, inst.settings) :\n
Login.c(118): \t\t\t\tthis._get(inst, name)) : null));\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tsettings = name || {};\n
Login.c(118): \t\tif (typeof name === "string") {\n
Login.c(118): \t\t\tsettings = {};\n
Login.c(118): \t\t\tsettings[name] = value;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (inst) {\n
Login.c(118): \t\t\tif (this._curInst === inst) {\n
Login.c(118): \t\t\t\tthis._hideDatepicker();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tdate = this._getDateDatepicker(target, true);\n
Login.c(118): \t\t\tminDate = this._getMinMaxDate(inst, "min");\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max");\n
Login.c(118): \t\t\tdatepicker_extendRemove(inst.settings, settings);\n
Login.c(118): \t\t\t// reformat the old minDate/maxDate values if dateFormat
changes and a new minDate/m
Login.c(118): axDate isn't provided\n
Login.c(118): \t\t\tif (minDate !== null && settings.dateFormat !== undefined
&& settings.minDate === un
Login.c(118): defined) {\n
Login.c(118): \t\t\t\tinst.settings.minDate = this._formatDate(inst,
minDate);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (maxDate !== null && settings.dateFormat !== undefined
&& settings.maxDate === un
Login.c(118): defined) {\n
Login.c(118): \t\t\t\tinst.settings.maxDate = this._formatDate(inst,
maxDate);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( "disabled" in settings ) {\n
Login.c(118): \t\t\t\tif ( settings.disabled ) {\n
Login.c(118): \t\t\t\t\tthis._disableDatepicker(target);\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthis._enableDatepicker(target);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._attachments($(target), inst);\n
Login.c(118): \t\t\tthis._autoSize(inst);\n
Login.c(118): \t\t\tthis._setDate(inst, date);\n
Login.c(118): \t\t\tthis._updateAlternate(inst);\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// change method deprecated\n
Login.c(118): \t_changeDatepicker: function(target, name, value) {\n
Login.c(118): \t\tthis._optionDatepicker(target, name, value);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Redraw the date picker attached to an input field or
division.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_refreshDatepicker: function(target) {\n
Login.c(118): \t\tvar inst = this._getInst(target);\n
Login.c(118): \t\tif (inst) {\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set the dates for a jQuery selection.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @param date\tDate - the new date\n
Login.c(118): \t */\n
Login.c(118): \t_setDateDatepicker: function(target, date) {\n
Login.c(118): \t\tvar inst = this._getInst(target);\n
Login.c(118): \t\tif (inst) {\n
Login.c(118): \t\t\tthis._setDate(inst, date);\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t\tthis._updateAlternate(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Get the date(s) for the first entry in a jQuery selection.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @param noDefault boolean - true if no default date is to be
used\n
Login.c(118): \t * @return Date - the current date\n
Login.c(118): \t */\n
Login.c(118): \t_getDateDatepicker: function(target, noDefault) {\n
Login.c(118): \t\tvar inst = this._getInst(target);\n
Login.c(118): \t\tif (inst && !inst.inline) {\n
Login.c(118): \t\t\tthis._setDateFromField(inst, noDefault);\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn (inst ? this._getDate(inst) : null);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Handle keystrokes. */\n
Login.c(118): \t_doKeyDown: function(event) {\n
Login.c(118): \t\tvar onSelect, dateStr, sel,\n
Login.c(118): \t\t\tinst = $.datepicker._getInst(event.target),\n
Login.c(118): \t\t\thandled = true,\n
Login.c(118): \t\t\tisRTL = inst.dpDiv.is(".ui-datepicker-rtl");\n
Login.c(118): \n
Login.c(118): \t\tinst._keyEvent = true;\n
Login.c(118): \t\tif ($.datepicker._datepickerShowing) {\n
Login.c(118): \t\t\tswitch (event.keyCode) {\n
Login.c(118): \t\t\t\tcase 9: $.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t\thandled = false;\n
Login.c(118): \t\t\t\t\t\tbreak; // hide on tab out\n
Login.c(118): \t\t\t\tcase 13: sel = $("td." + $.datepicker._dayOverClass +
":not(." +\n
Login.c(118): \t\t\t\t\t\t\t\t\t$.datepicker._currentClass + ")",
inst.dpDiv);\n
Login.c(118): \t\t\t\t\t\tif (sel[0]) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._selectDay(event.target,
inst.selectedMonth, inst.selectedYear,
Login.c(118): sel[0]);\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tonSelect = $.datepicker._get(inst, "onSelect");\n
Login.c(118): \t\t\t\t\t\tif (onSelect) {\n
Login.c(118): \t\t\t\t\t\t\tdateStr = $.datepicker._formatDate(inst);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t// trigger custom callback\n
Login.c(118): \t\t\t\t\t\t\tonSelect.apply((inst.input ? inst.input[0] : null),
[dateStr, inst]);\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\treturn false; // don't submit the form\n
Login.c(118): \t\t\t\tcase 27: $.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t\tbreak; // hide on escape\n
Login.c(118): \t\t\t\tcase 33: $.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t-$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t-$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\tbreak; // previous month/year on page up/+ ctrl\n
Login.c(118): \t\t\t\tcase 34: $.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t+$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t+$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\tbreak; // next month/year on page down/+ ctrl\n
Login.c(118): \t\t\t\tcase 35: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._clearDate(event.target);\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // clear on ctrl or command +end\n
Login.c(118): \t\t\t\tcase 36: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._gotoToday(event.target);\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // current on ctrl or command +home\n
Login.c(118): \t\t\t\tcase 37: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ?
+1 : -1), "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\t// -1 day on ctrl or command +left\n
Login.c(118): \t\t\t\t\t\tif (event.originalEvent.altKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t\t-$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t\t-$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t// next month/year on alt +left on Mac\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase 38: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, -7, "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // -1 week on ctrl or command +up\n
Login.c(118): \t\t\t\tcase 39: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ?
-1 : +1), "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\t// +1 day on ctrl or command +right\n
Login.c(118): \t\t\t\t\t\tif (event.originalEvent.altKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t\t+$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t\t+$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t// next month/year on alt +right\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase 40: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, +7, "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // +1 week on ctrl or command +down\n
Login.c(118): \t\t\t\tdefault: handled = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else if (event.keyCode === 36 && event.ctrlKey) { //
display the date picker on ctrl
Login.c(118): +home\n
Login.c(118): \t\t\t$.datepicker._showDatepicker(this);\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\thandled = false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (handled) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tevent.stopPropagation();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Filter entered characters - based on date format. */\n
Login.c(118): \t_doKeyPress: function(event) {\n
Login.c(118): \t\tvar chars, chr,\n
Login.c(118): \t\t\tinst = $.datepicker._getInst(event.target);\n
Login.c(118): \n
Login.c(118): \t\tif ($.datepicker._get(inst, "constrainInput")) {\n
Login.c(118): \t\t\tchars = $.datepicker._possibleChars($.datepicker._get(inst,
"dateFormat"));\n
Login.c(118): \t\t\tchr = String.fromCharCode(event.charCode == null ?
event.keyCode : event.charCode);\n
Login.c(118): \t\t\treturn event.ctrlKey || event.metaKey || (chr < " " || !
chars || chars.indexOf(chr)
Login.c(118): > -1);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Synchronise manual entry and field/alternate field. */\n
Login.c(118): \t_doKeyUp: function(event) {\n
Login.c(118): \t\tvar date,\n
Login.c(118): \t\t\tinst = $.datepicker._getInst(event.target);\n
Login.c(118): \n
Login.c(118): \t\tif (inst.input.val() !== inst.lastVal) {\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tdate = $.datepicker.parseDate($.datepicker._get(inst,
"dateFormat"),\n
Login.c(118): \t\t\t\t\t(inst.input ? inst.input.val() : null),\n
Login.c(118): \t\t\t\t\t$.datepicker._getFormatConfig(inst));\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (date) { // only if valid\n
Login.c(118): \t\t\t\t\t$.datepicker._setDateFromField(inst);\n
Login.c(118): \t\t\t\t\t$.datepicker._updateAlternate(inst);\n
Login.c(118): \t\t\t\t\t$.datepicker._updateDatepicker(inst);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tcatch (err) {\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Pop-up the date picker for a given input field.\n
Login.c(118): \t * If false returned from beforeShow event handler do not
show.\n
Login.c(118): \t * @param input element - the input field attached to the
date picker or\n
Login.c(118): \t *\t\t\t\t\tevent - if triggered by focus\n
Login.c(118): \t */\n
Login.c(118): \t_showDatepicker: function(input) {\n
Login.c(118): \t\tinput = input.target || input;\n
Login.c(118): \t\tif (input.nodeName.toLowerCase() !== "input") { // find from
button/image trigger\n
Login.c(118): \t\t\tinput = $("input", input.parentNode)[0];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ($.datepicker._isDisabledDatepicker(input) ||
$.datepicker._lastInput === input) {
Login.c(118): // already here\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar inst, beforeShow, beforeShowSettings, isFixed,\n
Login.c(118): \t\t\toffset, showAnim, duration;\n
Login.c(118): \n
Login.c(118): \t\tinst = $.datepicker._getInst(input);\n
Login.c(118): \t\tif ($.datepicker._curInst && $.datepicker._curInst !== inst)
{\n
Login.c(118): \t\t\t$.datepicker._curInst.dpDiv.stop(true, true);\n
Login.c(118): \t\t\tif ( inst && $.datepicker._datepickerShowing ) {\n
Login.c(118):
\t\t\t\t$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tbeforeShow = $.datepicker._get(inst, "beforeShow");\n
Login.c(118): \t\tbeforeShowSettings = beforeShow ? beforeShow.apply(input,
[input, inst]) : {};\n
Login.c(118): \t\tif(beforeShowSettings === false){\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdatepicker_extendRemove(inst.settings, beforeShowSettings);\n
Login.c(118): \n
Login.c(118): \t\tinst.lastVal = null;\n
Login.c(118): \t\t$.datepicker._lastInput = input;\n
Login.c(118): \t\t$.datepicker._setDateFromField(inst);\n
Login.c(118): \n
Login.c(118): \t\tif ($.datepicker._inDialog) { // hide cursor\n
Login.c(118): \t\t\tinput.value = "";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (!$.datepicker._pos) { // p
Login.c(118): t=6211ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): osition below input\n
Login.c(118): \t\t\t$.datepicker._pos = $.datepicker._findPos(input);\n
Login.c(118): \t\t\t$.datepicker._pos[1] += input.offsetHeight; // add the
height\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tisFixed = false;\n
Login.c(118): \t\t$(input).parents().each(function() {\n
Login.c(118): \t\t\tisFixed |= $(this).css("position") === "fixed";\n
Login.c(118): \t\t\treturn !isFixed;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\toffset = {left: $.datepicker._pos[0], top:
$.datepicker._pos[1]};\n
Login.c(118): \t\t$.datepicker._pos = null;\n
Login.c(118): \t\t//to avoid flashes on Firefox\n
Login.c(118): \t\tinst.dpDiv.empty();\n
Login.c(118): \t\t// determine sizing offscreen\n
Login.c(118): \t\tinst.dpDiv.css({position: "absolute", display: "block", top:
"-1000px"});\n
Login.c(118): \t\t$.datepicker._updateDatepicker(inst);\n
Login.c(118): \t\t// fix width for dynamic number of date pickers\n
Login.c(118): \t\t// and adjust position before showing\n
Login.c(118): \t\toffset = $.datepicker._checkOffset(inst, offset, isFixed);\n
Login.c(118): \t\tinst.dpDiv.css({position: ($.datepicker._inDialog &&
$.blockUI ?\n
Login.c(118): \t\t\t"static" : (isFixed ? "fixed" : "absolute")), display:
"none",\n
Login.c(118): \t\t\tleft: offset.left + "px", top: offset.top + "px"});\n
Login.c(118): \n
Login.c(118): \t\tif (!inst.inline) {\n
Login.c(118): \t\t\tshowAnim = $.datepicker._get(inst, "showAnim");\n
Login.c(118): \t\t\tduration = $.datepicker._get(inst, "duration");\n
Login.c(118): \t\t\tinst.dpDiv.css( "z-index", datepicker_getZindex( $( input )
) + 1 );\n
Login.c(118): \t\t\t$.datepicker._datepickerShowing = true;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( $.effects && $.effects.effect[ showAnim ] ) {\n
Login.c(118): \t\t\t\tinst.dpDiv.show(showAnim, $.datepicker._get(inst,
"showOptions"), duration);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tinst.dpDiv[showAnim || "show"](showAnim ? duration :
null);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( $.datepicker._shouldFocusInput( inst ) ) {\n
Login.c(118): \t\t\t\tinst.input.focus();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t$.datepicker._curInst = inst;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Generate the date picker content. */\n
Login.c(118): \t_updateDatepicker: function(inst) {\n
Login.c(118): \t\tthis.maxRows = 4; //Reset the max number of rows being
displayed (see #7043)\n
Login.c(118): \t\tdatepicker_instActive = inst; // for delegate hover events\n
Login.c(118): \t\tinst.dpDiv.empty().append(this._generateHTML(inst));\n
Login.c(118): \t\tthis._attachHandlers(inst);\n
Login.c(118): \n
Login.c(118): \t\tvar origyearshtml,\n
Login.c(118): \t\t\tnumMonths = this._getNumberOfMonths(inst),\n
Login.c(118): \t\t\tcols = numMonths[1],\n
Login.c(118): \t\t\twidth = 17,\n
Login.c(118): \t\t\tactiveCell = inst.dpDiv.find( "." + this._dayOverClass + "
a" );\n
Login.c(118): \n
Login.c(118): \t\tif ( activeCell.length > 0 ) {\n
Login.c(118): \t\t\tdatepicker_handleMouseover.apply( activeCell.get( 0 ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tinst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-
multi-3 ui-datepicker-mult
Login.c(118): i-4").width("");\n
Login.c(118): \t\tif (cols > 1) {\n
Login.c(118): \t\t\tinst.dpDiv.addClass("ui-datepicker-multi-" +
cols).css("width", (width * cols) + "em
Login.c(118): ");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ?
"add" : "remove") +\n
Login.c(118): \t\t\t"Class"]("ui-datepicker-multi");\n
Login.c(118): \t\tinst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +\n
Login.c(118): \t\t\t"Class"]("ui-datepicker-rtl");\n
Login.c(118): \n
Login.c(118): \t\tif (inst === $.datepicker._curInst &&
$.datepicker._datepickerShowing && $.datepicker.
Login.c(118): _shouldFocusInput( inst ) ) {\n
Login.c(118): \t\t\tinst.input.focus();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// deffered render of the years select (to avoid flashes on
Firefox)\n
Login.c(118): \t\tif( inst.yearshtml ){\n
Login.c(118): \t\t\torigyearshtml = inst.yearshtml;\n
Login.c(118): \t\t\tsetTimeout(function(){\n
Login.c(118): \t\t\t\t//assure that inst.yearshtml didn't change.\n
Login.c(118): \t\t\t\tif( origyearshtml === inst.yearshtml && inst.yearshtml )
{\n
Login.c(118): \t\t\t\t\tinst.dpDiv.find("select.ui-datepicker-
year:first").replaceWith(inst.yearshtml);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\torigyearshtml = inst.yearshtml = null;\n
Login.c(118): \t\t\t}, 0);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// #6694 - don't focus the input if it's already focused\n
Login.c(118): \t// this breaks the change event in IE\n
Login.c(118): \t// Support: IE and jQuery <1.9\n
Login.c(118): \t_shouldFocusInput: function( inst ) {\n
Login.c(118): \t\treturn inst.input && inst.input.is( ":visible" ) && !
inst.input.is( ":disabled" ) && !
Login.c(118): inst.input.is( ":focus" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Check positioning to remain on screen. */\n
Login.c(118): \t_checkOffset: function(inst, offset, isFixed) {\n
Login.c(118): \t\tvar dpWidth = inst.dpDiv.outerWidth(),\n
Login.c(118): \t\t\tdpHeight = inst.dpDiv.outerHeight(),\n
Login.c(118): \t\t\tinputWidth = inst.input ? inst.input.outerWidth() : 0,\n
Login.c(118): \t\t\tinputHeight = inst.input ? inst.input.outerHeight() : 0,\n
Login.c(118): \t\t\tviewWidth = document.documentElement.clientWidth + (isFixed
? 0 : $(document).scroll
Login.c(118): Left()),\n
Login.c(118): \t\t\tviewHeight = document.documentElement.clientHeight +
(isFixed ? 0 : $(document).scro
Login.c(118): llTop());\n
Login.c(118): \n
Login.c(118): \t\toffset.left -= (this._get(inst, "isRTL") ? (dpWidth -
inputWidth) : 0);\n
Login.c(118): \t\toffset.left -= (isFixed && offset.left ===
inst.input.offset().left) ? $(document).scr
Login.c(118): ollLeft() : 0;\n
Login.c(118): \t\toffset.top -= (isFixed && offset.top ===
(inst.input.offset().top + inputHeight)) ? $(
Login.c(118): document).scrollTop() : 0;\n
Login.c(118): \n
Login.c(118): \t\t// now check if datepicker is showing outside window viewport
- move to a better place
Login.c(118): if so.\n
Login.c(118): \t\toffset.left -= Math.min(offset.left, (offset.left + dpWidth >
viewWidth && viewWidth >
Login.c(118): dpWidth) ?\n
Login.c(118): \t\t\tMath.abs(offset.left + dpWidth - viewWidth) : 0);\n
Login.c(118): \t\toffset.top -= Math.min(offset.top, (offset.top + dpHeight >
viewHeight && viewHeight >
Login.c(118): dpHeight) ?\n
Login.c(118): \t\t\tMath.abs(dpHeight + inputHeight) : 0);\n
Login.c(118): \n
Login.c(118): \t\treturn offset;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Find an object's position on the screen. */\n
Login.c(118): \t_findPos: function(obj) {\n
Login.c(118): \t\tvar position,\n
Login.c(118): \t\t\tinst = this._getInst(obj),\n
Login.c(118): \t\t\tisRTL = this._get(inst, "isRTL");\n
Login.c(118): \n
Login.c(118): \t\twhile (obj && (obj.type === "hidden" || obj.nodeType !== 1 ||
$.expr.filters.hidden(ob
Login.c(118): j))) {\n
Login.c(118): \t\t\tobj = obj[isRTL ? "previousSibling" : "nextSibling"];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tposition = $(obj).offset();\n
Login.c(118): \t\treturn [position.left, position.top];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Hide the date picker from view.\n
Login.c(118): \t * @param input element - the input field attached to the
date picker\n
Login.c(118): \t */\n
Login.c(118): \t_hideDatepicker: function(input) {\n
Login.c(118): \t\tvar showAnim, duration, postProcess, onClose,\n
Login.c(118): \t\t\tinst = this._curInst;\n
Login.c(118): \n
Login.c(118): \t\tif (!inst || (input && inst !== $.data(input, "datepicker")))
{\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._datepickerShowing) {\n
Login.c(118): \t\t\tshowAnim = this._get(inst, "showAnim");\n
Login.c(118): \t\t\tduration = this._get(inst, "duration");\n
Login.c(118): \t\t\tpostProcess = function() {\n
Login.c(118): \t\t\t\t$.datepicker._tidyDialog(inst);\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\t// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is
not needed\n
Login.c(118): \t\t\tif ( $.effects && ( $.effects.effect[ showAnim ] ||
$.effects[ showAnim ] ) ) {\n
Login.c(118): \t\t\t\tinst.dpDiv.hide(showAnim, $.datepicker._get(inst,
"showOptions"), duration, postPr
Login.c(118): ocess);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tinst.dpDiv[(showAnim === "slideDown" ? "slideUp" :\n
Login.c(118): \t\t\t\t\t(showAnim === "fadeIn" ? "fadeOut" : "hide"))]
((showAnim ? duration : null), pos
Login.c(118): tProcess);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (!showAnim) {\n
Login.c(118): \t\t\t\tpostProcess();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._datepickerShowing = false;\n
Login.c(118): \n
Login.c(118): \t\t\tonClose = this._get(inst, "onClose");\n
Login.c(118): \t\t\tif (onClose) {\n
Login.c(118): \t\t\t\tonClose.apply((inst.input ? inst.input[0] : null),
[(inst.input ? inst.input.val()
Login.c(118): : ""), inst]);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._lastInput = null;\n
Login.c(118): \t\t\tif (this._inDialog) {\n
Login.c(118): \t\t\t\tthis._dialogInput.css({ position: "absolute", left: "0",
top: "-100px" });\n
Login.c(118): \t\t\t\tif ($.blockUI) {\n
Login.c(118): \t\t\t\t\t$.unblockUI();\n
Login.c(118): \t\t\t\t\t$("body").append(this.dpDiv);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._inDialog = false;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Tidy up after a dialog display. */\n
Login.c(118): \t_tidyDialog: function(inst) {\n
Login.c(118): \t\tinst.dpDiv.removeClass(this._dialogClass).unbind(".ui-
datepicker-calendar");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Close date picker if clicked elsewhere. */\n
Login.c(118): \t_checkExternalClick: function(event) {\n
Login.c(118): \t\tif (!$.datepicker._curInst) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar $target = $(event.target),\n
Login.c(118): \t\t\tinst = $.datepicker._getInst($target[0]);\n
Login.c(118): \n
Login.c(118): \t\tif ( ( ( $target[0].id !== $.datepicker._mainDivId &&\n
Login.c(118): \t\t\t\t$target.parents("#" + $.datepicker._mainDivId).length ===
0 &&\n
Login.c(118): \t\t\t\t!$target.hasClass($.datepicker.markerClassName) &&\n
Login.c(118): \t\t\t\t!$target.closest("." + $.datepicker._triggerClass).length
&&\n
Login.c(118): \t\t\t\t$.datepicker._datepickerShowing && !
($.datepicker._inDialog && $.blockUI) ) ) ||\n
Login.c(118): \t\t\t( $target.hasClass($.datepicker.markerClassName) &&
$.datepicker._curInst !== inst )
Login.c(118): ) {\n
Login.c(118): \t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Adjust one of the date sub-fields. */\n
Login.c(118): \t_adjustDate: function(id, offset, period) {\n
Login.c(118): \t\tvar target = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tif (this._isDisabledDatepicker(target[0])) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._adjustInstDate(inst, offset +\n
Login.c(118): \t\t\t(period === "M" ? this._get(inst, "showCurrentAtPos") : 0),
// undo positioning\n
Login.c(118): \t\t\tperiod);\n
Login.c(118): \t\tthis._updateDatepicker(inst);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Action for current link. */\n
Login.c(118): \t_gotoToday: function(id) {\n
Login.c(118): \t\tvar date,\n
Login.c(118): \t\t\ttarget = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tif (this._get(inst, "gotoCurrent") && inst.currentDay) {\n
Login.c(118): \t\t\tinst.selectedDay = inst.currentDay;\n
Login.c(118): \t\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth;\n
Login.c(118): \t\t\tinst.drawYear = inst.selectedYear = inst.currentYear;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tdate = new Date();\n
Login.c(118): \t\t\tinst.selectedDay = date.getDate();\n
Login.c(118): \t\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n
Login.c(118): \t\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._notifyChange(inst);\n
Login.c(118): \t\tthis._adjustDate(target);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Action for selecting a new month/year. */\n
Login.c(118): \t_selectMonthYear: function(id, select, period) {\n
Login.c(118): \t\tvar target = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tinst["selected" + (period === "M" ? "Month" : "Year")] =\n
Login.c(118): \t\tinst["draw" + (period === "M" ? "Month" : "Year")] =\n
Login.c(118): \t\t\tparseInt(select.options[select.selectedIndex].value,10);\n
Login.c(118): \n
Login.c(118): \t\tthis._notifyChange(inst);\n
Login.c(118): \t\tthis._adjustDate(target);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Action for selecting a day. */\n
Login.c(118): \t_selectDay: function(id, month, year, td) {\n
Login.c(118): \t\tvar inst,\n
Login.c(118): \t\t\ttarget = $(id);\n
Login.c(118): \n
Login.c(118): \t\tif ($(td).hasClass(this._unselectableClass) ||
this._isDisabledDatepicker(target[0]))
Login.c(118): {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tinst = this._getInst(target[0]);\n
Login.c(118): \t\tinst.selectedDay = inst.currentDay = $("a", td).html();\n
Login.c(118): \t\tinst.selectedMonth = inst.currentMonth = month;\n
Login.c(118): \t\tinst.selectedYear = inst.currentYear = year;\n
Login.c(118): \t\tthis._selectDate(id, this._formatDate(inst,\n
Login.c(118): \t\t\tinst.currentDay, inst.currentMonth, inst.currentYear));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Erase the input field and hide the date picker. */\n
Login.c(118): \t_clearDate: function(id) {\n
Login.c(118): \t\tvar target = $(id);\n
Login.c(118): \t\tthis._selectDate(target, "");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Update the input field with the selected date. */\n
Login.c(118): \t_selectDate: function(id, dateStr) {\n
Login.c(118): \t\tvar onSelect,\n
Login.c(118): \t\t\ttarget = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tdateStr = (dateStr != null ? dateStr :
this._formatDate(inst));\n
Login.c(118): \t\tif (inst.input) {\n
Login.c(118): \t\t\tinst.input.val(dateStr);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._updateAlternate(inst);\n
Login.c(118): \n
Login.c(118): \t\tonSelect = this._get(inst, "onSelect");\n
Login.c(118): \t\tif (onSelect) {\n
Login.c(118): \t\t\tonSelect.apply((inst.input ? inst.input[0] : null),
[dateStr, inst]); // trigger cu
Login.c(118): stom callback\n
Login.c(118): \t\t} else if (inst.input) {\n
Login.c(118): \t\t\tinst.input.trigger("change"); // fire the change event\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (inst.inline){\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis._hideDatepicker();\n
Login.c(118): \t\t\tthis._lastInput = inst.input[0];\n
Login.c(118): \t\t\tif (typeof(inst.input[0]) !== "object") {\n
Login.c(118): \t\t\t\tinst.input.focus(); // restore focus\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._lastInput = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Update any alternate field to synchronise with the main
field. */\n
Login.c(118): \t_updateAlternate: function(inst) {\n
Login.c(118): \t\tvar altFormat, date, dateStr,\n
Login.c(118): \t\t\taltField = this._get(inst, "altField");\n
Login.c(118): \n
Login.c(118): \t\tif (altField) { // update alternate field too\n
Login.c(118): \t\t\taltFormat = this._get(inst, "altFormat") || this._ge
Login.c(118): t=6227ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): t(inst, "dateFormat");\n
Login.c(118): \t\t\tdate = this._getDate(inst);\n
Login.c(118): \t\t\tdateStr = this.formatDate(altFormat, date,
this._getFormatConfig(inst));\n
Login.c(118): \t\t\t$(altField).each(function() { $(this).val(dateStr); });\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set as beforeShowDay function to prevent selection of
weekends.\n
Login.c(118): \t * @param date Date - the date to customise\n
Login.c(118): \t * @return [boolean, string] - is this date selectable?, what
is its CSS class?\n
Login.c(118): \t */\n
Login.c(118): \tnoWeekends: function(date) {\n
Login.c(118): \t\tvar day = date.getDay();\n
Login.c(118): \t\treturn [(day > 0 && day < 6), ""];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set as calculateWeek to determine the week of the year based
on the ISO 8601 definiti
Login.c(118): on.\n
Login.c(118): \t * @param date Date - the date to get the week for\n
Login.c(118): \t * @return number - the number of the week within the year
that contains this date\n
Login.c(118): \t */\n
Login.c(118): \tiso8601Week: function(date) {\n
Login.c(118): \t\tvar time,\n
Login.c(118): \t\t\tcheckDate = new Date(date.getTime());\n
Login.c(118): \n
Login.c(118): \t\t// Find Thursday of this week starting on Monday\n
Login.c(118): \t\tcheckDate.setDate(checkDate.getDate() + 4 -
(checkDate.getDay() || 7));\n
Login.c(118): \n
Login.c(118): \t\ttime = checkDate.getTime();\n
Login.c(118): \t\tcheckDate.setMonth(0); // Compare with Jan 1\n
Login.c(118): \t\tcheckDate.setDate(1);\n
Login.c(118): \t\treturn Math.floor(Math.round((time - checkDate) / 86400000) /
7) + 1;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Parse a string value into a date object.\n
Login.c(118): \t * See formatDate below for the possible formats.\n
Login.c(118): \t *\n
Login.c(118): \t * @param format string - the expected format of the date\n
Login.c(118): \t * @param value string - the date in the above format\n
Login.c(118): \t * @param settings Object - attributes include:\n
Login.c(118): \t *\t\t\t\t\tshortYearCutoff number - the cutoff year for
determining the century (optio
Login.c(118): nal)\n
Login.c(118): \t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the
days from Sunday (option
Login.c(118): al)\n
Login.c(118): \t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from
Sunday (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of
the months (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months
(optional)\n
Login.c(118): \t * @return Date - the extracted date value or null if value is
blank\n
Login.c(118): \t */\n
Login.c(118): \tparseDate: function (format, value, settings) {\n
Login.c(118): \t\tif (format == null || value == null) {\n
Login.c(118): \t\t\tthrow "Invalid arguments";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvalue = (typeof value === "object" ? value.toString() : value
+ "");\n
Login.c(118): \t\tif (value === "") {\n
Login.c(118): \t\t\treturn null;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar iFormat, dim, extra,\n
Login.c(118): \t\t\tiValue = 0,\n
Login.c(118): \t\t\tshortYearCutoffTemp = (settings ?
settings.shortYearCutoff : null) || this._defaults
Login.c(118): .shortYearCutoff,\n
Login.c(118): \t\t\tshortYearCutoff = (typeof shortYearCutoffTemp !==
"string" ? shortYearCutoffTemp :\n
Login.c(118): \t\t\t\tnew Date().getFullYear() % 100 +
parseInt(shortYearCutoffTemp, 10)),\n
Login.c(118): \t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null)
|| this._defaults.dayName
Login.c(118): sShort,\n
Login.c(118): \t\t\tdayNames = (settings ? settings.dayNames : null) ||
this._defaults.dayNames,\n
Login.c(118): \t\t\tmonthNamesShort = (settings ? settings.monthNamesShort :
null) || this._defaults.mon
Login.c(118): thNamesShort,\n
Login.c(118): \t\t\tmonthNames = (settings ? settings.monthNames : null) ||
this._defaults.monthNames,\n
Login.c(118): \t\t\tyear = -1,\n
Login.c(118): \t\t\tmonth = -1,\n
Login.c(118): \t\t\tday = -1,\n
Login.c(118): \t\t\tdoy = -1,\n
Login.c(118): \t\t\tliteral = false,\n
Login.c(118): \t\t\tdate,\n
Login.c(118): \t\t\t// Check whether a format character is doubled\n
Login.c(118): \t\t\tlookAhead = function(match) {\n
Login.c(118): \t\t\t\tvar matches = (iFormat + 1 < format.length &&
format.charAt(iFormat + 1) === match
Login.c(118): );\n
Login.c(118): \t\t\t\tif (matches) {\n
Login.c(118): \t\t\t\t\tiFormat++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn matches;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Extract a number from the string value\n
Login.c(118): \t\t\tgetNumber = function(match) {\n
Login.c(118): \t\t\t\tvar isDoubled = lookAhead(match),\n
Login.c(118): \t\t\t\t\tsize = (match === "@" ? 14 : (match === "!" ? 20 :\n
Login.c(118): \t\t\t\t\t(match === "y" && isDoubled ? 4 : (match === "o" ? 3 :
2)))),\n
Login.c(118): \t\t\t\t\tminSize = (match === "y" ? size : 1),\n
Login.c(118): \t\t\t\t\tdigits = new RegExp("^\\\\d{" + minSize + "," + size +
"}"),\n
Login.c(118): \t\t\t\t\tnum = value.substring(iValue).match(digits);\n
Login.c(118): \t\t\t\tif (!num) {\n
Login.c(118): \t\t\t\t\tthrow "Missing number at position " + iValue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tiValue += num[0].length;\n
Login.c(118): \t\t\t\treturn parseInt(num[0], 10);\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Extract a name from the string value and convert to an
index\n
Login.c(118): \t\t\tgetName = function(match, shortNames, longNames) {\n
Login.c(118): \t\t\t\tvar index = -1,\n
Login.c(118): \t\t\t\t\tnames = $.map(lookAhead(match) ? longNames :
shortNames, function (v, k) {\n
Login.c(118): \t\t\t\t\t\treturn [ [k, v] ];\n
Login.c(118): \t\t\t\t\t}).sort(function (a, b) {\n
Login.c(118): \t\t\t\t\t\treturn -(a[1].length - b[1].length);\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t$.each(names, function (i, pair) {\n
Login.c(118): \t\t\t\t\tvar name = pair[1];\n
Login.c(118): \t\t\t\t\tif (value.substr(iValue, name.length).toLowerCase() ===
name.toLowerCase()) {\n
Login.c(118): \t\t\t\t\t\tindex = pair[0];\n
Login.c(118): \t\t\t\t\t\tiValue += name.length;\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t\tif (index !== -1) {\n
Login.c(118): \t\t\t\t\treturn index + 1;\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthrow "Unknown name at position " + iValue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Confirm that a literal character matches the string
value\n
Login.c(118): \t\t\tcheckLiteral = function() {\n
Login.c(118): \t\t\t\tif (value.charAt(iValue) !== format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\tthrow "Unexpected literal at position " + iValue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tiValue++;\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n
Login.c(118): \t\t\tif (literal) {\n
Login.c(118): \t\t\t\tif (format.charAt(iFormat) === "'" && !lookAhead("'"))
{\n
Login.c(118): \t\t\t\t\tliteral = false;\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tcheckLiteral();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tswitch (format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\tcase "d":\n
Login.c(118): \t\t\t\t\t\tday = getNumber("d");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "D":\n
Login.c(118): \t\t\t\t\t\tgetName("D", dayNamesShort, dayNames);\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "o":\n
Login.c(118): \t\t\t\t\t\tdoy = getNumber("o");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "m":\n
Login.c(118): \t\t\t\t\t\tmonth = getNumber("m");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "M":\n
Login.c(118): \t\t\t\t\t\tmonth = getName("M", monthNamesShort, monthNames);\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "y":\n
Login.c(118): \t\t\t\t\t\tyear = getNumber("y");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "@":\n
Login.c(118): \t\t\t\t\t\tdate = new Date(getNumber("@"));\n
Login.c(118): \t\t\t\t\t\tyear = date.getFullYear();\n
Login.c(118): \t\t\t\t\t\tmonth = date.getMonth() + 1;\n
Login.c(118): \t\t\t\t\t\tday = date.getDate();\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "!":\n
Login.c(118): \t\t\t\t\t\tdate = new Date((getNumber("!") -
this._ticksTo1970) / 10000);\n
Login.c(118): \t\t\t\t\t\tyear = date.getFullYear();\n
Login.c(118): \t\t\t\t\t\tmonth = date.getMonth() + 1;\n
Login.c(118): \t\t\t\t\t\tday = date.getDate();\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "'":\n
Login.c(118): \t\t\t\t\t\tif (lookAhead("'")){\n
Login.c(118): \t\t\t\t\t\t\tcheckLiteral();\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\tliteral = true;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\tcheckLiteral();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (iValue < value.length){\n
Login.c(118): \t\t\textra = value.substr(iValue);\n
Login.c(118): \t\t\tif (!/^\\s+/.test(extra)) {\n
Login.c(118): \t\t\t\tthrow "Extra/unparsed characters found in date: " +
extra;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (year === -1) {\n
Login.c(118): \t\t\tyear = new Date().getFullYear();\n
Login.c(118): \t\t} else if (year < 100) {\n
Login.c(118): \t\t\tyear += new Date().getFullYear() - new Date().getFullYear()
% 100 +\n
Login.c(118): \t\t\t\t(year <= shortYearCutoff ? 0 : -100);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (doy > -1) {\n
Login.c(118): \t\t\tmonth = 1;\n
Login.c(118): \t\t\tday = doy;\n
Login.c(118): \t\t\tdo {\n
Login.c(118): \t\t\t\tdim = this._getDaysInMonth(year, month - 1);\n
Login.c(118): \t\t\t\tif (day <= dim) {\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmonth++;\n
Login.c(118): \t\t\t\tday -= dim;\n
Login.c(118): \t\t\t} while (true);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdate = this._daylightSavingAdjust(new Date(year, month - 1,
day));\n
Login.c(118): \t\tif (date.getFullYear() !== year || date.getMonth() + 1 !==
month || date.getDate() !==
Login.c(118): day) {\n
Login.c(118): \t\t\tthrow "Invalid date"; // E.g. 31/02/00\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn date;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Standard date formats. */\n
Login.c(118): \tATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)\n
Login.c(118): \tCOOKIE: "D, dd M yy",\n
Login.c(118): \tISO_8601: "yy-mm-dd",\n
Login.c(118): \tRFC_822: "D, d M y",\n
Login.c(118): \tRFC_850: "DD, dd-M-y",\n
Login.c(118): \tRFC_1036: "D, d M y",\n
Login.c(118): \tRFC_1123: "D, d M yy",\n
Login.c(118): \tRFC_2822: "D, d M yy",\n
Login.c(118): \tRSS: "D, d M y", // RFC 822\n
Login.c(118): \tTICKS: "!",\n
Login.c(118): \tTIMESTAMP: "@",\n
Login.c(118): \tW3C: "yy-mm-dd", // ISO 8601\n
Login.c(118): \n
Login.c(118): \t_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) -
Math.floor(1970 / 100) +\n
Login.c(118): \t\tMath.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),\n
Login.c(118): \n
Login.c(118): \t/* Format a date object into a string value.\n
Login.c(118): \t * The format can be combinations of the following:\n
Login.c(118): \t * d - day of month (no leading zero)\n
Login.c(118): \t * dd - day of month (two digit)\n
Login.c(118): \t * o - day of year (no leading zeros)\n
Login.c(118): \t * oo - day of year (three digit)\n
Login.c(118): \t * D - day name short\n
Login.c(118): \t * DD - day name long\n
Login.c(118): \t * m - month of year (no leading zero)\n
Login.c(118): \t * mm - month of year (two digit)\n
Login.c(118): \t * M - month name short\n
Login.c(118): \t * MM - month name long\n
Login.c(118): \t * y - year (two digit)\n
Login.c(118): \t * yy - year (four digit)\n
Login.c(118): \t * @ - Unix timestamp (ms since 01/01/1970)\n
Login.c(118): \t * ! - Windows ticks (100ns since 01/01/0001)\n
Login.c(118): \t * "..." - literal text\n
Login.c(118): \t * '' - single quote\n
Login.c(118): \t *\n
Login.c(118): \t * @param format string - the desired format of the date\n
Login.c(118): \t * @param date Date - the date value to format\n
Login.c(118): \t * @param settings Object - attributes include:\n
Login.c(118): \t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the
days from Sunday (option
Login.c(118): al)\n
Login.c(118): \t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from
Sunday (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of
the months (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months
(optional)\n
Login.c(118): \t * @return string - the date in the above format\n
Login.c(118): \t */\n
Login.c(118): \tformatDate: function (format, date, settings) {\n
Login.c(118): \t\tif (!date) {\n
Login.c(118): \t\t\treturn "";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar iFormat,\n
Login.c(118): \t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null)
|| this._defaults.dayName
Login.c(118): sShort,\n
Login.c(118): \t\t\tdayNames = (settings ? settings.dayNames : null) ||
this._defaults.dayNames,\n
Login.c(118): \t\t\tmonthNamesShort = (settings ? settings.monthNamesShort :
null) || this._defaults.mon
Login.c(118): thNamesShort,\n
Login.c(118): \t\t\tmonthNames = (settings ? settings.monthNames : null) ||
this._defaults.monthNames,\n
Login.c(118): \t\t\t// Check whether a format character is doubled\n
Login.c(118): \t\t\tlookAhead = function(match) {\n
Login.c(118): \t\t\t\tvar matches = (iFormat + 1 < format.length &&
format.charAt(iFormat + 1) === match
Login.c(118): );\n
Login.c(118): \t\t\t\tif (matches) {\n
Login.c(118): \t\t\t\t\tiFormat++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn matches;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Format a number, with leading zero if necessary\n
Login.c(118): \t\t\tformatNumber = function(match, value, len) {\n
Login.c(118): \t\t\t\tvar num = "" + value;\n
Login.c(118): \t\t\t\tif (lookAhead(match)) {\n
Login.c(118): \t\t\t\t\twhile (num.length < len) {\n
Login.c(118): \t\t\t\t\t\tnum = "0" + num;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn num;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Format a name, short or long as requested\n
Login.c(118): \t\t\tformatName = function(match, value, shortNames, longNames)
{\n
Login.c(118): \t\t\t\treturn (lookAhead(match) ? longNames[value] :
shortNames[value]);\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\toutput = "",\n
Login.c(118): \t\t\tliteral = false;\n
Login.c(118): \n
Login.c(118): \t\tif (date) {\n
Login.c(118): \t\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n
Login.c(118): \t\t\t\tif (literal) {\n
Login.c(118): \t\t\t\t\tif (format.charAt(iFormat) === "'" && !lookAhead("'"))
{\n
Login.c(118): \t\t\t\t\t\tliteral = false;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\toutput += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tswitch (format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\t\tcase "d":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatNumber("d", date.getDate(), 2);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "D":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatName("D", date.getDay(),
dayNamesShort, dayNames);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "o":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatNumber("o",\n
Login.c(118): \t\t\t\t\t\t\t\tMath.round((new Date(date.getFullYear(),
date.getMonth(), date.getDate()).
Login.c(118): getTime() - new Date(date.getFullYear(), 0, 0).getTime()) /
86400000), 3);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "m":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatNumber("m", date.getMonth() + 1,
2);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "M":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatName("M", date.getMonth(),
monthNamesShort, monthNames);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "y":\n
Login.c(118): \t\t\t\t\t\t\toutput += (lookAhead("y") ? date.getFullYear() :\n
Login.c(118): \t\t\t\t\t\t\t\t(date.getYear() % 100 < 10 ? "0" : "") +
date.getYear() % 100);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "@":\n
Login.c(118): \t\t\t\t\t\t\toutput += date.getTime();\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "!":\n
Login.c(118): \t\t\t\t\t\t\toutput += date.getTime() * 10000 +
this._ticksTo1970;\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "'":\n
Login.c(118): \t\t\t\t\t\t\tif (lookAhead("'")) {\n
Login.c(118): \t\t\t\t\t\t\t\toutput += "'";\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tliteral = true;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\t\toutput += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn output;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Extract all possible characters from the date format. */\n
Login.c(118): \t_possibleChars: function (format) {\n
Login.c(118): \t\tvar iFormat,\n
Login.c(118): \t\t\tchars = "",\n
Login.c(118): \t\t\tliteral = false,\n
Login.c(118): \t\t\t// Check whether a format character is doubled\n
Login.c(118): \t\t\tlookAhead = function(match) {\n
Login.c(118): \t\t\t\tvar matches = (iFormat + 1 < format.length &&
format.charAt(iFormat + 1) === match
Login.c(118): );\n
Login.c(118): \t\t\t\tif (matches) {\n
Login.c(118): \t\t\t\t\tiFormat++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn matches;\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n
Login.c(118): \t\t\tif (literal) {\n
Login.c(118): \t\t\t\tif (format.charAt(iFormat) === "'" && !lookAhead("'"))
{\n
Login.c(118): \t\t\t\t\tliteral = false;\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tchars += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tswitch (format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\tcase "d": case "m": case "y": case "@":\n
Login.c(118): \t\t\t\t\t\tchars += "0123456789";\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "D": case "M":\n
Login.c(118): \t\t\t\t\t\treturn null; // Accept anything\n
Login.c(118): \t\t\t\t\tcase "'":\n
Login.c(118): \t\t\t\t\t\tif (lookAhead("'")) {\n
Login.c(118): \t\t\t\t\t\t\tchars += "'";\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\tliteral = true;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\tchars += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn chars;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Get a setting value, defaulting if necessary. */\n
Login.c(118): \t_get: function(inst, name) {\n
Login.c(118): \t\treturn inst.settings[name] !== undefined ?\n
Login.c(118): \t\t\tinst.settings[name] : this._defaults[name];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Parse existing date and initialise date picker. */\n
Login.c(118): \t_setDateFromField: function(inst, noDefault) {\n
Login.c(118): \t\tif (inst.input.val() === inst.lastVal) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar dateFormat = this._get(inst, "dateFormat"),\n
Login.c(118): \t\t\tdates = inst.lastVal = inst.input ? inst.input.val() :
null,\n
Login.c(118): \t\t\tdefaultDate = this._getDefaultDate(inst),\n
Login.c(118): \t\t\tdate = defaultDate,\n
Login.c(118): \t\t\tsettings = this._getFormat
Login.c(118): t=6248ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Config(inst);\n
Login.c(118): \n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\tdate = this.parseDate(dateFormat, dates, settings) ||
defaultDate;\n
Login.c(118): \t\t} catch (event) {\n
Login.c(118): \t\t\tdates = (noDefault ? "" : dates);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst.selectedDay = date.getDate();\n
Login.c(118): \t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n
Login.c(118): \t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n
Login.c(118): \t\tinst.currentDay = (dates ? date.getDate() : 0);\n
Login.c(118): \t\tinst.currentMonth = (dates ? date.getMonth() : 0);\n
Login.c(118): \t\tinst.currentYear = (dates ? date.getFullYear() : 0);\n
Login.c(118): \t\tthis._adjustInstDate(inst);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Retrieve the default date shown on opening. */\n
Login.c(118): \t_getDefaultDate: function(inst) {\n
Login.c(118): \t\treturn this._restrictMinMax(inst,\n
Login.c(118): \t\t\tthis._determineDate(inst, this._get(inst, "defaultDate"),
new Date()));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* A date may be specified as an exact value or a relative one.
*/\n
Login.c(118): \t_determineDate: function(inst, date, defaultDate) {\n
Login.c(118): \t\tvar offsetNumeric = function(offset) {\n
Login.c(118): \t\t\t\tvar date = new Date();\n
Login.c(118): \t\t\t\tdate.setDate(date.getDate() + offset);\n
Login.c(118): \t\t\t\treturn date;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\toffsetString = function(offset) {\n
Login.c(118): \t\t\t\ttry {\n
Login.c(118): \t\t\t\t\treturn $.datepicker.parseDate($.datepicker._get(inst,
"dateFormat"),\n
Login.c(118): \t\t\t\t\t\toffset, $.datepicker._getFormatConfig(inst));\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcatch (e) {\n
Login.c(118): \t\t\t\t\t// Ignore\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tvar date = (offset.toLowerCase().match(/^c/) ?\n
Login.c(118): \t\t\t\t\t$.datepicker._getDate(inst) : null) || new Date(),\n
Login.c(118): \t\t\t\t\tyear = date.getFullYear(),\n
Login.c(118): \t\t\t\t\tmonth = date.getMonth(),\n
Login.c(118): \t\t\t\t\tday = date.getDate(),\n
Login.c(118): \t\t\t\t\tpattern = /([+\\-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g,\n
Login.c(118): \t\t\t\t\tmatches = pattern.exec(offset);\n
Login.c(118): \n
Login.c(118): \t\t\t\twhile (matches) {\n
Login.c(118): \t\t\t\t\tswitch (matches[2] || "d") {\n
Login.c(118): \t\t\t\t\t\tcase "d" : case "D" :\n
Login.c(118): \t\t\t\t\t\t\tday += parseInt(matches[1],10); break;\n
Login.c(118): \t\t\t\t\t\tcase "w" : case "W" :\n
Login.c(118): \t\t\t\t\t\t\tday += parseInt(matches[1],10) * 7; break;\n
Login.c(118): \t\t\t\t\t\tcase "m" : case "M" :\n
Login.c(118): \t\t\t\t\t\t\tmonth += parseInt(matches[1],10);\n
Login.c(118): \t\t\t\t\t\t\tday = Math.min(day,
$.datepicker._getDaysInMonth(year, month));\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "y": case "Y" :\n
Login.c(118): \t\t\t\t\t\t\tyear += parseInt(matches[1],10);\n
Login.c(118): \t\t\t\t\t\t\tday = Math.min(day,
$.datepicker._getDaysInMonth(year, month));\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tmatches = pattern.exec(offset);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn new Date(year, month, day);\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tnewDate = (date == null || date === "" ? defaultDate :
(typeof date === "string" ? o
Login.c(118): ffsetString(date) :\n
Login.c(118): \t\t\t\t(typeof date === "number" ? (isNaN(date) ? defaultDate :
offsetNumeric(date)) : ne
Login.c(118): w Date(date.getTime()))));\n
Login.c(118): \n
Login.c(118): \t\tnewDate = (newDate && newDate.toString() === "Invalid Date" ?
defaultDate : newDate);\n
Login.c(118): \t\tif (newDate) {\n
Login.c(118): \t\t\tnewDate.setHours(0);\n
Login.c(118): \t\t\tnewDate.setMinutes(0);\n
Login.c(118): \t\t\tnewDate.setSeconds(0);\n
Login.c(118): \t\t\tnewDate.setMilliseconds(0);\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this._daylightSavingAdjust(newDate);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Handle switch to/from daylight saving.\n
Login.c(118): \t * Hours may be non-zero on daylight saving cut-over:\n
Login.c(118): \t * > 12 when midnight changeover, but then cannot generate\n
Login.c(118): \t * midnight datetime, so jump to 1AM, otherwise reset.\n
Login.c(118): \t * @param date (Date) the date to check\n
Login.c(118): \t * @return (Date) the corrected date\n
Login.c(118): \t */\n
Login.c(118): \t_daylightSavingAdjust: function(date) {\n
Login.c(118): \t\tif (!date) {\n
Login.c(118): \t\t\treturn null;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdate.setHours(date.getHours() > 12 ? date.getHours() + 2 :
0);\n
Login.c(118): \t\treturn date;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set the date(s) directly. */\n
Login.c(118): \t_setDate: function(inst, date, noChange) {\n
Login.c(118): \t\tvar clear = !date,\n
Login.c(118): \t\t\torigMonth = inst.selectedMonth,\n
Login.c(118): \t\t\torigYear = inst.selectedYear,\n
Login.c(118): \t\t\tnewDate = this._restrictMinMax(inst,
this._determineDate(inst, date, new Date()));\n
Login.c(118): \n
Login.c(118): \t\tinst.selectedDay = inst.currentDay = newDate.getDate();\n
Login.c(118): \t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth =
newDate.getMonth();\n
Login.c(118): \t\tinst.drawYear = inst.selectedYear = inst.currentYear =
newDate.getFullYear();\n
Login.c(118): \t\tif ((origMonth !== inst.selectedMonth || origYear !==
inst.selectedYear) && !noChange)
Login.c(118): {\n
Login.c(118): \t\t\tthis._notifyChange(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._adjustInstDate(inst);\n
Login.c(118): \t\tif (inst.input) {\n
Login.c(118): \t\t\tinst.input.val(clear ? "" : this._formatDate(inst));\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Retrieve the date(s) directly. */\n
Login.c(118): \t_getDate: function(inst) {\n
Login.c(118): \t\tvar startDate = (!inst.currentYear || (inst.input &&
inst.input.val() === "") ? null :
Login.c(118): \n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(\n
Login.c(118): \t\t\tinst.currentYear, inst.currentMonth, inst.currentDay)));\n
Login.c(118): \t\t\treturn startDate;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach the onxxx handlers. These are declared statically
so\n
Login.c(118): \t * they work with static code transformers like Caja.\n
Login.c(118): \t */\n
Login.c(118): \t_attachHandlers: function(inst) {\n
Login.c(118): \t\tvar stepMonths = this._get(inst, "stepMonths"),\n
Login.c(118): \t\t\tid = "#" + inst.id.replace( /\\\\\\\\/g, "\\\\" );\n
Login.c(118): \t\tinst.dpDiv.find("[data-handler]").map(function () {\n
Login.c(118): \t\t\tvar handler = {\n
Login.c(118): \t\t\t\tprev: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._adjustDate(id, -stepMonths, "M");\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tnext: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._adjustDate(id, +stepMonths, "M");\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\thide: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\ttoday: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._gotoToday(id);\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tselectDay: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._selectDay(id, +this.getAttribute("data-
month"), +this.getAttribute
Login.c(118): ("data-year"), this);\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tselectMonth: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._selectMonthYear(id, this, "M");\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tselectYear: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._selectMonthYear(id, this, "Y");\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\t$(this).bind(this.getAttribute("data-event"),
handler[this.getAttribute("data-handle
Login.c(118): r")]);\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Generate the HTML for the current state of the date picker.
*/\n
Login.c(118): \t_generateHTML: function(inst) {\n
Login.c(118): \t\tvar maxDraw, prevText, prev, nextText, next, currentText,
gotoDate,\n
Login.c(118): \t\t\tcontrols, buttonPanel, firstDay, showWeek, dayNames,
dayNamesMin,\n
Login.c(118): \t\t\tmonthNames, monthNamesShort, beforeShowDay,
showOtherMonths,\n
Login.c(118): \t\t\tselectOtherMonths, defaultDate, html, dow, row, group, col,
selectedDate,\n
Login.c(118): \t\t\tcornerClass, calender, thead, day, daysInMonth, leadDays,
curRows, numRows,\n
Login.c(118): \t\t\tprintDate, dRow, tbody, daySettings, otherMonth,
unselectable,\n
Login.c(118): \t\t\ttempDate = new Date(),\n
Login.c(118): \t\t\ttoday = this._daylightSavingAdjust(\n
Login.c(118): \t\t\t\tnew Date(tempDate.getFullYear(), tempDate.getMonth(),
tempDate.getDate())), // cle
Login.c(118): ar time\n
Login.c(118): \t\t\tisRTL = this._get(inst, "isRTL"),\n
Login.c(118): \t\t\tshowButtonPanel = this._get(inst, "showButtonPanel"),\n
Login.c(118): \t\t\thideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),\n
Login.c(118): \t\t\tnavigationAsDateFormat = this._get(inst,
"navigationAsDateFormat"),\n
Login.c(118): \t\t\tnumMonths = this._getNumberOfMonths(inst),\n
Login.c(118): \t\t\tshowCurrentAtPos = this._get(inst, "showCurrentAtPos"),\n
Login.c(118): \t\t\tstepMonths = this._get(inst, "stepMonths"),\n
Login.c(118): \t\t\tisMultiMonth = (numMonths[0] !== 1 || numMonths[1] !==
1),\n
Login.c(118): \t\t\tcurrentDate = this._daylightSavingAdjust((!
inst.currentDay ? new Date(9999, 9, 9) :\n
Login.c(118): \t\t\t\tnew Date(inst.currentYear, inst.currentMonth,
inst.currentDay))),\n
Login.c(118): \t\t\tminDate = this._getMinMaxDate(inst, "min"),\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max"),\n
Login.c(118): \t\t\tdrawMonth = inst.drawMonth - showCurrentAtPos,\n
Login.c(118): \t\t\tdrawYear = inst.drawYear;\n
Login.c(118): \n
Login.c(118): \t\tif (drawMonth < 0) {\n
Login.c(118): \t\t\tdrawMonth += 12;\n
Login.c(118): \t\t\tdrawYear--;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (maxDate) {\n
Login.c(118): \t\t\tmaxDraw = this._daylightSavingAdjust(new
Date(maxDate.getFullYear(),\n
Login.c(118): \t\t\t\tmaxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1,
maxDate.getDate()));\n
Login.c(118): \t\t\tmaxDraw = (minDate && maxDraw < minDate ? minDate :
maxDraw);\n
Login.c(118): \t\t\twhile (this._daylightSavingAdjust(new Date(drawYear,
drawMonth, 1)) > maxDraw) {\n
Login.c(118): \t\t\t\tdrawMonth--;\n
Login.c(118): \t\t\t\tif (drawMonth < 0) {\n
Login.c(118): \t\t\t\t\tdrawMonth = 11;\n
Login.c(118): \t\t\t\t\tdrawYear--;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst.drawMonth = drawMonth;\n
Login.c(118): \t\tinst.drawYear = drawYear;\n
Login.c(118): \n
Login.c(118): \t\tprevText = this._get(inst, "prevText");\n
Login.c(118): \t\tprevText = (!navigationAsDateFormat ? prevText :
this.formatDate(prevText,\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth -
stepMonths, 1)),\n
Login.c(118): \t\t\tthis._getFormatConfig(inst)));\n
Login.c(118): \n
Login.c(118): \t\tprev = (this._canAdjustMonth(inst, -1, drawYear,
drawMonth) ?\n
Login.c(118): \t\t\t"<a class='ui-datepicker-prev ui-corner-all' data-
handler='prev' data-event='click'"
Login.c(118): +\n
Login.c(118): \t\t\t" title='" + prevText + "'><span class='ui-icon ui-icon-
circle-triangle-" + ( isRTL
Login.c(118): ? "e" : "w") + "'>" + prevText + "</span></a>" :\n
Login.c(118): \t\t\t(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-
corner-all ui-state-disabl
Login.c(118): ed' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-
triangle-" + ( isRTL ? "e"
Login.c(118): : "w") + "'>" + prevText + "</span></a>"));\n
Login.c(118): \n
Login.c(118): \t\tnextText = this._get(inst, "nextText");\n
Login.c(118): \t\tnextText = (!navigationAsDateFormat ? nextText :
this.formatDate(nextText,\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth +
stepMonths, 1)),\n
Login.c(118): \t\t\tthis._getFormatConfig(inst)));\n
Login.c(118): \n
Login.c(118): \t\tnext = (this._canAdjustMonth(inst, +1, drawYear,
drawMonth) ?\n
Login.c(118): \t\t\t"<a class='ui-datepicker-next ui-corner-all' data-
handler='next' data-event='click'"
Login.c(118): +\n
Login.c(118): \t\t\t" title='" + nextText + "'><span class='ui-icon ui-icon-
circle-triangle-" + ( isRTL
Login.c(118): ? "w" : "e") + "'>" + nextText + "</span></a>" :\n
Login.c(118): \t\t\t(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-
corner-all ui-state-disabl
Login.c(118): ed' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-
triangle-" + ( isRTL ? "w"
Login.c(118): : "e") + "'>" + nextText + "</span></a>"));\n
Login.c(118): \n
Login.c(118): \t\tcurrentText = this._get(inst, "currentText");\n
Login.c(118): \t\tgotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay
? currentDate : today);\n
Login.c(118): \t\tcurrentText = (!navigationAsDateFormat ? currentText :\n
Login.c(118): \t\t\tthis.formatDate(currentText, gotoDate,
this._getFormatConfig(inst)));\n
Login.c(118): \n
Login.c(118): \t\tcontrols = (!inst.inline ? "<button type='button' class='ui-
datepicker-close ui-state-
Login.c(118): default ui-priority-primary ui-corner-all' data-handler='hide'
data-event='click'>" +\n
Login.c(118): \t\t\tthis._get(inst, "closeText") + "</button>" : "");\n
Login.c(118): \n
Login.c(118): \t\tbuttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-
buttonpane ui-widget-cont
Login.c(118): ent'>" + (isRTL ? controls : "") +\n
Login.c(118): \t\t\t(this._isInRange(inst, gotoDate) ? "<button type='button'
class='ui-datepicker-curre
Login.c(118): nt ui-state-default ui-priority-secondary ui-corner-all' data-
handler='today' data-event='
Login.c(118): click'" +\n
Login.c(118): \t\t\t">" + currentText + "</button>" : "") + (isRTL ? "" :
controls) + "</div>" : "";\n
Login.c(118): \n
Login.c(118): \t\tfirstDay = parseInt(this._get(inst, "firstDay"),10);\n
Login.c(118): \t\tfirstDay = (isNaN(firstDay) ? 0 : firstDay);\n
Login.c(118): \n
Login.c(118): \t\tshowWeek = this._get(inst, "showWeek");\n
Login.c(118): \t\tdayNames = this._get(inst, "dayNames");\n
Login.c(118): \t\tdayNamesMin = this._get(inst, "dayNamesMin");\n
Login.c(118): \t\tmonthNames = this._get(inst, "monthNames");\n
Login.c(118): \t\tmonthNamesShort = this._get(inst, "monthNamesShort");\n
Login.c(118): \t\tbeforeShowDay = this._get(inst, "beforeShowDay");\n
Login.c(118): \t\tshowOtherMonths = this._get(inst, "showOtherMonths");\n
Login.c(118): \t\tselectOtherMonths = this._get(inst, "selectOtherMonths");\n
Login.c(118): \t\tdefaultDate = this._getDefaultDate(inst);\n
Login.c(118): \t\thtml = "";\n
Login.c(118): \t\tdow;\n
Login.c(118): \t\tfor (row = 0; row < numMonths[0]; row++) {\n
Login.c(118): \t\t\tgroup = "";\n
Login.c(118): \t\t\tthis.maxRows = 4;\n
Login.c(118): \t\t\tfor (col = 0; col < numMonths[1]; col++) {\n
Login.c(118): \t\t\t\tselectedDate = this._daylightSavingAdjust(new
Date(drawYear, drawMonth, inst.selec
Login.c(118): tedDay));\n
Login.c(118): \t\t\t\tcornerClass = " ui-corner-all";\n
Login.c(118): \t\t\t\tcalender = "";\n
Login.c(118): \t\t\t\tif (isMultiMonth) {\n
Login.c(118): \t\t\t\t\tcalender += "<div class='ui-datepicker-group";\n
Login.c(118): \t\t\t\t\tif (numMonths[1] > 1) {\n
Login.c(118): \t\t\t\t\t\tswitch (col) {\n
Login.c(118): \t\t\t\t\t\t\tcase 0: calender += " ui-datepicker-group-first";\n
Login.c(118): \t\t\t\t\t\t\t\tcornerClass = " ui-corner-" + (isRTL ? "right" :
"left"); break;\n
Login.c(118): \t\t\t\t\t\t\tcase numMonths[1]-1: calender += " ui-datepicker-
group-last";\n
Login.c(118): \t\t\t\t\t\t\t\tcornerClass = " ui-corner-" + (isRTL ? "left" :
"right"); break;\n
Login.c(118): \t\t\t\t\t\t\tdefault: calender += " ui-datepicker-group-middle";
cornerClass = ""; break;
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tcalender += "'>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcalender += "<div class='ui-datepicker-header ui-widget-
header ui-helper-clearfix"
Login.c(118): + cornerClass + "'>" +\n
Login.c(118): \t\t\t\t\t(/all|left/.test(cornerClass) && row === 0 ? (isRTL ?
next : prev) : "") +\n
Login.c(118): \t\t\t\t\t(/all|right/.test(cornerClass) && row === 0 ? (isRTL ?
prev : next) : "") +\n
Login.c(118): \t\t\t\t\tthis._generateMonthYearHeader(inst, drawMonth,
drawYear, minDate, maxDate,\n
Login.c(118): \t\t\t\t\trow > 0 || col > 0, monthNames, monthNamesShort) + //
draw month headers\n
Login.c(118): \t\t\t\t\t"</div><table class='ui-datepicker-calendar'><thead>"
+\n
Login.c(118): \t\t\t\t\t"<tr>";\n
Login.c(118): \t\t\t\tthead = (showWeek ? "<th class='ui-datepicker-week-col'>"
+ this._get(inst, "weekH
Login.c(118): eader") + "</th>" : "");\n
Login.c(118): \t\t\t\tfor (dow = 0; dow < 7; dow++) { // days of the week\n
Login.c(118): \t\t\t\t\tday = (dow + firstDay) % 7;\n
Login.c(118): \t\t\t\t\tthead += "<th scope='col'" + ((dow + firstDay + 6) % 7
>= 5 ? " class='ui-datepi
Login.c(118): cker-week-end'" : "") + ">" +\n
Login.c(118): \t\t\t\t\t\t"<span title='" + dayNames[day] + "'>" +
dayNamesMin[day] + "</span></th>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcalender += thead + "</tr></thead><tbody>";\n
Login.c(118): \t\t\t\tdaysInMonth = this._getDaysInMonth(drawYear,
drawMonth);\n
Login.c(118): \t\t\t\tif (drawYear === inst.selectedYear && drawMonth ===
inst.selectedMonth) {\n
Login.c(118): \t\t\t\t\tinst.selectedDay = Math.min(inst.selectedDay,
daysInMonth);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tleadDays = (this._getFirstDayOfMonth(drawYear, drawMonth)
- firstDay + 7) % 7;\n
Login.c(118): \t\t\t\tcurRows = Math.ceil((leadDays + daysInMonth) / 7); //
calculate the number of rows
Login.c(118): to generate\n
Login.c(118): \t\t\t\tnumRows = (isMultiMonth ? this.maxRows > curRows ?
this.maxRows :
Login.c(118): t=6264ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): curRows : curRows); //If multiple months, use the higher number
of rows (see #7043)\n
Login.c(118): \t\t\t\tthis.maxRows = numRows;\n
Login.c(118): \t\t\t\tprintDate = this._daylightSavingAdjust(new Date(drawYear,
drawMonth, 1 - leadDays)
Login.c(118): );\n
Login.c(118): \t\t\t\tfor (dRow = 0; dRow < numRows; dRow++) { // create date
picker rows\n
Login.c(118): \t\t\t\t\tcalender += "<tr>";\n
Login.c(118): \t\t\t\t\ttbody = (!showWeek ? "" : "<td class='ui-datepicker-
week-col'>" +\n
Login.c(118): \t\t\t\t\t\tthis._get(inst, "calculateWeek")(printDate) +
"</td>");\n
Login.c(118): \t\t\t\t\tfor (dow = 0; dow < 7; dow++) { // create date picker
days\n
Login.c(118): \t\t\t\t\t\tdaySettings = (beforeShowDay ?\n
Login.c(118): \t\t\t\t\t\t\tbeforeShowDay.apply((inst.input ? inst.input[0] :
null), [printDate]) : [tru
Login.c(118): e, ""]);\n
Login.c(118): \t\t\t\t\t\totherMonth = (printDate.getMonth() !== drawMonth);\n
Login.c(118): \t\t\t\t\t\tunselectable = (otherMonth && !selectOtherMonths)
|| !daySettings[0] ||\n
Login.c(118): \t\t\t\t\t\t\t(minDate && printDate < minDate) || (maxDate &&
printDate > maxDate);\n
Login.c(118): \t\t\t\t\t\ttbody += "<td class='" +\n
Login.c(118): \t\t\t\t\t\t\t((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-
week-end" : "") + // highli
Login.c(118): ght weekends\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth ? " ui-datepicker-other-month" : "")
+ // highlight days from ot
Login.c(118): her months\n
Login.c(118): \t\t\t\t\t\t\t((printDate.getTime() === selectedDate.getTime() &&
drawMonth === inst.selec
Login.c(118): tedMonth && inst._keyEvent) || // user pressed key\n
Login.c(118): \t\t\t\t\t\t\t(defaultDate.getTime() === printDate.getTime() &&
defaultDate.getTime() ===
Login.c(118): selectedDate.getTime()) ?\n
Login.c(118): \t\t\t\t\t\t\t// or defaultDate is current printedDate and
defaultDate is selectedDate\n
Login.c(118): \t\t\t\t\t\t\t" " + this._dayOverClass : "") + // highlight
selected day\n
Login.c(118): \t\t\t\t\t\t\t(unselectable ? " " + this._unselectableClass + "
ui-state-disabled": "") +
Login.c(118): // highlight unselectable days\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? "" : " " +
daySettings[1] + // highlight c
Login.c(118): ustom dates\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? "
" + this._currentClass :
Login.c(118): "") + // highlight selected day\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? " ui-
datepicker-today" : "")) + "
Login.c(118): '" + // highlight today (if different)\n
Login.c(118): \t\t\t\t\t\t\t((!otherMonth || showOtherMonths) && daySettings[2]
? " title='" + daySettin
Login.c(118): gs[2].replace(/'/g, "'") + "'" : "") + // cell title\n
Login.c(118): \t\t\t\t\t\t\t(unselectable ? "" : " data-handler='selectDay'
data-event='click' data-mont
Login.c(118): h='" + printDate.getMonth() + "' data-year='" +
printDate.getFullYear() + "'") + ">" + //
Login.c(118): actions\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? " " : //
display for other months\n
Login.c(118): \t\t\t\t\t\t\t(unselectable ? "<span class='ui-state-default'>" +
printDate.getDate() + "<
Login.c(118): /span>" : "<a class='ui-state-default" +\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? " ui-
state-highlight" : "") +\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? "
ui-state-active" : "") +
Login.c(118): // highlight selected day\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth ? " ui-priority-secondary" : "") + //
distinguish dates from oth
Login.c(118): er months\n
Login.c(118): \t\t\t\t\t\t\t"' href='#'>" + printDate.getDate() + "</a>")) +
"</td>"; // display selecta
Login.c(118): ble date\n
Login.c(118): \t\t\t\t\t\tprintDate.setDate(printDate.getDate() + 1);\n
Login.c(118): \t\t\t\t\t\tprintDate = this._daylightSavingAdjust(printDate);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tcalender += tbody + "</tr>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tdrawMonth++;\n
Login.c(118): \t\t\t\tif (drawMonth > 11) {\n
Login.c(118): \t\t\t\t\tdrawMonth = 0;\n
Login.c(118): \t\t\t\t\tdrawYear++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcalender += "</tbody></table>" + (isMultiMonth ? "</div>"
+\n
Login.c(118): \t\t\t\t\t\t\t((numMonths[0] > 0 && col === numMonths[1]-1) ?
"<div class='ui-datepicker-r
Login.c(118): ow-break'></div>" : "") : "");\n
Login.c(118): \t\t\t\tgroup += calender;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\thtml += group;\n
Login.c(118): \t\t}\n
Login.c(118): \t\thtml += buttonPanel;\n
Login.c(118): \t\tinst._keyEvent = false;\n
Login.c(118): \t\treturn html;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Generate the month and year header. */\n
Login.c(118): \t_generateMonthYearHeader: function(inst, drawMonth, drawYear,
minDate, maxDate,\n
Login.c(118): \t\t\tsecondary, monthNames, monthNamesShort) {\n
Login.c(118): \n
Login.c(118): \t\tvar inMinYear, inMaxYear, month, years, thisYear,
determineYear, year, endYear,\n
Login.c(118): \t\t\tchangeMonth = this._get(inst, "changeMonth"),\n
Login.c(118): \t\t\tchangeYear = this._get(inst, "changeYear"),\n
Login.c(118): \t\t\tshowMonthAfterYear = this._get(inst,
"showMonthAfterYear"),\n
Login.c(118): \t\t\thtml = "<div class='ui-datepicker-title'>",\n
Login.c(118): \t\t\tmonthHtml = "";\n
Login.c(118): \n
Login.c(118): \t\t// month selection\n
Login.c(118): \t\tif (secondary || !changeMonth) {\n
Login.c(118): \t\t\tmonthHtml += "<span class='ui-datepicker-month'>" +
monthNames[drawMonth] + "</span>
Login.c(118): ";\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tinMinYear = (minDate && minDate.getFullYear() ===
drawYear);\n
Login.c(118): \t\t\tinMaxYear = (maxDate && maxDate.getFullYear() ===
drawYear);\n
Login.c(118): \t\t\tmonthHtml += "<select class='ui-datepicker-month' data-
handler='selectMonth' data-ev
Login.c(118): ent='change'>";\n
Login.c(118): \t\t\tfor ( month = 0; month < 12; month++) {\n
Login.c(118): \t\t\t\tif ((!inMinYear || month >= minDate.getMonth()) && (!
inMaxYear || month <= maxDate
Login.c(118): .getMonth())) {\n
Login.c(118): \t\t\t\t\tmonthHtml += "<option value='" + month + "'" +\n
Login.c(118): \t\t\t\t\t\t(month === drawMonth ? " selected='selected'" : "")
+\n
Login.c(118): \t\t\t\t\t\t">" + monthNamesShort[month] + "</option>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tmonthHtml += "</select>";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (!showMonthAfterYear) {\n
Login.c(118): \t\t\thtml += monthHtml + (secondary || !(changeMonth &&
changeYear) ? " " : "");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// year selection\n
Login.c(118): \t\tif ( !inst.yearshtml ) {\n
Login.c(118): \t\t\tinst.yearshtml = "";\n
Login.c(118): \t\t\tif (secondary || !changeYear) {\n
Login.c(118): \t\t\t\thtml += "<span class='ui-datepicker-year'>" + drawYear +
"</span>";\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// determine range of years to display\n
Login.c(118): \t\t\t\tyears = this._get(inst, "yearRange").split(":");\n
Login.c(118): \t\t\t\tthisYear = new Date().getFullYear();\n
Login.c(118): \t\t\t\tdetermineYear = function(value) {\n
Login.c(118): \t\t\t\t\tvar year = (value.match(/c[+\\-].*/) ? drawYear +
parseInt(value.substring(1), 1
Login.c(118): 0) :\n
Login.c(118): \t\t\t\t\t\t(value.match(/[+\\-].*/) ? thisYear + parseInt(value,
10) :\n
Login.c(118): \t\t\t\t\t\tparseInt(value, 10)));\n
Login.c(118): \t\t\t\t\treturn (isNaN(year) ? thisYear : year);\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\tyear = determineYear(years[0]);\n
Login.c(118): \t\t\t\tendYear = Math.max(year, determineYear(years[1] ||
""));\n
Login.c(118): \t\t\t\tyear = (minDate ? Math.max(year, minDate.getFullYear()) :
year);\n
Login.c(118): \t\t\t\tendYear = (maxDate ? Math.min(endYear,
maxDate.getFullYear()) : endYear);\n
Login.c(118): \t\t\t\tinst.yearshtml += "<select class='ui-datepicker-year'
data-handler='selectYear' da
Login.c(118): ta-event='change'>";\n
Login.c(118): \t\t\t\tfor (; year <= endYear; year++) {\n
Login.c(118): \t\t\t\t\tinst.yearshtml += "<option value='" + year + "'" +\n
Login.c(118): \t\t\t\t\t\t(year === drawYear ? " selected='selected'" : "") +\n
Login.c(118): \t\t\t\t\t\t">" + year + "</option>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tinst.yearshtml += "</select>";\n
Login.c(118): \n
Login.c(118): \t\t\t\thtml += inst.yearshtml;\n
Login.c(118): \t\t\t\tinst.yearshtml = null;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\thtml += this._get(inst, "yearSuffix");\n
Login.c(118): \t\tif (showMonthAfterYear) {\n
Login.c(118): \t\t\thtml += (secondary || !(changeMonth && changeYear) ?
" " : "") + monthHtml;\n
Login.c(118): \t\t}\n
Login.c(118): \t\thtml += "</div>"; // Close datepicker_header\n
Login.c(118): \t\treturn html;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Adjust one of the date sub-fields. */\n
Login.c(118): \t_adjustInstDate: function(inst, offset, period) {\n
Login.c(118): \t\tvar year = inst.drawYear + (period === "Y" ? offset : 0),\n
Login.c(118): \t\t\tmonth = inst.drawMonth + (period === "M" ? offset : 0),\n
Login.c(118): \t\t\tday = Math.min(inst.selectedDay, this._getDaysInMonth(year,
month)) + (period === "D
Login.c(118): " ? offset : 0),\n
Login.c(118): \t\t\tdate = this._restrictMinMax(inst,
this._daylightSavingAdjust(new Date(year, month, d
Login.c(118): ay)));\n
Login.c(118): \n
Login.c(118): \t\tinst.selectedDay = date.getDate();\n
Login.c(118): \t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n
Login.c(118): \t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n
Login.c(118): \t\tif (period === "M" || period === "Y") {\n
Login.c(118): \t\t\tthis._notifyChange(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Ensure a date is within any min/max bounds. */\n
Login.c(118): \t_restrictMinMax: function(inst, date) {\n
Login.c(118): \t\tvar minDate = this._getMinMaxDate(inst, "min"),\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max"),\n
Login.c(118): \t\t\tnewDate = (minDate && date < minDate ? minDate : date);\n
Login.c(118): \t\treturn (maxDate && newDate > maxDate ? maxDate : newDate);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Notify change of month/year. */\n
Login.c(118): \t_notifyChange: function(inst) {\n
Login.c(118): \t\tvar onChange = this._get(inst, "onChangeMonthYear");\n
Login.c(118): \t\tif (onChange) {\n
Login.c(118): \t\t\tonChange.apply((inst.input ? inst.input[0] : null),\n
Login.c(118): \t\t\t\t[inst.selectedYear, inst.selectedMonth + 1, inst]);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Determine the number of months to show. */\n
Login.c(118): \t_getNumberOfMonths: function(inst) {\n
Login.c(118): \t\tvar numMonths = this._get(inst, "numberOfMonths");\n
Login.c(118): \t\treturn (numMonths == null ? [1, 1] : (typeof numMonths ===
"number" ? [1, numMonths] :
Login.c(118): numMonths));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Determine the current maximum date - ensure no time
components are set. */\n
Login.c(118): \t_getMinMaxDate: function(inst, minMax) {\n
Login.c(118): \t\treturn this._determineDate(inst, this._get(inst, minMax +
"Date"), null);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Find the number of days in a given month. */\n
Login.c(118): \t_getDaysInMonth: function(year, month) {\n
Login.c(118): \t\treturn 32 - this._daylightSavingAdjust(new Date(year, month,
32)).getDate();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Find the day of the week of the first of a month. */\n
Login.c(118): \t_getFirstDayOfMonth: function(year, month) {\n
Login.c(118): \t\treturn new Date(year, month, 1).getDay();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Determines if we should allow a "next/prev" month display
change. */\n
Login.c(118): \t_canAdjustMonth: function(inst, offset, curYear, curMonth) {\n
Login.c(118): \t\tvar numMonths = this._getNumberOfMonths(inst),\n
Login.c(118): \t\t\tdate = this._daylightSavingAdjust(new Date(curYear,\n
Login.c(118): \t\t\tcurMonth + (offset < 0 ? offset : numMonths[0] *
numMonths[1]), 1));\n
Login.c(118): \n
Login.c(118): \t\tif (offset < 0) {\n
Login.c(118): \t\t\tdate.setDate(this._getDaysInMonth(date.getFullYear(),
date.getMonth()));\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this._isInRange(inst, date);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Is the given date in the accepted range? */\n
Login.c(118): \t_isInRange: function(inst, date) {\n
Login.c(118): \t\tvar yearSplit, currentYear,\n
Login.c(118): \t\t\tminDate = this._getMinMaxDate(inst, "min"),\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max"),\n
Login.c(118): \t\t\tminYear = null,\n
Login.c(118): \t\t\tmaxYear = null,\n
Login.c(118): \t\t\tyears = this._get(inst, "yearRange");\n
Login.c(118): \t\t\tif (years){\n
Login.c(118): \t\t\t\tyearSplit = years.split(":");\n
Login.c(118): \t\t\t\tcurrentYear = new Date().getFullYear();\n
Login.c(118): \t\t\t\tminYear = parseInt(yearSplit[0], 10);\n
Login.c(118): \t\t\t\tmaxYear = parseInt(yearSplit[1], 10);\n
Login.c(118): \t\t\t\tif ( yearSplit[0].match(/[+\\-].*/) ) {\n
Login.c(118): \t\t\t\t\tminYear += currentYear;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( yearSplit[1].match(/[+\\-].*/) ) {\n
Login.c(118): \t\t\t\t\tmaxYear += currentYear;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn ((!minDate || date.getTime() >= minDate.getTime())
&&\n
Login.c(118): \t\t\t(!maxDate || date.getTime() <= maxDate.getTime()) &&\n
Login.c(118): \t\t\t(!minYear || date.getFullYear() >= minYear) &&\n
Login.c(118): \t\t\t(!maxYear || date.getFullYear() <= maxYear));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Provide the configuration settings for formatting/parsing.
*/\n
Login.c(118): \t_getFormatConfig: function(inst) {\n
Login.c(118): \t\tvar shortYearCutoff = this._get(inst, "shortYearCutoff");\n
Login.c(118): \t\tshortYearCutoff = (typeof shortYearCutoff !== "string" ?
shortYearCutoff :\n
Login.c(118): \t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoff,
10));\n
Login.c(118): \t\treturn {shortYearCutoff: shortYearCutoff,\n
Login.c(118): \t\t\tdayNamesShort: this._get(inst, "dayNamesShort"), dayNames:
this._get(inst, "dayNames
Login.c(118): "),\n
Login.c(118): \t\t\tmonthNamesShort: this._get(inst, "monthNamesShort"),
monthNames: this._get(inst, "mo
Login.c(118): nthNames")};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Format the given date for display. */\n
Login.c(118): \t_formatDate: function(inst, day, month, year) {\n
Login.c(118): \t\tif (!day) {\n
Login.c(118): \t\t\tinst.currentDay = inst.selectedDay;\n
Login.c(118): \t\t\tinst.currentMonth = inst.selectedMonth;\n
Login.c(118): \t\t\tinst.currentYear = inst.selectedYear;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar date = (day ? (typeof day === "object" ? day :\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(year, month, day))) :\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(inst.currentYear,
inst.currentMonth, inst.curren
Login.c(118): tDay)));\n
Login.c(118): \t\treturn this.formatDate(this._get(inst, "dateFormat"), date,
this._getFormatConfig(inst
Login.c(118): ));\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): * Bind hover events for datepicker elements.\n
Login.c(118): * Done via delegate so the binding only occurs once in the
lifetime of the parent div.\n
Login.c(118): * Global datepicker_instActive, set by _updateDatepicker allows
the handlers to find thei
Login.c(118): r way back to the active picker.\n
Login.c(118): */\n
Login.c(118): function datepicker_bindHover(dpDiv) {\n
Login.c(118): \tvar selector = "button, .ui-datepicker-prev, .ui-datepicker-
next, .ui-datepicker-calenda
Login.c(118): r td a";\n
Login.c(118): \treturn dpDiv.delegate(selector, "mouseout", function() {\n
Login.c(118): \t\t\t$(this).removeClass("ui-state-hover");\n
Login.c(118): \t\t\tif (this.className.indexOf("ui-datepicker-prev") !== -1)
{\n
Login.c(118): \t\t\t\t$(this).removeClass("ui-datepicker-prev-hover");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (this.className.indexOf("ui-datepicker-next") !== -1)
{\n
Login.c(118): \t\t\t\t$(this).removeClass("ui-datepicker-next-hover");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t})\n
Login.c(118): \t\t.delegate( selector, "mouseover",
datepicker_handleMouseover );\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function datepicker_handleMouseover() {\n
Login.c(118): \tif (!
$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instAc
Login.c(118): tive.dpDiv.parent()[0] : datepicker_instActive.input[0])) {\n
Login.c(118): \t\t$(this).parents(".ui-datepicker-
calendar").find("a").removeClass("ui-state-hover");\n
Login.c(118): \t\t$(this).addClass("ui-state-hover");\n
Login.c(118): \t\tif (this.className.indexOf("ui-datepicker-prev") !== -1) {\n
Login.c(118): \t\t\t$(this).addClass("ui-datepicker-prev-hover");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this.className.indexOf("ui-datepicker-next") !== -1) {\n
Login.c(118): \t\t\t$(this).addClass("ui-datepicker-next-hover");\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* jQuery extend now ignores nulls! */\n
Login.c(118): function datepicker_extendRemove(target, props) {\n
Login.c(118): \t$.extend(target, props);\n
Login.c(118): \tfor (var name in props) {\n
Login.c(118): \t\tif (props[name] == null) {\n
Login.c(118): \t\t\ttarget[name] = props[name];\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \treturn target;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Invoke the datepicker functionality.\n
Login.c(118): @param options string - a command, optionally followed by
additional parameters or\n
Login.c(118): \t\t\t\t\tObject - settings for attaching new datepicker
Login.c(118): t=6281ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): functionality\n
Login.c(118): @return jQuery object */\n
Login.c(118): $.fn.datepicker = function(options){\n
Login.c(118): \n
Login.c(118): \t/* Verify an empty collection wasn't passed - Fixes #6976 */\n
Login.c(118): \tif ( !this.length ) {\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t/* Initialise the date picker. */\n
Login.c(118): \tif (!$.datepicker.initialized) {\n
Login.c(118): \t\t$(document).mousedown($.datepicker._checkExternalClick);\n
Login.c(118): \t\t$.datepicker.initialized = true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t/* Append datepicker main container to body if not exist. */\n
Login.c(118): \tif ($("#"+$.datepicker._mainDivId).length === 0) {\n
Login.c(118): \t\t$("body").append($.datepicker.dpDiv);\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tvar otherArgs = Array.prototype.slice.call(arguments, 1);\n
Login.c(118): \tif (typeof options === "string" && (options === "isDisabled" ||
options === "getDate" ||
Login.c(118): options === "widget")) {\n
Login.c(118): \t\treturn $.datepicker["_" + options + "Datepicker"].\n
Login.c(118): \t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n
Login.c(118): \t}\n
Login.c(118): \tif (options === "option" && arguments.length === 2 && typeof
arguments[1] === "string")
Login.c(118): {\n
Login.c(118): \t\treturn $.datepicker["_" + options + "Datepicker"].\n
Login.c(118): \t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n
Login.c(118): \t}\n
Login.c(118): \treturn this.each(function() {\n
Login.c(118): \t\ttypeof options === "string" ?\n
Login.c(118): \t\t\t$.datepicker["_" + options + "Datepicker"].\n
Login.c(118): \t\t\t\tapply($.datepicker, [this].concat(otherArgs)) :\n
Login.c(118): \t\t\t$.datepicker._attachDatepicker(this, options);\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.datepicker = new Datepicker(); // singleton instance\n
Login.c(118): $.datepicker.initialized = false;\n
Login.c(118): $.datepicker.uuid = new Date().getTime();\n
Login.c(118): $.datepicker.version = "1.11.1";\n
Login.c(118): \n
Login.c(118): var datepicker = $.datepicker;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Draggable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/draggable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget("ui.draggable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "drag",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\taddClasses: true,\n
Login.c(118): \t\tappendTo: "parent",\n
Login.c(118): \t\taxis: false,\n
Login.c(118): \t\tconnectToSortable: false,\n
Login.c(118): \t\tcontainment: false,\n
Login.c(118): \t\tcursor: "auto",\n
Login.c(118): \t\tcursorAt: false,\n
Login.c(118): \t\tgrid: false,\n
Login.c(118): \t\thandle: false,\n
Login.c(118): \t\thelper: "original",\n
Login.c(118): \t\tiframeFix: false,\n
Login.c(118): \t\topacity: false,\n
Login.c(118): \t\trefreshPositions: false,\n
Login.c(118): \t\trevert: false,\n
Login.c(118): \t\trevertDuration: 500,\n
Login.c(118): \t\tscope: "default",\n
Login.c(118): \t\tscroll: true,\n
Login.c(118): \t\tscrollSensitivity: 20,\n
Login.c(118): \t\tscrollSpeed: 20,\n
Login.c(118): \t\tsnap: false,\n
Login.c(118): \t\tsnapMode: "both",\n
Login.c(118): \t\tsnapTolerance: 20,\n
Login.c(118): \t\tstack: false,\n
Login.c(118): \t\tzIndex: false,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tdrag: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tif (this.options.helper === "original" && !(/^(?:r|a|
f)/).test(this.element.css("posit
Login.c(118): ion"))) {\n
Login.c(118): \t\t\tthis.element[0].style.position = "relative";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this.options.addClasses){\n
Login.c(118): \t\t\tthis.element.addClass("ui-draggable");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this.options.disabled){\n
Login.c(118): \t\t\tthis.element.addClass("ui-draggable-disabled");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setHandleClassName();\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t\tif ( key === "handle" ) {\n
Login.c(118): \t\t\tthis._removeHandleClassName();\n
Login.c(118): \t\t\tthis._setHandleClassName();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tif ( ( this.helper || this.element ).is( ".ui-draggable-
dragging" ) ) {\n
Login.c(118): \t\t\tthis.destroyOnClear = true;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.element.removeClass( "ui-draggable ui-draggable-dragging
ui-draggable-disabled" )
Login.c(118): ;\n
Login.c(118): \t\tthis._removeHandleClassName();\n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar document = this.document[ 0 ],\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\t// support: IE9\n
Login.c(118): \t\t// IE9 throws an "Unspecified error" accessing
document.activeElement from an <iframe>
Login.c(118): \n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\t// Support: IE9+\n
Login.c(118): \t\t\t// If the <body> is blurred, IE will switch windows, see
#9520\n
Login.c(118): \t\t\tif ( document.activeElement &&
document.activeElement.nodeName.toLowerCase() !== "bo
Login.c(118): dy" ) {\n
Login.c(118): \t\t\t\t// Blur any element that currently has focus, see #4261\n
Login.c(118): \t\t\t\t$( document.activeElement ).blur();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} catch ( error ) {}\n
Login.c(118): \n
Login.c(118): \t\t// among others, prevent a drag on a resizable-handle\n
Login.c(118): \t\tif (this.helper || o.disabled || $
(event.target).closest(".ui-resizable-handle").lengt
Login.c(118): h > 0) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Quit if we're not on a valid handle\n
Login.c(118): \t\tthis.handle = this._getHandle(event);\n
Login.c(118): \t\tif (!this.handle) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$(o.iframeFix === true ? "iframe" :
o.iframeFix).each(function() {\n
Login.c(118): \t\t\t$("<div class='ui-draggable-iframeFix' style='background:
#fff;'></div>")\n
Login.c(118): \t\t\t.css({\n
Login.c(118): \t\t\t\twidth: this.offsetWidth + "px", height: this.offsetHeight
+ "px",\n
Login.c(118): \t\t\t\tposition: "absolute", opacity: "0.001", zIndex: 1000\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.css($(this).offset())\n
Login.c(118): \t\t\t.appendTo("body");\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options;\n
Login.c(118): \n
Login.c(118): \t\t//Create and append the visible helper\n
Login.c(118): \t\tthis.helper = this._createHelper(event);\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.addClass("ui-draggable-dragging");\n
Login.c(118): \n
Login.c(118): \t\t//Cache the helper size\n
Login.c(118): \t\tthis._cacheHelperProportions();\n
Login.c(118): \n
Login.c(118): \t\t//If ddmanager is used for droppables, set the global
draggable\n
Login.c(118): \t\tif ($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.current = this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position generation -\n
Login.c(118): \t\t * This block generates everything position related - it's
the core of draggables.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\t//Cache the margins of the original element\n
Login.c(118): \t\tthis._cacheMargins();\n
Login.c(118): \n
Login.c(118): \t\t//Store the helper's css position\n
Login.c(118): \t\tthis.cssPosition = this.helper.css( "position" );\n
Login.c(118): \t\tthis.scrollParent = this.helper.scrollParent( true );\n
Login.c(118): \t\tthis.offsetParent = this.helper.offsetParent();\n
Login.c(118): \t\tthis.offsetParentCssPosition =
this.offsetParent.css( "position" );\n
Login.c(118): \n
Login.c(118): \t\t//The element's absolute position on the page minus margins\n
Login.c(118): \t\tthis.offset = this.positionAbs = this.element.offset();\n
Login.c(118): \t\tthis.offset = {\n
Login.c(118): \t\t\ttop: this.offset.top - this.margins.top,\n
Login.c(118): \t\t\tleft: this.offset.left - this.margins.left\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t//Reset scroll cache\n
Login.c(118): \t\tthis.offset.scroll = false;\n
Login.c(118): \n
Login.c(118): \t\t$.extend(this.offset, {\n
Login.c(118): \t\t\tclick: { //Where the click happened, relative to the
element\n
Login.c(118): \t\t\t\tleft: event.pageX - this.offset.left,\n
Login.c(118): \t\t\t\ttop: event.pageY - this.offset.top\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tparent: this._getParentOffset(),\n
Login.c(118): \t\t\trelative: this._getRelativeOffset() //This is a relative to
absolute position minus
Login.c(118): the actual position calculation - only used for relative
positioned helper\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t//Generate the original position\n
Login.c(118): \t\tthis.originalPosition = this.position =
this._generatePosition( event, false );\n
Login.c(118): \t\tthis.originalPageX = event.pageX;\n
Login.c(118): \t\tthis.originalPageY = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\t//Adjust the mouse offset relative to the helper if
"cursorAt" is supplied\n
Login.c(118): \t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n
Login.c(118): \n
Login.c(118): \t\t//Set a containment if given in the options\n
Login.c(118): \t\tthis._setContainment();\n
Login.c(118): \n
Login.c(118): \t\t//Trigger event + callbacks\n
Login.c(118): \t\tif (this._trigger("start", event) === false) {\n
Login.c(118): \t\t\tthis._clear();\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Recache the helper size\n
Login.c(118): \t\tthis._cacheHelperProportions();\n
Login.c(118): \n
Login.c(118): \t\t//Prepare the droppable offsets\n
Login.c(118): \t\tif ($.ui.ddmanager && !o.dropBehaviour) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDrag(event, true); //Execute the drag once - this
causes the helper not to
Login.c(118): be visible before getting its correct position\n
Login.c(118): \n
Login.c(118): \t\t//If the ddmanager is used for droppables, inform the manager
that dragging has starte
Login.c(118): d (see #5003)\n
Login.c(118): \t\tif ( $.ui.ddmanager ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.dragStart(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event, noPropagation) {\n
Login.c(118): \t\t// reset any necessary cached properties (see #5009)\n
Login.c(118): \t\tif ( this.offsetParentCssPosition === "fixed" ) {\n
Login.c(118): \t\t\tthis.offset.parent = this._getParentOffset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Compute the helpers position\n
Login.c(118): \t\tthis.position = this._generatePosition( event, true );\n
Login.c(118): \t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \n
Login.c(118): \t\t//Call plugins and callbacks and use the resulting position
if something is returned\n
Login.c(118): \t\tif (!noPropagation) {\n
Login.c(118): \t\t\tvar ui = this._uiHash();\n
Login.c(118): \t\t\tif (this._trigger("drag", event, ui) === false) {\n
Login.c(118): \t\t\t\tthis._mouseUp({});\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.position = ui.position;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.helper[ 0 ].style.left = this.position.left + "px";\n
Login.c(118): \t\tthis.helper[ 0 ].style.top = this.position.top + "px";\n
Login.c(118): \n
Login.c(118): \t\tif ($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.drag(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event) {\n
Login.c(118): \n
Login.c(118): \t\t//If we are using droppables, inform the manager about the
drop\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tdropped = false;\n
Login.c(118): \t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\n
Login.c(118): \t\t\tdropped = $.ui.ddmanager.drop(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//if a drop comes from outside (a sortable)\n
Login.c(118): \t\tif (this.dropped) {\n
Login.c(118): \t\t\tdropped = this.dropped;\n
Login.c(118): \t\t\tthis.dropped = false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ((this.options.revert === "invalid" && !dropped) ||
(this.options.revert === "valid
Login.c(118): " && dropped) || this.options.revert === true ||
($.isFunction(this.options.revert) && thi
Login.c(118): s.options.revert.call(this.element, dropped))) {\n
Login.c(118): \t\t\t$(this.helper).animate(this.originalPosition,
parseInt(this.options.revertDuration,
Login.c(118): 10), function() {\n
Login.c(118): \t\t\t\tif (that._trigger("stop", event) !== false) {\n
Login.c(118): \t\t\t\t\tthat._clear();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif (this._trigger("stop", event) !== false) {\n
Login.c(118): \t\t\t\tthis._clear();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseUp: function(event) {\n
Login.c(118): \t\t//Remove frame helpers\n
Login.c(118): \t\t$("div.ui-draggable-iframeFix").each(function() {\n
Login.c(118): \t\t\tthis.parentNode.removeChild(this);\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t//If the ddmanager is used for droppables, inform the manager
that dragging has stoppe
Login.c(118): d (see #5003)\n
Login.c(118): \t\tif ( $.ui.ddmanager ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.dragStop(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// The interaction is over; whether or not the click resulted
in a drag, focus the ele
Login.c(118): ment\n
Login.c(118): \t\tthis.element.focus();\n
Login.c(118): \n
Login.c(118): \t\treturn $.ui.mouse.prototype._mouseUp.call(this, event);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcancel: function() {\n
Login.c(118): \n
Login.c(118): \t\tif (this.helper.is(".ui-draggable-dragging")) {\n
Login.c(118): \t\t\tthis._mouseUp({});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis._clear();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getHandle: function(event) {\n
Login.c(118): \t\treturn this.options.handle ?\n
Login.c(118): \t\t\t!!$
( event.target ).closest( this.element.find( this.options.handle ) ).length :\n
Login.c(118): \t\t\ttrue;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setHandleClassName: function() {\n
Login.c(118): \t\tthis.handleElement = this.options.handle ?\n
Login.c(118): \t\t\tthis.element.find( this.options.handle ) : this.element;\n
Login.c(118): \t\tthis.handleElement.addClass( "ui-draggable-handle" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeHandleClassName: function() {\n
Login.c(118): \t\tthis.handleElement.removeClass( "ui-draggable-handle" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createHelper: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options,\n
Login.c(118): \t\t\thelper = $.isFunction(o.helper) ? $
(o.helper.apply(this.element[ 0 ], [ event ])) :
Login.c(118): (o.helper === "clone" ? this.element.clone().removeAttr("id") :
this.element);\n
Login.c(118): \n
Login.c(118): \t\tif (!helper.parents("body").length) {\n
Login.c(118): \t\t\thelper.appendTo((o.appendTo === "parent" ?
this.element[0].parentNode : o.appendTo))
Login.c(118): ;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (helper[0] !== this.element[0] && !(/(fixed|
absolute)/).test(helper.css("position")
Login.c(118): )) {\n
Login.c(118): \t\t\thelper.css("position", "absolute");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn helper;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_adjustOffsetFromHelper: function(obj) {\n
Login.c(118): \t\tif (typeof obj === "string") {\n
Login.c(118): \t\t\tobj = obj.split(" ");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ($.isArray(obj)) {\n
Login.c(118): \t\t\tobj = { left: +obj[0], top: +obj[1] || 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("left" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = obj.left + this.margins.left;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("right" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = this.helperProportions.width -
obj.right + this.margins.lef
Login.c(118): t;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("top" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = obj.top + this.margins.top;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("bottom" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = this.helperProportions.height -
obj.bottom + this.margins.to
Login.c(118): p;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isRootNode: function( element ) {\n
Login.c(118): \t\treturn ( /(html|body)/i ).test( element.tagName ) || element
=== this.document[ 0 ];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getParentOffset: function() {\n
Login.c(118): \n
Login.c(118): \t\t//Get the offsetParent and cache its position\n
Login.c(118): \t\tvar po = this.offsetParent.offset(),\n
Login.c(118): \t\t\tdocument = this.document[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\t// This is a special case where we need to modify a offset
calculated on start, since
Login.c(118): the following happened:\n
Login.c(118): \t\t// 1. The position of the helper is absolute, so it's
position is calculated based on
Login.c(118): the next positioned parent\n
Login.c(118): \t\t// 2. The actual offset parent is a child of the scroll
parent, and the scroll parent
Login.c(118): isn't the document, which means that\n
Login.c(118): \t\t// the scroll is included in the initial calculation of
the offset of the parent, a
Login.c(118): nd never recalculated upon drag\n
Login.c(118): \t\tif (this.cssPosition === "absolute" && this.scrollParent[0] !
== document && $.contains
Login.c(118): (this.scrollParent[0], this.offsetParent[0])) {\n
Login.c(118): \t\t\tpo.left += this.scrollParent.scrollLeft();\n
Login.c(118): \t\t\tpo.top += this.scrollParent.scrollTop();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this._isRootNode( this.offsetParent[ 0 ] ) ) {\n
Login.c(118): \t\t\tpo = { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: po.top +
(parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),\n
Login.c(118): \t\t\tleft: po.left +
(parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getRelativeOffset: function() {\n
Login.c(118): \t\tif ( this.cssPosition !== "relative" ) {\n
Login.c(118): \t\t\treturn { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar p = this.element.position(),\n
Login.c(118): \t\t\tscrollIsRootNode = this._isRootNode( this.scroll
Login.c(118): t=6305ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Parent[ 0 ] );\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: p.top - ( parseInt(this.helper.css( "top" ), 10) ||
0 ) + ( !scrollIsRootNode ?
Login.c(118): this.scrollParent.scrollTop() : 0 ),\n
Login.c(118): \t\t\tleft: p.left - ( parseInt(this.helper.css( "left" ), 10) ||
0 ) + ( !scrollIsRootNod
Login.c(118): e ? this.scrollParent.scrollLeft() : 0 )\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheMargins: function() {\n
Login.c(118): \t\tthis.margins = {\n
Login.c(118): \t\t\tleft: (parseInt(this.element.css("marginLeft"), 10) ||
0),\n
Login.c(118): \t\t\ttop: (parseInt(this.element.css("marginTop"), 10) || 0),\n
Login.c(118): \t\t\tright: (parseInt(this.element.css("marginRight"), 10) ||
0),\n
Login.c(118): \t\t\tbottom: (parseInt(this.element.css("marginBottom"), 10) ||
0)\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheHelperProportions: function() {\n
Login.c(118): \t\tthis.helperProportions = {\n
Login.c(118): \t\t\twidth: this.helper.outerWidth(),\n
Login.c(118): \t\t\theight: this.helper.outerHeight()\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setContainment: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar over, c, ce,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tdocument = this.document[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tthis.relativeContainer = null;\n
Login.c(118): \n
Login.c(118): \t\tif ( !o.containment ) {\n
Login.c(118): \t\t\tthis.containment = null;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment === "window" ) {\n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\t$( window ).scrollLeft() - this.offset.relative.left -
this.offset.parent.left,\n
Login.c(118): \t\t\t\t$( window ).scrollTop() - this.offset.relative.top -
this.offset.parent.top,\n
Login.c(118): \t\t\t\t$( window ).scrollLeft() + $( window ).width() -
this.helperProportions.width - th
Login.c(118): is.margins.left,\n
Login.c(118): \t\t\t\t$( window ).scrollTop() + ( $( window ).height() ||
document.body.parentNode.scrol
Login.c(118): lHeight ) - this.helperProportions.height - this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment === "document") {\n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\t0,\n
Login.c(118): \t\t\t\t0,\n
Login.c(118): \t\t\t\t$( document ).width() - this.helperProportions.width -
this.margins.left,\n
Login.c(118): \t\t\t\t( $( document ).height() ||
document.body.parentNode.scrollHeight ) - this.helperP
Login.c(118): roportions.height - this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment.constructor === Array ) {\n
Login.c(118): \t\t\tthis.containment = o.containment;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment === "parent" ) {\n
Login.c(118): \t\t\to.containment = this.helper[ 0 ].parentNode;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tc = $( o.containment );\n
Login.c(118): \t\tce = c[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tif ( !ce ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tover = c.css( "overflow" ) !== "hidden";\n
Login.c(118): \n
Login.c(118): \t\tthis.containment = [\n
Login.c(118): \t\t\t( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) +
( parseInt( c.css( "paddingLef
Login.c(118): t" ), 10 ) || 0 ),\n
Login.c(118): \t\t\t( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) +
( parseInt( c.css( "paddingTop"
Login.c(118): ), 10 ) || 0 ),\n
Login.c(118): \t\t\t( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) :
ce.offsetWidth ) - ( parseInt(
Login.c(118): c.css( "borderRightWidth" ), 10 ) || 0 ) -
( parseInt( c.css( "paddingRight" ), 10 ) || 0
Login.c(118): ) - this.helperProportions.width - this.margins.left -
this.margins.right,\n
Login.c(118): \t\t\t( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) :
ce.offsetHeight ) - ( parseI
Login.c(118): nt( c.css( "borderBottomWidth" ), 10 ) || 0 ) -
( parseInt( c.css( "paddingBottom" ), 10 )
Login.c(118): || 0 ) - this.helperProportions.height - this.margins.top -
this.margins.bottom\n
Login.c(118): \t\t];\n
Login.c(118): \t\tthis.relativeContainer = c;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_convertPositionTo: function(d, pos) {\n
Login.c(118): \n
Login.c(118): \t\tif (!pos) {\n
Login.c(118): \t\t\tpos = this.position;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar mod = d === "absolute" ? 1 : -1,\n
Login.c(118): \t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ]
);\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative positione
Login.c(118): d nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset wit
Login.c(118): hout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.offset.scroll.top : ( scrollIsRootNode ?
Login.c(118): 0 : this.offset.scroll.top ) ) * mod)\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative position
Login.c(118): ed nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t//
The offsetParent's offset w
Login.c(118): ithout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.offset.scroll.left : ( scrollIsRootNode ?
Login.c(118): 0 : this.offset.scroll.left ) ) * mod)\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_generatePosition: function( event, constrainPosition ) {\n
Login.c(118): \n
Login.c(118): \t\tvar containment, co, top, left,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ]
),\n
Login.c(118): \t\t\tpageX = event.pageX,\n
Login.c(118): \t\t\tpageY = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\t// Cache the scroll\n
Login.c(118): \t\tif ( !scrollIsRootNode || !this.offset.scroll ) {\n
Login.c(118): \t\t\tthis.offset.scroll = {\n
Login.c(118): \t\t\t\ttop: this.scrollParent.scrollTop(),\n
Login.c(118): \t\t\t\tleft: this.scrollParent.scrollLeft()\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position constraining -\n
Login.c(118): \t\t * Constrain the position to a mix of grid, containment.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\t// If we are not dragging yet, we won't check for options\n
Login.c(118): \t\tif ( constrainPosition ) {\n
Login.c(118): \t\t\tif ( this.containment ) {\n
Login.c(118): \t\t\t\tif ( this.relativeContainer ){\n
Login.c(118): \t\t\t\t\tco = this.relativeContainer.offset();\n
Login.c(118): \t\t\t\t\tcontainment = [\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 0 ] + co.left,\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 1 ] + co.top,\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 2 ] + co.left,\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 3 ] + co.top\n
Login.c(118): \t\t\t\t\t];\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tcontainment = this.containment;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (event.pageX - this.offset.click.left <
containment[0]) {\n
Login.c(118): \t\t\t\t\tpageX = containment[0] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (event.pageY - this.offset.click.top < containment[1])
{\n
Login.c(118): \t\t\t\t\tpageY = containment[1] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (event.pageX - this.offset.click.left >
containment[2]) {\n
Login.c(118): \t\t\t\t\tpageX = containment[2] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (event.pageY - this.offset.click.top > containment[3])
{\n
Login.c(118): \t\t\t\t\tpageY = containment[3] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (o.grid) {\n
Login.c(118): \t\t\t\t//Check for grid elements set to 0 to prevent divide by 0
error causing invalid ar
Login.c(118): gument errors in IE (see ticket #6950)\n
Login.c(118): \t\t\t\ttop = o.grid[1] ? this.originalPageY + Math.round((pageY
- this.originalPageY) / o
Login.c(118): .grid[1]) * o.grid[1] : this.originalPageY;\n
Login.c(118): \t\t\t\tpageY = containment ? ((top - this.offset.click.top >=
containment[1] || top - thi
Login.c(118): s.offset.click.top > containment[3]) ? top : ((top -
this.offset.click.top >= containment[
Login.c(118): 1]) ? top - o.grid[1] : top + o.grid[1])) : top;\n
Login.c(118): \n
Login.c(118): \t\t\t\tleft = o.grid[0] ? this.originalPageX + Math.round((pageX
- this.originalPageX) /
Login.c(118): o.grid[0]) * o.grid[0] : this.originalPageX;\n
Login.c(118): \t\t\t\tpageX = containment ? ((left - this.offset.click.left >=
containment[0] || left -
Login.c(118): this.offset.click.left > containment[2]) ? left : ((left -
this.offset.click.left >= conta
Login.c(118): inment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( o.axis === "y" ) {\n
Login.c(118): \t\t\t\tpageX = this.originalPageX;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( o.axis === "x" ) {\n
Login.c(118): \t\t\t\tpageY = this.originalPageY;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.top\t-\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the e
Login.c(118): lement)\n
Login.c(118): \t\t\t\tthis.offset.relative.top -\t\t\t\t\t\t\t\t\t\t\t\t// Only
for relative positioned
Login.c(118): nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset witho
Login.c(118): ut borders (offset + border)\n
Login.c(118): \t\t\t\t( this.cssPosition === "fixed" ?
-this.offset.scroll.top : ( scrollIsRootNode ? 0
Login.c(118): : this.offset.scroll.top ) )\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the e
Login.c(118): lement)\n
Login.c(118): \t\t\t\tthis.offset.relative.left -\t\t\t\t\t\t\t\t\t\t\t\t//
Only for relative positioned
Login.c(118): nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset with
Login.c(118): out borders (offset + border)\n
Login.c(118): \t\t\t\t( this.cssPosition === "fixed" ? -this.offset.scroll.left
: ( scrollIsRootNode ? 0
Login.c(118): : this.offset.scroll.left ) )\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_clear: function() {\n
Login.c(118): \t\tthis.helper.removeClass("ui-draggable-dragging");\n
Login.c(118): \t\tif (this.helper[0] !== this.element[0] && !
this.cancelHelperRemoval) {\n
Login.c(118): \t\t\tthis.helper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.helper = null;\n
Login.c(118): \t\tthis.cancelHelperRemoval = false;\n
Login.c(118): \t\tif ( this.destroyOnClear ) {\n
Login.c(118): \t\t\tthis.destroy();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// From now on bulk stuff - mainly helpers\n
Login.c(118): \n
Login.c(118): \t_trigger: function(type, event, ui) {\n
Login.c(118): \t\tui = ui || this._uiHash();\n
Login.c(118): \t\t$.ui.plugin.call( this, type, [ event, ui, this ], true );\n
Login.c(118): \t\t//The absolute position has to be recalculated after
plugins\n
Login.c(118): \t\tif (type === "drag") {\n
Login.c(118): \t\t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn $.Widget.prototype._trigger.call(this, type, event,
ui);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tplugins: {},\n
Login.c(118): \n
Login.c(118): \t_uiHash: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\thelper: this.helper,\n
Login.c(118): \t\t\tposition: this.position,\n
Login.c(118): \t\t\toriginalPosition: this.originalPosition,\n
Login.c(118): \t\t\toffset: this.positionAbs\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "connectToSortable", {\n
Login.c(118): \tstart: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = inst.options,\n
Login.c(118): \t\t\tuiSortable = $.extend({}, ui, { item: inst.element });\n
Login.c(118): \t\tinst.sortables = [];\n
Login.c(118): \t\t$(o.connectToSortable).each(function() {\n
Login.c(118): \t\t\tvar sortable = $( this ).sortable( "instance" );\n
Login.c(118): \t\t\tif (sortable && !sortable.options.disabled) {\n
Login.c(118): \t\t\t\tinst.sortables.push({\n
Login.c(118): \t\t\t\t\tinstance: sortable,\n
Login.c(118): \t\t\t\t\tshouldRevert: sortable.options.revert\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t\tsortable.refreshPositions();\t// Call the sortable's
refreshPositions at drag star
Login.c(118): t to refresh the containerCache since the sortable container
cache is used in drag and nee
Login.c(118): ds to be up to date (this will ensure it's initialised as well as
being kept in step with
Login.c(118): any changes that might have happened on the page).\n
Login.c(118): \t\t\t\tsortable._trigger("activate", event, uiSortable);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\t//If we are still over the sortable, we fake the stop event
of the sortable, but also
Login.c(118): remove helper\n
Login.c(118): \t\tvar uiSortable = $.extend( {}, ui, {\n
Login.c(118): \t\t\titem: inst.element\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t$.each(inst.sortables, function() {\n
Login.c(118): \t\t\tif (this.instance.isOver) {\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.instance.isOver = 0;\n
Login.c(118): \n
Login.c(118): \t\t\t\tinst.cancelHelperRemoval = true; //Don't remove the
helper in the draggable instan
Login.c(118): ce\n
Login.c(118): \t\t\t\tthis.instance.cancelHelperRemoval = false; //Remove it in
the sortable instance (s
Login.c(118): o sortable plugins like revert still work)\n
Login.c(118): \n
Login.c(118): \t\t\t\t//The sortable revert is supported, and we have to set a
temporary dropped variabl
Login.c(118): e on the draggable to support revert: "valid/invalid"\n
Login.c(118): \t\t\t\tif (this.shouldRevert) {\n
Login.c(118): \t\t\t\t\tthis.instance.options.revert = this.shouldRevert;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t//Trigger the stop of the sortable\n
Login.c(118): \t\t\t\tthis.instance._mouseStop(event);\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.instance.options.helper =
this.instance.options._helper;\n
Login.c(118): \n
Login.c(118): \t\t\t\t//If the helper has been the original item, restore
properties in the sortable\n
Login.c(118): \t\t\t\tif (inst.options.helper === "original") {\n
Login.c(118): \t\t\t\t\tthis.instance.currentItem.css({ top: "auto", left:
"auto" });\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.instance.cancelHelperRemoval = false; //Remove the
helper in the sortable ins
Login.c(118): tance\n
Login.c(118): \t\t\t\tthis.instance._trigger("deactivate", event,
uiSortable);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t$.each(inst.sortables, function() {\n
Login.c(118): \n
Login.c(118): \t\t\tvar innermostIntersecting = false,\n
Login.c(118): \t\t\t\tthisSortable = this;\n
Login.c(118): \n
Login.c(118): \t\t\t//Copy over some variables to allow calling the sortable's
native _intersectsWith\n
Login.c(118): \t\t\tthis.instance.positionAbs = inst.positionAbs;\n
Login.c(118): \t\t\tthis.instance.helperProportions = inst.helperProportions;\n
Login.c(118): \t\t\tthis.instance.offset.click = inst.offset.click;\n
Login.c(118): \n
Login.c(118): \t\t\tif
(this.instance._intersectsWith(this.instance.containerCache)) {\n
Login.c(118): \t\t\t\tinnermostIntersecting = true;\n
Login.c(118): \t\t\t\t$.each(inst.sortables, function() {\n
Login.c(118): \t\t\t\t\tthis.instance.positionAbs = inst.positionAbs;\n
Login.c(118): \t\t\t\t\tthis.instance.helperProportions =
inst.helperProportions;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.click = inst.offset.click;\n
Login.c(118): \t\t\t\t\tif (this !== thisSortable &&\n
Login.c(118):
\t\t\t\t\t\tthis.instance._intersectsWith(this.instance.containerCache) &&\n
Login.c(118): \t\t\t\t\t\t$.contains(thisSortable.instance.element[0],
this.instance.element[0])\n
Login.c(118): \t\t\t\t\t) {\n
Login.c(118): \t\t\t\t\t\tinnermostIntersecting = false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\treturn innermostIntersecting;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (innermostIntersecting) {\n
Login.c(118): \t\t\t\t//If it intersects, we use a little isOver variable and
set it once, so our move-i
Login.c(118): n stuff gets fired only once\n
Login.c(118): \t\t\t\tif (!this.instance.isOver) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis.instance.isOver = 1;\n
Login.c(118): \t\t\t\t\t//Now we fake the start of dragging for the sortable
instance,\n
Login.c(118): \t\t\t\t\t//by cloning the list group item, appending it to the
sortable and using it as i
Login.c(118): nst.currentItem\n
Login.c(118): \t\t\t\t\t//We can then fire the start event of the sortable with
our passed browser event
Login.c(118): , and our own helper (so it doesn't create a new one)\n
Login.c(118): \t\t\t\t\tthis.instance.currentItem = $
(that).clone().removeAttr("id").appendTo(this.insta
Login.c(118): nce.element).data("ui-sortable-item", true);\n
Login.c(118): \t\t\t\t\tthis.instance.options._helper =
this.instance.options.helper; //Store helper opt
Login.c(118): ion to later restore it\n
Login.c(118): \t\t\t\t\tthis.instance.options.helper = function()
Login.c(118): t=6324ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): { return ui.helper[0]; };\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tevent.target = this.instance.currentItem[0];\n
Login.c(118): \t\t\t\t\tthis.instance._mouseCapture(event, true);\n
Login.c(118): \t\t\t\t\tthis.instance._mouseStart(event, true, true);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//Because the browser event is way off the new appended
portlet, we modify a cou
Login.c(118): ple of variables to reflect the changes\n
Login.c(118): \t\t\t\t\tthis.instance.offset.click.top =
inst.offset.click.top;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.click.left =
inst.offset.click.left;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.parent.left -=
inst.offset.parent.left - this.instance.offs
Login.c(118): et.parent.left;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.parent.top -=
inst.offset.parent.top - this.instance.offset
Login.c(118): .parent.top;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tinst._trigger("toSortable", event);\n
Login.c(118): \t\t\t\t\tinst.dropped = this.instance.element; //draggable
revert needs that\n
Login.c(118): \t\t\t\t\t//hack so receive/update callbacks work (mostly)\n
Login.c(118): \t\t\t\t\tinst.currentItem = inst.element;\n
Login.c(118): \t\t\t\t\tthis.instance.fromOutside = inst;\n
Login.c(118): \n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t//Provided we did all the previous steps, we can fire the
drag event of the sortab
Login.c(118): le on every draggable drag, when it intersects with the
sortable\n
Login.c(118): \t\t\t\tif (this.instance.currentItem) {\n
Login.c(118): \t\t\t\t\tthis.instance._mouseDrag(event);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t\t//If it doesn't intersect with the sortable, and it
intersected before,\n
Login.c(118): \t\t\t\t//we fake the drag stop of the sortable, but make sure it
doesn't remove the helpe
Login.c(118): r by using cancelHelperRemoval\n
Login.c(118): \t\t\t\tif (this.instance.isOver) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis.instance.isOver = 0;\n
Login.c(118): \t\t\t\t\tthis.instance.cancelHelperRemoval = true;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//Prevent reverting on this forced stop\n
Login.c(118): \t\t\t\t\tthis.instance.options.revert = false;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// The out event needs to be triggered independently\n
Login.c(118): \t\t\t\t\tthis.instance._trigger("out", event,
this.instance._uiHash(this.instance));\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis.instance._mouseStop(event, true);\n
Login.c(118): \t\t\t\t\tthis.instance.options.helper =
this.instance.options._helper;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//Now we remove our currentItem, the list group clone
again, and the placeholder
Login.c(118): , and animate the helper back to it's original size\n
Login.c(118): \t\t\t\t\tthis.instance.currentItem.remove();\n
Login.c(118): \t\t\t\t\tif (this.instance.placeholder) {\n
Login.c(118): \t\t\t\t\t\tthis.instance.placeholder.remove();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tinst._trigger("fromSortable", event);\n
Login.c(118): \t\t\t\t\tinst.dropped = false; //draggable revert needs that\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "cursor", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar t = $( "body" ),\n
Login.c(118): \t\t\to = instance.options;\n
Login.c(118): \n
Login.c(118): \t\tif (t.css("cursor")) {\n
Login.c(118): \t\t\to._cursor = t.css("cursor");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tt.css("cursor", o.cursor);\n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, instance ) {\n
Login.c(118): \t\tvar o = instance.options;\n
Login.c(118): \t\tif (o._cursor) {\n
Login.c(118): \t\t\t$("body").css("cursor", o._cursor);\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "opacity", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar t = $( ui.helper ),\n
Login.c(118): \t\t\to = instance.options;\n
Login.c(118): \t\tif (t.css("opacity")) {\n
Login.c(118): \t\t\to._opacity = t.css("opacity");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tt.css("opacity", o.opacity);\n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, instance ) {\n
Login.c(118): \t\tvar o = instance.options;\n
Login.c(118): \t\tif (o._opacity) {\n
Login.c(118): \t\t\t$(ui.helper).css("opacity", o._opacity);\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "scroll", {\n
Login.c(118): \tstart: function( event, ui, i ) {\n
Login.c(118): \t\tif ( !i.scrollParentNotHidden ) {\n
Login.c(118): \t\t\ti.scrollParentNotHidden = i.helper.scrollParent( false );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] &&
i.scrollParentNotHidden[ 0 ].
Login.c(118): tagName !== "HTML" ) {\n
Login.c(118): \t\t\ti.overflowOffset = i.scrollParentNotHidden.offset();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( event, ui, i ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = i.options,\n
Login.c(118): \t\t\tscrolled = false,\n
Login.c(118): \t\t\tscrollParent = i.scrollParentNotHidden[ 0 ],\n
Login.c(118): \t\t\tdocument = i.document[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tif ( scrollParent !== document && scrollParent.tagName !==
"HTML" ) {\n
Login.c(118): \t\t\tif ( !o.axis || o.axis !== "x" ) {\n
Login.c(118): \t\t\t\tif ( ( i.overflowOffset.top + scrollParent.offsetHeight )
- event.pageY < o.scroll
Login.c(118): Sensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollTop = scrolled =
scrollParent.scrollTop + o.scrollSpeed;\n
Login.c(118): \t\t\t\t} else if ( event.pageY - i.overflowOffset.top <
o.scrollSensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollTop = scrolled =
scrollParent.scrollTop - o.scrollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !o.axis || o.axis !== "y" ) {\n
Login.c(118): \t\t\t\tif ( ( i.overflowOffset.left + scrollParent.offsetWidth )
- event.pageX < o.scroll
Login.c(118): Sensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollLeft = scrolled =
scrollParent.scrollLeft + o.scrollSpeed;\n
Login.c(118): \t\t\t\t} else if ( event.pageX - i.overflowOffset.left <
o.scrollSensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollLeft = scrolled =
scrollParent.scrollLeft - o.scrollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\tif (!o.axis || o.axis !== "x") {\n
Login.c(118): \t\t\t\tif (event.pageY - $(document).scrollTop() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if ($(window).height() - (event.pageY - $
(document).scrollTop()) < o.scroll
Login.c(118): Sensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (!o.axis || o.axis !== "y") {\n
Login.c(118): \t\t\t\tif (event.pageX - $(document).scrollLeft() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if ($(window).width() - (event.pageX - $
(document).scrollLeft()) < o.scroll
Login.c(118): Sensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
{\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets(i, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "snap", {\n
Login.c(118): \tstart: function( event, ui, i ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = i.options;\n
Login.c(118): \n
Login.c(118): \t\ti.snapElements = [];\n
Login.c(118): \n
Login.c(118): \t\t$(o.snap.constructor !== String ? ( o.snap.items ||
":data(ui-draggable)" ) : o.snap).
Login.c(118): each(function() {\n
Login.c(118): \t\t\tvar $t = $(this),\n
Login.c(118): \t\t\t\t$o = $t.offset();\n
Login.c(118): \t\t\tif (this !== i.element[0]) {\n
Login.c(118): \t\t\t\ti.snapElements.push({\n
Login.c(118): \t\t\t\t\titem: this,\n
Login.c(118): \t\t\t\t\twidth: $t.outerWidth(), height: $t.outerHeight(),\n
Login.c(118): \t\t\t\t\ttop: $o.top, left: $o.left\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\tvar ts, bs, ls, rs, l, r, t, b, i, first,\n
Login.c(118): \t\t\to = inst.options,\n
Login.c(118): \t\t\td = o.snapTolerance,\n
Login.c(118): \t\t\tx1 = ui.offset.left, x2 = x1 +
inst.helperProportions.width,\n
Login.c(118): \t\t\ty1 = ui.offset.top, y2 = y1 +
inst.helperProportions.height;\n
Login.c(118): \n
Login.c(118): \t\tfor (i = inst.snapElements.length - 1; i >= 0; i--){\n
Login.c(118): \n
Login.c(118): \t\t\tl = inst.snapElements[i].left;\n
Login.c(118): \t\t\tr = l + inst.snapElements[i].width;\n
Login.c(118): \t\t\tt = inst.snapElements[i].top;\n
Login.c(118): \t\t\tb = t + inst.snapElements[i].height;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d
|| !$.contains( inst.snapE
Login.c(118): lements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) )
{\n
Login.c(118): \t\t\t\tif (inst.snapElements[i].snapping) {\n
Login.c(118): \t\t\t\t\t(inst.options.snap.release &&
inst.options.snap.release.call(inst.element, event
Login.c(118): , $.extend(inst._uiHash(), { snapItem:
inst.snapElements[i].item })));\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tinst.snapElements[i].snapping = false;\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (o.snapMode !== "inner") {\n
Login.c(118): \t\t\t\tts = Math.abs(t - y2) <= d;\n
Login.c(118): \t\t\t\tbs = Math.abs(b - y1) <= d;\n
Login.c(118): \t\t\t\tls = Math.abs(l - x2) <= d;\n
Login.c(118): \t\t\t\trs = Math.abs(r - x1) <= d;\n
Login.c(118): \t\t\t\tif (ts) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: t - inst.helperProp
Login.c(118): ortions.height, left: 0 }).top - inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (bs) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: b, left: 0 }).top -
Login.c(118): inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (ls) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: l - inst.
Login.c(118): helperProportions.width }).left - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (rs) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: r }).left
Login.c(118): - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tfirst = (ts || bs || ls || rs);\n
Login.c(118): \n
Login.c(118): \t\t\tif (o.snapMode !== "outer") {\n
Login.c(118): \t\t\t\tts = Math.abs(t - y1) <= d;\n
Login.c(118): \t\t\t\tbs = Math.abs(b - y2) <= d;\n
Login.c(118): \t\t\t\tls = Math.abs(l - x1) <= d;\n
Login.c(118): \t\t\t\trs = Math.abs(r - x2) <= d;\n
Login.c(118): \t\t\t\tif (ts) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: t, left: 0 }).top -
Login.c(118): inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (bs) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: b - inst.helperProp
Login.c(118): ortions.height, left: 0 }).top - inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (ls) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: l }).left
Login.c(118): - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (rs) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: r - inst.
Login.c(118): helperProportions.width }).left - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (!inst.snapElements[i].snapping && (ts || bs || ls || rs
|| first)) {\n
Login.c(118): \t\t\t\t(inst.options.snap.snap &&
inst.options.snap.snap.call(inst.element, event, $.exte
Login.c(118): nd(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tinst.snapElements[i].snapping = (ts || bs || ls || rs ||
first);\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "stack", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar min,\n
Login.c(118): \t\t\to = instance.options,\n
Login.c(118): \t\t\tgroup = $.makeArray($(o.stack)).sort(function(a, b) {\n
Login.c(118): \t\t\t\treturn (parseInt($(a).css("zIndex"), 10) || 0) -
(parseInt($(b).css("zIndex"), 10)
Login.c(118): || 0);\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif (!group.length) { return; }\n
Login.c(118): \n
Login.c(118): \t\tmin = parseInt($(group[0]).css("zIndex"), 10) || 0;\n
Login.c(118): \t\t$(group).each(function(i) {\n
Login.c(118): \t\t\t$(this).css("zIndex", min + i);\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.css("zIndex", (min + group.length));\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "zIndex", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar t = $( ui.helper ),\n
Login.c(118): \t\t\to = instance.options;\n
Login.c(118): \n
Login.c(118): \t\tif (t.css("zIndex")) {\n
Login.c(118): \t\t\to._zIndex = t.css("zIndex");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tt.css("zIndex", o.zIndex);\n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, instance ) {\n
Login.c(118): \t\tvar o = instance.options;\n
Login.c(118): \n
Login.c(118): \t\tif (o._zIndex) {\n
Login.c(118): \t\t\t$(ui.helper).css("zIndex", o._zIndex);\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var draggable = $.ui.draggable;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Resizable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/resizable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget("ui.resizable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "resize",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\talsoResize: false,\n
Login.c(118): \t\tanimate: false,\n
Login.c(118): \t\tanimateDuration: "slow",\n
Login.c(118): \t\tanimateEasing: "swing",\n
Login.c(118): \t\taspectRatio: false,\n
Login.c(118): \t\tautoHide: false,\n
Login.c(118): \t\tcontainment: false,\n
Login.c(118): \t\tghost: false,\n
Login.c(118): \t\tgrid: false,\n
Login.c(118): \t\thandles: "e,s,se",\n
Login.c(118): \t\thelper: false,\n
Login.c(118): \t\tmaxHeight: null,\n
Login.c(118): \t\tmaxWidth: null,\n
Login.c(118): \t\tminHeight: 10,\n
Login.c(118): \t\tminWidth: 10,\n
Login.c(118): \t\t// See #7960\n
Login.c(118): \t\tzIndex: 90,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tresize: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_num: function( value ) {\n
Login.c(118): \t\treturn parseInt( value, 10 ) || 0;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isNumber: function( value ) {\n
Login.c(118): \t\treturn !isNaN( parseInt( value, 10 ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_hasScroll: function( el, a ) {\n
Login.c(118): \n
Login.c(118): \t\tif ( $( el ).css( "overflow" ) === "hidden") {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar scroll = ( a && a === "left" ) ? "scrollLeft" :
"scrollTop",\n
Login.c(118): \t\t\thas = false;\n
Login.c(118): \n
Login.c(118): \t\tif ( el[ scroll ] > 0 ) {\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// TODO: determine which cases actually cause this to
happen\n
Login.c(118): \t\t// if the element doesn't have the scroll set, see if it's
possible to\n
Login.c(118): \t\t// set the scroll\n
Login.c(118): \t\tel[ scroll ] = 1;\n
Login.c(118): \t\thas = ( el[ scroll ] > 0 );\n
Login.c(118): \t\tel[ scroll ] = 0;\n
Login.c(118): \t\treturn has;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar n, i, handle, axis, hname,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \t\tthis.element.addClass("ui-resizable");\n
Login.c(118): \n
Login.c(118): \t\t$.extend(this, {\n
Login.c(118): \t\t\t_aspectRatio: !!(o.aspectRatio),\n
Login.c(118): \t\t\taspectRatio: o.aspectRatio,\n
Login.c(118): \t\t\toriginalElement: this.element,\n
Login.c(118): \t\t\t_proportionallyResizeElements: [],\n
Login.c(118): \t\t\t_helper: o.helper || o.ghost || o.animate ? o.helper ||
"ui-resizable-helper" : null
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Wrap the element if it cannot hold child nodes\n
Login.c(118): \t\tif (this.element[0].nodeName.match(/canvas|textarea|input|
select|button|img/i)) {\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.wrap(\n
Login.c(118): \t\t\t\t$("<div class='ui-wrapper' style='overflow:
hidden;'></div>").css({\n
Login.c(118): \t\t\t\t\tposition: this.element.css("position"),\n
Login.c(118): \t\t\t\t\twidth: this.element.outerWidth(),\n
Login.c(118): \t\t\t\t\theight: this.element.outerHeight(),\n
Login.c(118): \t\t\t\t\ttop: this.element.css("top"),\n
Login.c(118): \t\t\t\t\tleft: this.element.css("left")\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element = this.element.parent().data(\n
Login.c(118): \t\t\t\t"ui-resizable", this.element.resizable( "instance" )\n
Login.c(118): \t\t\t);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.elementIsWrapper = true;\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.css({\n
Login.c(118): \t\t\t\tmarginLeft: this.originalElement.css("marginLeft"),\n
Login.c(118): \t\t\t\tmarginTop: this.originalElement.css("marginTop"),\n
Login.c(118): \t\t\t\tmarginRight: this.originalElement.css("marginRight"),\n
Login.c(118): \t\t\t\tmarginBottom: this.originalElement.css("marginBottom")\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tthis.originalElement.css({\n
Login.c(118): \t\t\t\tmarginLeft: 0,\n
Login.c(118): \t\t\t\tmarginTop: 0,\n
Login.c(118): \t\t\t\tmarginRight: 0,\n
Login.c(118): \t\t\t\tmarginBottom: 0\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\t// support: Safari\n
Login.c(118): \t\t\t// Prevent Safari textarea resize\n
Login.c(118): \t\t\tthis.originalResizeStyle =
this.originalElement.css("resize");\n
Login.c(118): \t\t\tthis.originalElement.css("resize", "none");\n
Login.c(118): \n
Login.c(118):
\t\t\tthis._proportionallyResizeElements.push( this.originalElement.css({\n
Login.c(118): \t\t\t\tposition: "static",\n
Login.c(118): \t\t\t\tzoom: 1,\n
Login.c(118): \t\t\t\tdisplay: "block"\n
Login.c(118): \t\t\t}) );\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE9\n
Login.c(118): \t\t\t// avoid IE jump (hard set the marg
Login.c(118): t=6345ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): in)\n
Login.c(118): \t\t\tthis.originalElement.css({ margin:
this.originalElement.css("margin") });\n
Login.c(118): \n
Login.c(118): \t\t\tthis._proportionallyResize();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.handles = o.handles ||\n
Login.c(118): \t\t\t( !$(".ui-resizable-handle", this.element).length ?\n
Login.c(118): \t\t\t\t"e,s,se" : {\n
Login.c(118): \t\t\t\t\tn: ".ui-resizable-n",\n
Login.c(118): \t\t\t\t\te: ".ui-resizable-e",\n
Login.c(118): \t\t\t\t\ts: ".ui-resizable-s",\n
Login.c(118): \t\t\t\t\tw: ".ui-resizable-w",\n
Login.c(118): \t\t\t\t\tse: ".ui-resizable-se",\n
Login.c(118): \t\t\t\t\tsw: ".ui-resizable-sw",\n
Login.c(118): \t\t\t\t\tne: ".ui-resizable-ne",\n
Login.c(118): \t\t\t\t\tnw: ".ui-resizable-nw"\n
Login.c(118): \t\t\t\t} );\n
Login.c(118): \n
Login.c(118): \t\tif (this.handles.constructor === String) {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.handles === "all") {\n
Login.c(118): \t\t\t\tthis.handles = "n,e,s,w,se,sw,ne,nw";\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tn = this.handles.split(",");\n
Login.c(118): \t\t\tthis.handles = {};\n
Login.c(118): \n
Login.c(118): \t\t\tfor (i = 0; i < n.length; i++) {\n
Login.c(118): \n
Login.c(118): \t\t\t\thandle = $.trim(n[i]);\n
Login.c(118): \t\t\t\thname = "ui-resizable-" + handle;\n
Login.c(118): \t\t\t\taxis = $("<div class='ui-resizable-handle " + hname +
"'></div>");\n
Login.c(118): \n
Login.c(118): \t\t\t\taxis.css({ zIndex: o.zIndex });\n
Login.c(118): \n
Login.c(118): \t\t\t\t// TODO : What's going on here?\n
Login.c(118): \t\t\t\tif ("se" === handle) {\n
Login.c(118): \t\t\t\t\taxis.addClass("ui-icon ui-icon-gripsmall-diagonal-
se");\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.handles[handle] = ".ui-resizable-" + handle;\n
Login.c(118): \t\t\t\tthis.element.append(axis);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._renderAxis = function(target) {\n
Login.c(118): \n
Login.c(118): \t\t\tvar i, axis, padPos, padWrapper;\n
Login.c(118): \n
Login.c(118): \t\t\ttarget = target || this.element;\n
Login.c(118): \n
Login.c(118): \t\t\tfor (i in this.handles) {\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (this.handles[i].constructor === String) {\n
Login.c(118): \t\t\t\t\tthis.handles[i] =
this.element.children( this.handles[ i ] ).first().show();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (this.elementIsWrapper &&
this.originalElement[0].nodeName.match(/textarea|inpu
Login.c(118): t|select|button/i)) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\taxis = $(this.handles[i], this.element);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tpadWrapper = /sw|ne|nw|se|n|s/.test(i) ?
axis.outerHeight() : axis.outerWidth();
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t\t\t\tpadPos = [ "padding",\n
Login.c(118): \t\t\t\t\t\t/ne|nw|n/.test(i) ? "Top" :\n
Login.c(118): \t\t\t\t\t\t/se|sw|s/.test(i) ? "Bottom" :\n
Login.c(118): \t\t\t\t\t\t/^e$/.test(i) ? "Right" : "Left" ].join("");\n
Login.c(118): \n
Login.c(118): \t\t\t\t\ttarget.css(padPos, padWrapper);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis._proportionallyResize();\n
Login.c(118): \n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// TODO: What's that good for? There's not anything to be
executed left\n
Login.c(118): \t\t\t\tif (!$(this.handles[i]).length) {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t// TODO: make renderAxis a prototype function\n
Login.c(118): \t\tthis._renderAxis(this.element);\n
Login.c(118): \n
Login.c(118): \t\tthis._handles = $(".ui-resizable-handle", this.element)\n
Login.c(118): \t\t\t.disableSelection();\n
Login.c(118): \n
Login.c(118): \t\tthis._handles.mouseover(function() {\n
Login.c(118): \t\t\tif (!that.resizing) {\n
Login.c(118): \t\t\t\tif (this.className) {\n
Login.c(118): \t\t\t\t\taxis = this.className.match(/ui-resizable-(se|sw|ne|nw|
n|e|s|w)/i);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthat.axis = axis && axis[1] ? axis[1] : "se";\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif (o.autoHide) {\n
Login.c(118): \t\t\tthis._handles.hide();\n
Login.c(118): \t\t\t$(this.element)\n
Login.c(118): \t\t\t\t.addClass("ui-resizable-autohide")\n
Login.c(118): \t\t\t\t.mouseenter(function() {\n
Login.c(118): \t\t\t\t\tif (o.disabled) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t$(this).removeClass("ui-resizable-autohide");\n
Login.c(118): \t\t\t\t\tthat._handles.show();\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.mouseleave(function() {\n
Login.c(118): \t\t\t\t\tif (o.disabled) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tif (!that.resizing) {\n
Login.c(118): \t\t\t\t\t\t$(this).addClass("ui-resizable-autohide");\n
Login.c(118): \t\t\t\t\t\tthat._handles.hide();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \n
Login.c(118): \t\tvar wrapper,\n
Login.c(118): \t\t\t_destroy = function(exp) {\n
Login.c(118): \t\t\t\t$(exp)\n
Login.c(118): \t\t\t\t\t.removeClass("ui-resizable ui-resizable-disabled ui-
resizable-resizing")\n
Login.c(118): \t\t\t\t\t.removeData("resizable")\n
Login.c(118): \t\t\t\t\t.removeData("ui-resizable")\n
Login.c(118): \t\t\t\t\t.unbind(".resizable")\n
Login.c(118): \t\t\t\t\t.find(".ui-resizable-handle")\n
Login.c(118): \t\t\t\t\t\t.remove();\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t// TODO: Unwrap at same DOM position\n
Login.c(118): \t\tif (this.elementIsWrapper) {\n
Login.c(118): \t\t\t_destroy(this.element);\n
Login.c(118): \t\t\twrapper = this.element;\n
Login.c(118): \t\t\tthis.originalElement.css({\n
Login.c(118): \t\t\t\tposition: wrapper.css("position"),\n
Login.c(118): \t\t\t\twidth: wrapper.outerWidth(),\n
Login.c(118): \t\t\t\theight: wrapper.outerHeight(),\n
Login.c(118): \t\t\t\ttop: wrapper.css("top"),\n
Login.c(118): \t\t\t\tleft: wrapper.css("left")\n
Login.c(118): \t\t\t}).insertAfter( wrapper );\n
Login.c(118): \t\t\twrapper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.originalElement.css("resize",
this.originalResizeStyle);\n
Login.c(118): \t\t_destroy(this.originalElement);\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function(event) {\n
Login.c(118): \t\tvar i, handle,\n
Login.c(118): \t\t\tcapture = false;\n
Login.c(118): \n
Login.c(118): \t\tfor (i in this.handles) {\n
Login.c(118): \t\t\thandle = $(this.handles[i])[0];\n
Login.c(118): \t\t\tif (handle === event.target || $.contains(handle,
event.target)) {\n
Login.c(118): \t\t\t\tcapture = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn !this.options.disabled && capture;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar curleft, curtop, cursor,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tel = this.element;\n
Login.c(118): \n
Login.c(118): \t\tthis.resizing = true;\n
Login.c(118): \n
Login.c(118): \t\tthis._renderProxy();\n
Login.c(118): \n
Login.c(118): \t\tcurleft = this._num(this.helper.css("left"));\n
Login.c(118): \t\tcurtop = this._num(this.helper.css("top"));\n
Login.c(118): \n
Login.c(118): \t\tif (o.containment) {\n
Login.c(118): \t\t\tcurleft += $(o.containment).scrollLeft() || 0;\n
Login.c(118): \t\t\tcurtop += $(o.containment).scrollTop() || 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.offset = this.helper.offset();\n
Login.c(118): \t\tthis.position = { left: curleft, top: curtop };\n
Login.c(118): \n
Login.c(118): \t\tthis.size = this._helper ? {\n
Login.c(118): \t\t\t\twidth: this.helper.width(),\n
Login.c(118): \t\t\t\theight: this.helper.height()\n
Login.c(118): \t\t\t} : {\n
Login.c(118): \t\t\t\twidth: el.width(),\n
Login.c(118): \t\t\t\theight: el.height()\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.originalSize = this._helper ? {\n
Login.c(118): \t\t\t\twidth: el.outerWidth(),\n
Login.c(118): \t\t\t\theight: el.outerHeight()\n
Login.c(118): \t\t\t} : {\n
Login.c(118): \t\t\t\twidth: el.width(),\n
Login.c(118): \t\t\t\theight: el.height()\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.sizeDiff = {\n
Login.c(118): \t\t\twidth: el.outerWidth() - el.width(),\n
Login.c(118): \t\t\theight: el.outerHeight() - el.height()\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.originalPosition = { left: curleft, top: curtop };\n
Login.c(118): \t\tthis.originalMousePosition = { left: event.pageX, top:
event.pageY };\n
Login.c(118): \n
Login.c(118): \t\tthis.aspectRatio = (typeof o.aspectRatio === "number") ?\n
Login.c(118): \t\t\to.aspectRatio :\n
Login.c(118): \t\t\t((this.originalSize.width / this.originalSize.height) ||
1);\n
Login.c(118): \n
Login.c(118): \t\tcursor = $(".ui-resizable-" + this.axis).css("cursor");\n
Login.c(118): \t\t$("body").css("cursor", cursor === "auto" ? this.axis + "-
resize" : cursor);\n
Login.c(118): \n
Login.c(118): \t\tel.addClass("ui-resizable-resizing");\n
Login.c(118): \t\tthis._propagate("start", event);\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar data, props,\n
Login.c(118): \t\t\tsmp = this.originalMousePosition,\n
Login.c(118): \t\t\ta = this.axis,\n
Login.c(118): \t\t\tdx = (event.pageX - smp.left) || 0,\n
Login.c(118): \t\t\tdy = (event.pageY - smp.top) || 0,\n
Login.c(118): \t\t\ttrigger = this._change[a];\n
Login.c(118): \n
Login.c(118): \t\tthis._updatePrevProperties();\n
Login.c(118): \n
Login.c(118): \t\tif (!trigger) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdata = trigger.apply(this, [ event, dx, dy ]);\n
Login.c(118): \n
Login.c(118): \t\tthis._updateVirtualBoundaries(event.shiftKey);\n
Login.c(118): \t\tif (this._aspectRatio || event.shiftKey) {\n
Login.c(118): \t\t\tdata = this._updateRatio(data, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdata = this._respectSize(data, event);\n
Login.c(118): \n
Login.c(118): \t\tthis._updateCache(data);\n
Login.c(118): \n
Login.c(118): \t\tthis._propagate("resize", event);\n
Login.c(118): \n
Login.c(118): \t\tprops = this._applyChanges();\n
Login.c(118): \n
Login.c(118): \t\tif ( !this._helper &&
this._proportionallyResizeElements.length ) {\n
Login.c(118): \t\t\tthis._proportionallyResize();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !$.isEmptyObject( props ) ) {\n
Login.c(118): \t\t\tthis._updatePrevProperties();\n
Login.c(118): \t\t\tthis._trigger( "resize", event, this.ui() );\n
Login.c(118): \t\t\tthis._applyChanges();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tthis.resizing = false;\n
Login.c(118): \t\tvar pr, ista, soffseth, soffsetw, s, left, top,\n
Login.c(118): \t\t\to = this.options, that = this;\n
Login.c(118): \n
Login.c(118): \t\tif (this._helper) {\n
Login.c(118): \n
Login.c(118): \t\t\tpr = this._proportionallyResizeElements;\n
Login.c(118): \t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName);\n
Login.c(118): \t\t\tsoffseth = ista && this._hasScroll(pr[0], "left") ? 0 :
that.sizeDiff.height;\n
Login.c(118): \t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width;\n
Login.c(118): \n
Login.c(118): \t\t\ts = {\n
Login.c(118): \t\t\t\twidth: (that.helper.width() - soffsetw),\n
Login.c(118): \t\t\t\theight: (that.helper.height() - soffseth)\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tleft = (parseInt(that.element.css("left"), 10) +\n
Login.c(118): \t\t\t\t(that.position.left - that.originalPosition.left)) ||
null;\n
Login.c(118): \t\t\ttop = (parseInt(that.element.css("top"), 10) +\n
Login.c(118): \t\t\t\t(that.position.top - that.originalPosition.top)) ||
null;\n
Login.c(118): \n
Login.c(118): \t\t\tif (!o.animate) {\n
Login.c(118): \t\t\t\tthis.element.css($.extend(s, { top: top, left:
left }));\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthat.helper.height(that.size.height);\n
Login.c(118): \t\t\tthat.helper.width(that.size.width);\n
Login.c(118): \n
Login.c(118): \t\t\tif (this._helper && !o.animate) {\n
Login.c(118): \t\t\t\tthis._proportionallyResize();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$("body").css("cursor", "auto");\n
Login.c(118): \n
Login.c(118): \t\tthis.element.removeClass("ui-resizable-resizing");\n
Login.c(118): \n
Login.c(118): \t\tthis._propagate("stop", event);\n
Login.c(118): \n
Login.c(118): \t\tif (this._helper) {\n
Login.c(118): \t\t\tthis.helper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updatePrevProperties: function() {\n
Login.c(118): \t\tthis.prevPosition = {\n
Login.c(118): \t\t\ttop: this.position.top,\n
Login.c(118): \t\t\tleft: this.position.left\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.prevSize = {\n
Login.c(118): \t\t\twidth: this.size.width,\n
Login.c(118): \t\t\theight: this.size.height\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_applyChanges: function() {\n
Login.c(118): \t\tvar props = {};\n
Login.c(118): \n
Login.c(118): \t\tif ( this.position.top !== this.prevPosition.top ) {\n
Login.c(118): \t\t\tprops.top = this.position.top + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.position.left !== this.prevPosition.left ) {\n
Login.c(118): \t\t\tprops.left = this.position.left + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.size.width !== this.prevSize.width ) {\n
Login.c(118): \t\t\tprops.width = this.size.width + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.size.height !== this.prevSize.height ) {\n
Login.c(118): \t\t\tprops.height = this.size.height + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.css( props );\n
Login.c(118): \n
Login.c(118): \t\treturn props;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateVirtualBoundaries: function(forceAspectRatio) {\n
Login.c(118): \t\tvar pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\tb = {\n
Login.c(118): \t\t\tminWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,\n
Login.c(118): \t\t\tmaxWidth: this._isNumber(o.maxWidth) ? o.maxWidth :
Infinity,\n
Login.c(118): \t\t\tminHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,\n
Login.c(118): \t\t\tmaxHeight: this._isNumber(o.maxHeight) ? o.maxHeight :
Infinity\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tif (this._aspectRatio || forceAspectRatio) {\n
Login.c(118): \t\t\tpMinWidth = b.minHeight * this.aspectRatio;\n
Login.c(118): \t\t\tpMinHeight = b.minWidth / this.aspectRatio;\n
Login.c(118): \t\t\tpMaxWidth = b.maxHeight * this.aspectRatio;\n
Login.c(118): \t\t\tpMaxHeight = b.maxWidth / this.aspectRatio;\n
Login.c(118): \n
Login.c(118): \t\t\tif (pMinWidth > b.minWidth) {\n
Login.c(118): \t\t\t\tb.minWidth = pMinWidth;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (pMinHeight > b.minHeight) {\n
Login.c(118): \t\t\t\tb.minHeight = pMinHeight;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (pMaxWidth < b.maxWidth) {\n
Login.c(118): \t\t\t\tb.maxWidth = pMaxWidth;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (pMaxHeight < b.maxHeight) {\n
Login.c(118): \t\t\t\tb.maxHeight = pMaxHeight;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._vBoundaries = b;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateCache: function(data) {\n
Login.c(118): \t\tthis.offset = this.helper.offset();\n
Login.c(118): \t\tif (this._isNumber(data.left)) {\n
Login.c(118): \t\t\tthis.position.left = data.left;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this._isNumber(data.top)) {\n
Login.c(118): \t\t\tthis.position.top = data.top;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this._isNumber(data.height)) {\n
Login.c(118): \t\t\tthis.size.height = data.height;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this._isNumber(data.width)) {\n
Login.c(118): \t\t\tthis.size.width = data.width;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateRatio: function( data ) {\n
Login.c(118): \n
Login.c(118): \t\tvar cpos = this.position,\n
Login.c(118): \t\t\tcsize = this.size,\n
Login.c(118): \t\t\ta = this.axis;\n
Login.c(118): \n
Login.c(118): \t\tif (this._isNumber(data.height)) {\n
Login.c(118): \t\t\tdata.width = (data.height * this.aspectRatio);\n
Login.c(118): \t\t} else if (this._isNumber(data.width)) {\n
Login.c(118): \t\t\tdata.height = (data.width / this.aspectRatio);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (a === "sw") {\n
Login.c(118): \t\t\tdata.left = cpos.left + (csize.width - data.width);\n
Login.c(118): \t\t\tdata.top = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (a === "nw") {\n
Login.c(118): \t\t\tdata.top = cpos.top + (csize.height - data.height);\n
Login.c(118): \t\t\tdata.left = cpos.left + (csize.width - data.width);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn data;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_respectSize: function( data ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this._vBoundaries,\n
Login.c(118): \t\t\ta = this.axis,\n
Login.c(118): \t\t\tismaxw = this._isNumber(data.width) && o.maxWidth &&
(o.maxWidth < data.width),\n
Login.c(118): \t\t\tismaxh = this._isNumber(data.height) && o.maxHeight &&
(o.maxHeight < data.height),\n
Login.c(118): \t\t\tisminw = this._isNumber(data.width) && o.minWidth &&
(o.minWidth > data.width),\n
Login.c(118): \t\t\tisminh = this._isNumber(data.height) && o.minHeight &&
(o.minHeight > data.height),\n
Login.c(118): \t\t\tdw = this.originalPosition.left +
this.originalSize.width,\n
Login.c(118): \t\t\tdh = this.position.top + this.size.height,\n
Login.c(118): \t\t\tcw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);\n
Login.c(118): \t\tif (isminw) {\n
Login.c(118): \t\t\tdata.width = o.minWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isminh) {\n
Login.c(118): \t\t\tdata.height = o.minHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxw) {\n
Login.c(118): \t\t\tdata.width = o.maxWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxh) {\n
Login.c(118): \t\t\tdata.height = o.maxHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (isminw && cw) {\n
Login.c(118): \t\t\tdata.left = dw - o.minWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxw && cw) {\n
Login.c(118): \t\t\tdata.left = dw - o.maxWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isminh && ch) {\n
Login.c(118): \t\t\tdata.top = dh - o.minHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxh && ch) {\n
Login.c(118): \t\t\tdata.top = dh - o.maxHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Fixing jump error on top/left - bug #2330\n
Login.c(118): \t\tif (!data.width && !data.height && !data.left && data.top)
{\n
Login.c(118): \t\t\tdata.top = null;\n
Login.c(118): \t\t} else if (!data.width && !data.height && !data.top &&
data.left) {\n
Login.c(118): \t\t\tdata.left = null;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn data;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getPaddingPlusBorderDimensions: function( element ) {\n
Login.c(118): \t\tvar i = 0,\n
Login.c(118): \t\t\twidths = [],\n
Login.c(118): \t\t\tborders = [\n
Login.c(118): \t\t\t\telement.css( "borderTopWidth" ),\n
Login.c(118): \t\t\t\telement.css( "borderRightWidth" ),\n
Login.c(118): \t\t\t\telement.css( "borderBottomWidth" ),\n
Login.c(118): \t\t\t\telement.css( "borderLeftWidth" )\n
Login.c(118): \t\t\t],\n
Login.c(118): \t\t\tpaddings = [\n
Login.c(118): \t\t\t\telement.css( "paddingTop" ),\n
Login.c(118): \t\t\t\telement.css( "paddingRight" ),\n
Login.c(118): \t\t\t\telement.css( "paddingBottom" ),\n
Login.c(118): \t\t\t\telement.css( "paddingLeft" )\n
Login.c(118): \t\t\t];\n
Login.c(118): \n
Login.c(118): \t\tfor ( ; i < 4; i++ ) {\n
Login.c(118): \t\t\twidths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 );\n
Login.c(118): \t\t\twidths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\theight: widths[ 0 ] + widths[ 2 ],\n
Login.c(118): \t\t\twidth: widths[ 1 ] + widths[ 3 ]\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_proportionallyResize: function() {\n
Login.c(118): \n
Login.c(118): \t\tif (!this._proportionallyResizeElements.length) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar prel,\n
Login.c(118): \t\t\ti = 0,\n
Login.c(118): \t\t\telement = this.helper || this.element;\n
Login.c(118): \n
Login.c(118): \t\tfor ( ; i < this._proportionallyResizeElements.length; i++)
{\n
Login.c(118): \n
Login.c(118): \t\t\tprel = this._proportionallyResizeElements[i];\n
Login.c(118): \n
Login.c(118): \t\t\t// TODO: Seems like a bug to cache this.outerDimensions\n
Login.c(118): \t\t\t// considering th
Login.c(118): t=6372ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): at we are in a loop.\n
Login.c(118): \t\t\tif (!this.outerDimensions) {\n
Login.c(118): \t\t\t\tthis.outerDimensions =
this._getPaddingPlusBorderDimensions( prel );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tprel.css({\n
Login.c(118): \t\t\t\theight: (element.height() - this.outerDimensions.height)
|| 0,\n
Login.c(118): \t\t\t\twidth: (element.width() - this.outerDimensions.width) ||
0\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderProxy: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar el = this.element, o = this.options;\n
Login.c(118): \t\tthis.elementOffset = el.offset();\n
Login.c(118): \n
Login.c(118): \t\tif (this._helper) {\n
Login.c(118): \n
Login.c(118): \t\t\tthis.helper = this.helper || $("<div
style='overflow:hidden;'></div>");\n
Login.c(118): \n
Login.c(118): \t\t\tthis.helper.addClass(this._helper).css({\n
Login.c(118): \t\t\t\twidth: this.element.outerWidth() - 1,\n
Login.c(118): \t\t\t\theight: this.element.outerHeight() - 1,\n
Login.c(118): \t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\tleft: this.elementOffset.left + "px",\n
Login.c(118): \t\t\t\ttop: this.elementOffset.top + "px",\n
Login.c(118): \t\t\t\tzIndex: ++o.zIndex //TODO: Don't modify option\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.helper\n
Login.c(118): \t\t\t\t.appendTo("body")\n
Login.c(118): \t\t\t\t.disableSelection();\n
Login.c(118): \n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.helper = this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_change: {\n
Login.c(118): \t\te: function(event, dx) {\n
Login.c(118): \t\t\treturn { width: this.originalSize.width + dx };\n
Login.c(118): \t\t},\n
Login.c(118): \t\tw: function(event, dx) {\n
Login.c(118): \t\t\tvar cs = this.originalSize, sp = this.originalPosition;\n
Login.c(118): \t\t\treturn { left: sp.left + dx, width: cs.width - dx };\n
Login.c(118): \t\t},\n
Login.c(118): \t\tn: function(event, dx, dy) {\n
Login.c(118): \t\t\tvar cs = this.originalSize, sp = this.originalPosition;\n
Login.c(118): \t\t\treturn { top: sp.top + dy, height: cs.height - dy };\n
Login.c(118): \t\t},\n
Login.c(118): \t\ts: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn { height: this.originalSize.height + dy };\n
Login.c(118): \t\t},\n
Login.c(118): \t\tse: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.s.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t},\n
Login.c(118): \t\tsw: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.s.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t},\n
Login.c(118): \t\tne: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.n.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t},\n
Login.c(118): \t\tnw: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.n.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_propagate: function(n, event) {\n
Login.c(118): \t\t$.ui.plugin.call(this, n, [ event, this.ui() ]);\n
Login.c(118): \t\t(n !== "resize" && this._trigger(n, event, this.ui()));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tplugins: {},\n
Login.c(118): \n
Login.c(118): \tui: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\toriginalElement: this.originalElement,\n
Login.c(118): \t\t\telement: this.element,\n
Login.c(118): \t\t\thelper: this.helper,\n
Login.c(118): \t\t\tposition: this.position,\n
Login.c(118): \t\t\tsize: this.size,\n
Login.c(118): \t\t\toriginalSize: this.originalSize,\n
Login.c(118): \t\t\toriginalPosition: this.originalPosition\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): * Resizable Extensions\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "animate", {\n
Login.c(118): \n
Login.c(118): \tstop: function( event ) {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tpr = that._proportionallyResizeElements,\n
Login.c(118): \t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName),\n
Login.c(118): \t\t\tsoffseth = ista && that._hasScroll(pr[0], "left") ? 0 :
that.sizeDiff.height,\n
Login.c(118): \t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width,\n
Login.c(118): \t\t\tstyle = { width: (that.size.width - soffsetw), height:
(that.size.height - soffseth)
Login.c(118): },\n
Login.c(118): \t\t\tleft = (parseInt(that.element.css("left"), 10) +\n
Login.c(118): \t\t\t\t(that.position.left - that.originalPosition.left)) ||
null,\n
Login.c(118): \t\t\ttop = (parseInt(that.element.css("top"), 10) +\n
Login.c(118): \t\t\t\t(that.position.top - that.originalPosition.top)) ||
null;\n
Login.c(118): \n
Login.c(118): \t\tthat.element.animate(\n
Login.c(118): \t\t\t$.extend(style, top && left ? { top: top, left: left } :
{}), {\n
Login.c(118): \t\t\t\tduration: o.animateDuration,\n
Login.c(118): \t\t\t\teasing: o.animateEasing,\n
Login.c(118): \t\t\t\tstep: function() {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tvar data = {\n
Login.c(118): \t\t\t\t\t\twidth: parseInt(that.element.css("width"), 10),\n
Login.c(118): \t\t\t\t\t\theight: parseInt(that.element.css("height"), 10),\n
Login.c(118): \t\t\t\t\t\ttop: parseInt(that.element.css("top"), 10),\n
Login.c(118): \t\t\t\t\t\tleft: parseInt(that.element.css("left"), 10)\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif (pr && pr.length) {\n
Login.c(118): \t\t\t\t\t\t$(pr[0]).css({ width: data.width, height: data.height
});\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// propagating resize, and updating values for each
animation step\n
Login.c(118): \t\t\t\t\tthat._updateCache(data);\n
Login.c(118): \t\t\t\t\tthat._propagate("resize", event);\n
Login.c(118): \n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t);\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add( "resizable", "containment", {\n
Login.c(118): \n
Login.c(118): \tstart: function() {\n
Login.c(118): \t\tvar element, p, co, ch, cw, width, height,\n
Login.c(118): \t\t\tthat = $( this ).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tel = that.element,\n
Login.c(118): \t\t\toc = o.containment,\n
Login.c(118): \t\t\tce = ( oc instanceof $ ) ? oc.get( 0 ) : (
/parent/.test( oc ) ) ? el.parent().get(
Login.c(118): 0 ) : oc;\n
Login.c(118): \n
Login.c(118): \t\tif ( !ce ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthat.containerElement = $( ce );\n
Login.c(118): \n
Login.c(118): \t\tif ( /document/.test( oc ) || oc === document ) {\n
Login.c(118): \t\t\tthat.containerOffset = {\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tthat.containerPosition = {\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\tthat.parentData = {\n
Login.c(118): \t\t\t\telement: $( document ),\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0,\n
Login.c(118): \t\t\t\twidth: $( document ).width(),\n
Login.c(118): \t\t\t\theight: $( document ).height() ||
document.body.parentNode.scrollHeight\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement = $( ce );\n
Login.c(118): \t\t\tp = [];\n
Login.c(118): \t\t\t$([ "Top", "Right", "Left", "Bottom" ]).each(function( i,
name ) {\n
Login.c(118): \t\t\t\tp[ i ] = that._num( element.css( "padding" + name ) );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthat.containerOffset = element.offset();\n
Login.c(118): \t\t\tthat.containerPosition = element.position();\n
Login.c(118): \t\t\tthat.containerSize = {\n
Login.c(118): \t\t\t\theight: ( element.innerHeight() - p[ 3 ] ),\n
Login.c(118): \t\t\t\twidth: ( element.innerWidth() - p[ 1 ] )\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\tco = that.containerOffset;\n
Login.c(118): \t\t\tch = that.containerSize.height;\n
Login.c(118): \t\t\tcw = that.containerSize.width;\n
Login.c(118): \t\t\twidth = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth :
cw );\n
Login.c(118): \t\t\theight = ( that._hasScroll ( ce ) ? ce.scrollHeight :
ch ) ;\n
Login.c(118): \n
Login.c(118): \t\t\tthat.parentData = {\n
Login.c(118): \t\t\t\telement: ce,\n
Login.c(118): \t\t\t\tleft: co.left,\n
Login.c(118): \t\t\t\ttop: co.top,\n
Login.c(118): \t\t\t\twidth: width,\n
Login.c(118): \t\t\t\theight: height\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresize: function( event ) {\n
Login.c(118): \t\tvar woset, hoset, isParent, isOffsetRelative,\n
Login.c(118): \t\t\tthat = $( this ).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tco = that.containerOffset,\n
Login.c(118): \t\t\tcp = that.position,\n
Login.c(118): \t\t\tpRatio = that._aspectRatio || event.shiftKey,\n
Login.c(118): \t\t\tcop = {\n
Login.c(118): \t\t\t\ttop: 0,\n
Login.c(118): \t\t\t\tleft: 0\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tce = that.containerElement,\n
Login.c(118): \t\t\tcontinueResize = true;\n
Login.c(118): \n
Login.c(118): \t\tif ( ce[ 0 ] !== document && (
/static/ ).test( ce.css( "position" ) ) ) {\n
Login.c(118): \t\t\tcop = co;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( cp.left < ( that._helper ? co.left : 0 ) ) {\n
Login.c(118): \t\t\tthat.size.width = that.size.width +\n
Login.c(118): \t\t\t\t( that._helper ?\n
Login.c(118): \t\t\t\t\t( that.position.left - co.left ) :\n
Login.c(118): \t\t\t\t\t( that.position.left - cop.left ) );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthat.position.left = o.helper ? co.left : 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( cp.top < ( that._helper ? co.top : 0 ) ) {\n
Login.c(118): \t\t\tthat.size.height = that.size.height +\n
Login.c(118): \t\t\t\t( that._helper ?\n
Login.c(118): \t\t\t\t\t( that.position.top - co.top ) :\n
Login.c(118): \t\t\t\t\tthat.position.top );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthat.position.top = that._helper ? co.top : 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tisParent = that.containerElement.get( 0 ) ===
that.element.parent().get( 0 );\n
Login.c(118): \t\tisOffsetRelative = /relative|
absolute/.test( that.containerElement.css( "position" ) )
Login.c(118): ;\n
Login.c(118): \n
Login.c(118): \t\tif ( isParent && isOffsetRelative ) {\n
Login.c(118): \t\t\tthat.offset.left = that.parentData.left +
that.position.left;\n
Login.c(118): \t\t\tthat.offset.top = that.parentData.top +
that.position.top;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthat.offset.left = that.element.offset().left;\n
Login.c(118): \t\t\tthat.offset.top = that.element.offset().top;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\twoset = Math.abs( that.sizeDiff.width +\n
Login.c(118): \t\t\t(that._helper ?\n
Login.c(118): \t\t\t\tthat.offset.left - cop.left :\n
Login.c(118): \t\t\t\t(that.offset.left - co.left)) );\n
Login.c(118): \n
Login.c(118): \t\thoset = Math.abs( that.sizeDiff.height +\n
Login.c(118): \t\t\t(that._helper ?\n
Login.c(118): \t\t\t\tthat.offset.top - cop.top :\n
Login.c(118): \t\t\t\t(that.offset.top - co.top)) );\n
Login.c(118): \n
Login.c(118): \t\tif ( woset + that.size.width >= that.parentData.width ) {\n
Login.c(118): \t\t\tthat.size.width = that.parentData.width - woset;\n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( hoset + that.size.height >= that.parentData.height ) {\n
Login.c(118): \t\t\tthat.size.height = that.parentData.height - hoset;\n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !continueResize ){\n
Login.c(118): \t\t\tthat.position.left = that.prevPosition.left;\n
Login.c(118): \t\t\tthat.position.top = that.prevPosition.top;\n
Login.c(118): \t\t\tthat.size.width = that.prevSize.width;\n
Login.c(118): \t\t\tthat.size.height = that.prevSize.height;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstop: function() {\n
Login.c(118): \t\tvar that = $( this ).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tco = that.containerOffset,\n
Login.c(118): \t\t\tcop = that.containerPosition,\n
Login.c(118): \t\t\tce = that.containerElement,\n
Login.c(118): \t\t\thelper = $( that.helper ),\n
Login.c(118): \t\t\tho = helper.offset(),\n
Login.c(118): \t\t\tw = helper.outerWidth() - that.sizeDiff.width,\n
Login.c(118): \t\t\th = helper.outerHeight() - that.sizeDiff.height;\n
Login.c(118): \n
Login.c(118): \t\tif ( that._helper && !o.animate && (
/relative/ ).test( ce.css( "position" ) ) ) {\n
Login.c(118): \t\t\t$( this ).css({\n
Login.c(118): \t\t\t\tleft: ho.left - cop.left - co.left,\n
Login.c(118): \t\t\t\twidth: w,\n
Login.c(118): \t\t\t\theight: h\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( that._helper && !o.animate && ( /static/ ).test( ce.css(
"position" ) ) ) {\n
Login.c(118): \t\t\t$( this ).css({\n
Login.c(118): \t\t\t\tleft: ho.left - cop.left - co.left,\n
Login.c(118): \t\t\t\twidth: w,\n
Login.c(118): \t\t\t\theight: h\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "alsoResize", {\n
Login.c(118): \n
Login.c(118): \tstart: function() {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\t_store = function(exp) {\n
Login.c(118): \t\t\t\t$(exp).each(function() {\n
Login.c(118): \t\t\t\t\tvar el = $(this);\n
Login.c(118): \t\t\t\t\tel.data("ui-resizable-alsoresize", {\n
Login.c(118): \t\t\t\t\t\twidth: parseInt(el.width(), 10), height:
parseInt(el.height(), 10),\n
Login.c(118): \t\t\t\t\t\tleft: parseInt(el.css("left"), 10), top:
parseInt(el.css("top"), 10)\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tif (typeof(o.alsoResize) === "object" && !
o.alsoResize.parentNode) {\n
Login.c(118): \t\t\tif (o.alsoResize.length) {\n
Login.c(118): \t\t\t\to.alsoResize = o.alsoResize[0];\n
Login.c(118): \t\t\t\t_store(o.alsoResize);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$.each(o.alsoResize, function(exp) {\n
Login.c(118): \t\t\t\t\t_store(exp);\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t_store(o.alsoResize);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresize: function(event, ui) {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tos = that.originalSize,\n
Login.c(118): \t\t\top = that.originalPosition,\n
Login.c(118): \t\t\tdelta = {\n
Login.c(118): \t\t\t\theight: (that.size.height - os.height) || 0,\n
Login.c(118): \t\t\t\twidth: (that.size.width - os.width) || 0,\n
Login.c(118): \t\t\t\ttop: (that.position.top - op.top) || 0,\n
Login.c(118): \t\t\t\tleft: (that.position.left - op.left) || 0\n
Login.c(118): \t\t\t},\n
Login.c(118): \n
Login.c(118): \t\t\t_alsoResize = function(exp, c) {\n
Login.c(118): \t\t\t\t$(exp).each(function() {\n
Login.c(118): \t\t\t\t\tvar el = $(this), start = $(this).data("ui-resizable-
alsoresize"), style = {},\n
Login.c(118): \t\t\t\t\t\tcss = c && c.length ?\n
Login.c(118): \t\t\t\t\t\t\tc :\n
Login.c(118): \t\t\t\t\t\t\tel.parents(ui.originalElement[0]).length ?\n
Login.c(118): \t\t\t\t\t\t\t\t[ "width", "height" ] :\n
Login.c(118): \t\t\t\t\t\t\t\t[ "width", "height", "top", "left" ];\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t$.each(css, function(i, prop) {\n
Login.c(118): \t\t\t\t\t\tvar sum = (start[prop] || 0) + (delta[prop] || 0);\n
Login.c(118): \t\t\t\t\t\tif (sum && sum >= 0) {\n
Login.c(118): \t\t\t\t\t\t\tstyle[prop] = sum || null;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tel.css(style);\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tif (typeof(o.alsoResize) === "object" && !
o.alsoResize.nodeType) {\n
Login.c(118): \t\t\t$.each(o.alsoResize, function(exp, c) {\n
Login.c(118): \t\t\t\t_alsoResize(exp, c);\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t_alsoResize(o.alsoResize);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstop: function() {\n
Login.c(118): \t\t$(this).removeData("resizable-alsoresize");\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "ghost", {\n
Login.c(118): \n
Login.c(118): \tstart: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ), o = that.options,
cs = that.size;\n
Login.c(118): \n
Login.c(118): \t\tthat.ghost = that.originalElement.clone();\n
Login.c(118): \t\tthat.ghost\n
Login.c(118): \t\t\t.css({\n
Login.c(118): \t\t\t\topacity: 0.25,\n
Login.c(118): \t\t\t\tdisplay: "block",\n
Login.c(118): \t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\theight: cs.height,\n
Login.c(118): \t\t\t\twidth: cs.width,\n
Login.c(118): \t\t\t\tmargin: 0,\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass("ui-resizable-ghost")\n
Login.c(118): \t\t\t.addClass(typeof o.ghost === "string" ? o.ghost : "");\n
Login.c(118): \n
Login.c(118): \t\tthat.ghost.appendTo(that.helper);\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresize: function() {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" );\n
Login.c(118): \t\tif (that.ghost) {\n
Login.c(118): \t\t\tthat.ghost.css({\n
Login.c(118): \t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\theight: that.size.height,\n
Login.c(118): \t\t\t\twidth: that.size.width\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstop: function() {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" );\n
Login.c(118): \t\tif (that.ghost && that.helper) {\n
Login.c(118): \t\t\tthat.helper.get(0).removeChild(that.ghost.get(0));\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "grid", {\n
Login.c(118): \n
Login.c(118): \tresize: function() {\n
Login.c(118): \t\tvar outerDimensions,\n
Login.c(118): \t\t\tthat = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tcs = that.size,\n
Login.c(118): \t\t\tos = that.originalSize,\n
Login.c(118): \t\t\top = that.originalPosition,\n
Login.c(118): \t\t\ta = that.axis,\n
Login.c(118): \t\t\tgrid = typeof o.grid === "number" ? [ o.grid, o.grid ] :
o.grid,\n
Login.c(118): \t\t\tgridX = (grid[0] || 1),\n
Login.c(118): \t\t\tgridY = (grid[1] || 1),\n
Login.c(118): \t\t\tox = Math.round((cs.width - os.width) / gridX) * gridX,\n
Login.c(118): \t\t\toy = Math.round((cs.height - os.height) / gridY) * gridY,\n
Login.c(118): \t\t\tnewWidth = os.width + ox,\n
Login.c(118): \t\t\tnewHeight = os.height + oy,\n
Login.c(118): \t\t\tisMaxWidth = o.maxWidth && (o.maxWidth < newWidth),\n
Login.c(118): \t\t\tisMaxHeight = o.maxHeight && (o.maxHeight < newHeight),\n
Login.c(118): \t\t\tisMinWidth = o.minWidth && (o.minWidth > newWidth),\n
Login.c(118): \t\t\tisMinHeight = o.minHeight && (o.minHeight > newHeight);\n
Login.c(118): \n
Login.c(118): \t\to.grid = grid;\n
Login.c(118): \n
Login.c(118): \t\tif (isMinWidth) {\n
Login.c(118): \t\t\tnewWidth += gridX;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isMinHeight) {\n
Login.c(118): \t\t\tnewHeight += gridY;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isMaxWidth) {\n
Login.c(118): \t\t\tnewWidth -= gridX;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isMaxHeight) {\n
Login.c(118): \t\t\tne
Login.c(118): t=6747ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): wHeight -= gridY;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (/^(se|s|e)$/.test(a)) {\n
Login.c(118): \t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t} else if (/^(ne)$/.test(a)) {\n
Login.c(118): \t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\tthat.position.top = op.top - oy;\n
Login.c(118): \t\t} else if (/^(sw)$/.test(a)) {\n
Login.c(118): \t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\tthat.position.left = op.left - ox;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif ( newHeight - gridY <= 0 || newWidth - gridX <= 0) {\n
Login.c(118): \t\t\t\touterDimensions =
that._getPaddingPlusBorderDimensions( this );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( newHeight - gridY > 0 ) {\n
Login.c(118): \t\t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\t\tthat.position.top = op.top - oy;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tnewHeight = gridY - outerDimensions.height;\n
Login.c(118): \t\t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\t\tthat.position.top = op.top + os.height - newHeight;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( newWidth - gridX > 0 ) {\n
Login.c(118): \t\t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\t\tthat.position.left = op.left - ox;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tnewWidth = gridY - outerDimensions.height;\n
Login.c(118): \t\t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\t\tthat.position.left = op.left + os.width - newWidth;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var resizable = $.ui.resizable;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Dialog 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/dialog/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var dialog = $.widget( "ui.dialog", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: "body",\n
Login.c(118): \t\tautoOpen: true,\n
Login.c(118): \t\tbuttons: [],\n
Login.c(118): \t\tcloseOnEscape: true,\n
Login.c(118): \t\tcloseText: "Close",\n
Login.c(118): \t\tdialogClass: "",\n
Login.c(118): \t\tdraggable: true,\n
Login.c(118): \t\thide: null,\n
Login.c(118): \t\theight: "auto",\n
Login.c(118): \t\tmaxHeight: null,\n
Login.c(118): \t\tmaxWidth: null,\n
Login.c(118): \t\tminHeight: 150,\n
Login.c(118): \t\tminWidth: 150,\n
Login.c(118): \t\tmodal: false,\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "center",\n
Login.c(118): \t\t\tat: "center",\n
Login.c(118): \t\t\tof: window,\n
Login.c(118): \t\t\tcollision: "fit",\n
Login.c(118): \t\t\t// Ensure the titlebar is always visible\n
Login.c(118): \t\t\tusing: function( pos ) {\n
Login.c(118): \t\t\t\tvar topOffset = $( this ).css( pos ).offset().top;\n
Login.c(118): \t\t\t\tif ( topOffset < 0 ) {\n
Login.c(118): \t\t\t\t\t$( this ).css( "top", pos.top - topOffset );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\tresizable: true,\n
Login.c(118): \t\tshow: null,\n
Login.c(118): \t\ttitle: null,\n
Login.c(118): \t\twidth: 300,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tbeforeClose: null,\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\tdrag: null,\n
Login.c(118): \t\tdragStart: null,\n
Login.c(118): \t\tdragStop: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\topen: null,\n
Login.c(118): \t\tresize: null,\n
Login.c(118): \t\tresizeStart: null,\n
Login.c(118): \t\tresizeStop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsizeRelatedOptions: {\n
Login.c(118): \t\tbuttons: true,\n
Login.c(118): \t\theight: true,\n
Login.c(118): \t\tmaxHeight: true,\n
Login.c(118): \t\tmaxWidth: true,\n
Login.c(118): \t\tminHeight: true,\n
Login.c(118): \t\tminWidth: true,\n
Login.c(118): \t\twidth: true\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresizableRelatedOptions: {\n
Login.c(118): \t\tmaxHeight: true,\n
Login.c(118): \t\tmaxWidth: true,\n
Login.c(118): \t\tminHeight: true,\n
Login.c(118): \t\tminWidth: true\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.originalCss = {\n
Login.c(118): \t\t\tdisplay: this.element[ 0 ].style.display,\n
Login.c(118): \t\t\twidth: this.element[ 0 ].style.width,\n
Login.c(118): \t\t\tminHeight: this.element[ 0 ].style.minHeight,\n
Login.c(118): \t\t\tmaxHeight: this.element[ 0 ].style.maxHeight,\n
Login.c(118): \t\t\theight: this.element[ 0 ].style.height\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.originalPosition = {\n
Login.c(118): \t\t\tparent: this.element.parent(),\n
Login.c(118): \t\t\tindex: this.element.parent().children().index( this.element
)\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.originalTitle = this.element.attr( "title" );\n
Login.c(118): \t\tthis.options.title = this.options.title ||
this.originalTitle;\n
Login.c(118): \n
Login.c(118): \t\tthis._createWrapper();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.show()\n
Login.c(118): \t\t\t.removeAttr( "title" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-content ui-widget-content" )\n
Login.c(118): \t\t\t.appendTo( this.uiDialog );\n
Login.c(118): \n
Login.c(118): \t\tthis._createTitlebar();\n
Login.c(118): \t\tthis._createButtonPane();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.draggable && $.fn.draggable ) {\n
Login.c(118): \t\t\tthis._makeDraggable();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.options.resizable && $.fn.resizable ) {\n
Login.c(118): \t\t\tthis._makeResizable();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._isOpen = false;\n
Login.c(118): \n
Login.c(118): \t\tthis._trackFocus();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_init: function() {\n
Login.c(118): \t\tif ( this.options.autoOpen ) {\n
Login.c(118): \t\t\tthis.open();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_appendTo: function() {\n
Login.c(118): \t\tvar element = this.options.appendTo;\n
Login.c(118): \t\tif ( element && (element.jquery || element.nodeType) ) {\n
Login.c(118): \t\t\treturn $( element );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this.document.find( element || "body" ).eq( 0 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar next,\n
Login.c(118): \t\t\toriginalPosition = this.originalPosition;\n
Login.c(118): \n
Login.c(118): \t\tthis._destroyOverlay();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeUniqueId()\n
Login.c(118): \t\t\t.removeClass( "ui-dialog-content ui-widget-content" )\n
Login.c(118): \t\t\t.css( this.originalCss )\n
Login.c(118): \t\t\t// Without detaching first, the following becomes really
slow\n
Login.c(118): \t\t\t.detach();\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.stop( true, true ).remove();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.originalTitle ) {\n
Login.c(118): \t\t\tthis.element.attr( "title", this.originalTitle );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnext =
originalPosition.parent.children().eq( originalPosition.index );\n
Login.c(118): \t\t// Don't try to place the dialog next to itself (#8613)\n
Login.c(118): \t\tif ( next.length && next[ 0 ] !== this.element[ 0 ] ) {\n
Login.c(118): \t\t\tnext.before( this.element );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\toriginalPosition.parent.append( this.element );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.uiDialog;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tdisable: $.noop,\n
Login.c(118): \tenable: $.noop,\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tvar activeElement,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \n
Login.c(118): \t\tif ( !this._isOpen || this._trigger( "beforeClose", event )
=== false ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._isOpen = false;\n
Login.c(118): \t\tthis._focusedElement = null;\n
Login.c(118): \t\tthis._destroyOverlay();\n
Login.c(118): \t\tthis._untrackInstance();\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.opener.filter( ":focusable" ).focus().length ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE9\n
Login.c(118): \t\t\t// IE9 throws an "Unspecified error" accessing
document.activeElement from an <ifram
Login.c(118): e>\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tactiveElement = this.document[ 0 ].activeElement;\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Support: IE9, IE10\n
Login.c(118): \t\t\t\t// If the <body> is blurred, IE will switch windows, see
#4520\n
Login.c(118): \t\t\t\tif ( activeElement &&
activeElement.nodeName.toLowerCase() !== "body" ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Hiding a focused element doesn't trigger blur in
WebKit\n
Login.c(118): \t\t\t\t\t// so in case we have nothing to focus on, explicitly
blur the active element\n
Login.c(118): \t\t\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=47182\n
Login.c(118): \t\t\t\t\t$( activeElement ).blur();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} catch ( error ) {}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._hide( this.uiDialog, this.options.hide, function() {\n
Login.c(118): \t\t\tthat._trigger( "close", event );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisOpen: function() {\n
Login.c(118): \t\treturn this._isOpen;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tmoveToTop: function() {\n
Login.c(118): \t\tthis._moveToTop();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_moveToTop: function( event, silent ) {\n
Login.c(118): \t\tvar moved = false,\n
Login.c(118): \t\t\tzIndicies = this.uiDialog.siblings( ".ui-
front:visible" ).map(function() {\n
Login.c(118): \t\t\t\treturn +$( this ).css( "z-index" );\n
Login.c(118): \t\t\t}).get(),\n
Login.c(118): \t\t\tzIndexMax = Math.max.apply( null, zIndicies );\n
Login.c(118): \n
Login.c(118): \t\tif ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) {\n
Login.c(118): \t\t\tthis.uiDialog.css( "z-index", zIndexMax + 1 );\n
Login.c(118): \t\t\tmoved = true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( moved && !silent ) {\n
Login.c(118): \t\t\tthis._trigger( "focus", event );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn moved;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \topen: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \t\tif ( this._isOpen ) {\n
Login.c(118): \t\t\tif ( this._moveToTop() ) {\n
Login.c(118): \t\t\t\tthis._focusTabbable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._isOpen = true;\n
Login.c(118): \t\tthis.opener = $( this.document[ 0 ].activeElement );\n
Login.c(118): \n
Login.c(118): \t\tthis._size();\n
Login.c(118): \t\tthis._position();\n
Login.c(118): \t\tthis._createOverlay();\n
Login.c(118): \t\tthis._moveToTop( null, true );\n
Login.c(118): \n
Login.c(118): \t\t// Ensure the overlay is moved to the top with the dialog,
but only when\n
Login.c(118): \t\t// opening. The overlay shouldn't move after the dialog is
open so that\n
Login.c(118): \t\t// modeless dialogs opened after the modal dialog stack
properly.\n
Login.c(118): \t\tif ( this.overlay ) {\n
Login.c(118): \t\t\tthis.overlay.css( "z-index", this.uiDialog.css( "z-index" )
- 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._show( this.uiDialog, this.options.show, function() {\n
Login.c(118): \t\t\tthat._focusTabbable();\n
Login.c(118): \t\t\tthat._trigger( "focus" );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Track the dialog immediately upon openening in case a
focus event\n
Login.c(118): \t\t// somehow occurs outside of the dialog before an element
inside the\n
Login.c(118): \t\t// dialog is focused (#10152)\n
Login.c(118): \t\tthis._makeFocusTarget();\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "open" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_focusTabbable: function() {\n
Login.c(118): \t\t// Set focus to the first match:\n
Login.c(118): \t\t// 1. An element that was focused previously\n
Login.c(118): \t\t// 2. First element inside the dialog matching [autofocus]\n
Login.c(118): \t\t// 3. Tabbable element inside the content element\n
Login.c(118): \t\t// 4. Tabbable element inside the buttonpane\n
Login.c(118): \t\t// 5. The close button\n
Login.c(118): \t\t// 6. The dialog itself\n
Login.c(118): \t\tvar hasFocus = this._focusedElement;\n
Login.c(118): \t\tif ( !hasFocus ) {\n
Login.c(118): \t\t\thasFocus = this.element.find( "[autofocus]" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus = this.element.find( ":tabbable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus = this.uiDialogButtonPane.find( ":tabbable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus =
this.uiDialogTitlebarClose.filter( ":tabbable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus = this.uiDialog;\n
Login.c(118): \t\t}\n
Login.c(118): \t\thasFocus.eq( 0 ).focus();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keepFocus: function( event ) {\n
Login.c(118): \t\tfunction checkFocus() {\n
Login.c(118): \t\t\tvar activeElement = this.document[0].activeElement,\n
Login.c(118): \t\t\t\tisActive = this.uiDialog[0] === activeElement ||\n
Login.c(118): \t\t\t\t\t$.contains( this.uiDialog[0], activeElement );\n
Login.c(118): \t\t\tif ( !isActive ) {\n
Login.c(118): \t\t\t\tthis._focusTabbable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \t\tcheckFocus.call( this );\n
Login.c(118): \t\t// support: IE\n
Login.c(118): \t\t// IE <= 8 doesn't prevent moving focus even with
event.preventDefault()\n
Login.c(118): \t\t// so we check again later\n
Login.c(118): \t\tthis._delay( checkFocus );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createWrapper: function() {\n
Login.c(118): \t\tthis.uiDialog = $("<div>")\n
Login.c(118): \t\t\t.addClass( "ui-dialog ui-widget ui-widget-content ui-
corner-all ui-front " +\n
Login.c(118): \t\t\t\tthis.options.dialogClass )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t// Setting tabIndex makes the div focusable\n
Login.c(118): \t\t\t\ttabIndex: -1,\n
Login.c(118): \t\t\t\trole: "dialog"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.appendTo( this._appendTo() );\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.uiDialog, {\n
Login.c(118): \t\t\tkeydown: function( event ) {\n
Login.c(118): \t\t\t\tif ( this.options.closeOnEscape && !
event.isDefaultPrevented() && event.keyCode &&
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tevent.keyCode === $.ui.keyCode.ESCAPE ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// prevent tabbing out of dialogs\n
Login.c(118): \t\t\t\tif ( event.keyCode !== $.ui.keyCode.TAB ||
event.isDefaultPrevented() ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tvar tabbables = this.uiDialog.find( ":tabbable" ),\n
Login.c(118): \t\t\t\t\tfirst = tabbables.filter( ":first" ),\n
Login.c(118): \t\t\t\t\tlast = tabbables.filter( ":last" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( ( event.target === last[0] || event.target ===
this.uiDialog[0] ) && !event.s
Login.c(118): hiftKey ) {\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tfirst.focus();\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t} else if ( ( event.target === first[0] || event.target
=== this.uiDialog[0] ) &&
Login.c(118): event.shiftKey ) {\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tlast.focus();\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmousedown: function( event ) {\n
Login.c(118): \t\t\t\tif ( this._moveToTop( event ) ) {\n
Login.c(118): \t\t\t\t\tthis._focusTabbable();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// We assume that any existing aria-describedby attribute
means\n
Login.c(118): \t\t// that the dialog content is marked up properly\n
Login.c(118): \t\t// otherwise we brute force the content as the description\n
Login.c(118): \t\tif ( !this.element.find( "[aria-describedby]" ).length ) {\n
Login.c(118): \t\t\tthis.uiDialog.attr({\n
Login.c(118): \t\t\t\t"aria-describedby":
this.element.uniqueId().attr( "id" )\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createTitlebar: function() {\n
Login.c(118): \t\tvar uiDialogTitle;\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialogTitlebar = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-titlebar ui-widget-header ui-corner-
all ui-helper-clearfix" )\n
Login.c(118): \t\t\t.prependTo( this.uiDialog );\n
Login.c(118): \t\tthis._on( this.uiDialogTitlebar, {\n
Login.c(118): \t\t\tmousedown: function( event ) {\n
Login.c(118): \t\t\t\t// Don't prevent click on close button (#8838)\n
Login.c(118): \t\t\t\t// Focusing a dialog that is partially scrolled out of
view\n
Login.c(118): \t\t\t\t// causes the browser to scroll it into view, preventing
the click event\n
Login.c(118): \t\t\t\tif ( !$( event.target ).closest( ".ui-dialog-titlebar-
close" ) ) {\n
Login.c(118): \t\t\t\t\t// Dialog isn't getting focus when dragging (#8063)\n
Login.c(118): \t\t\t\t\tthis.uiDialog.focus();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// support: IE\n
Login.c(118): \t\t// Use type="button" to prevent enter keypresses in textboxes
from closing the\n
Login.c(118): \t\t// dialog in IE (#9312)\n
Login.c(118): \t\tthis.uiDialogTitlebarClose = $( "<button
type='button'></button>" )\n
Login.c(118): \t\t\t.button({\n
Login.c(118): \t\t\t\tlabel: this.options.closeText,\n
Login.c(118): \t\t\t\ticons: {\n
Login.c(118): \t\t\t\t\tprimary: "ui-icon-closethick"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\ttext: false\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-dialog-titlebar-close" )\n
Login.c(118): \t\t\t.appendTo( this.uiDialogTitlebar );\n
Login.c(118): \t\tthis._on( this.uiDialogTitlebarClose, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tuiDialogTitle = $( "<span>" )\n
Login.c(118): \t\t\t.uniqueId()\n
Login.c(118): \t\t\t.addClass( "ui-dialog-title" )\n
Login.c(118): \t\t\t.prependTo( this.uiDialogTitlebar );\n
Login.c(118): \t\tthis._title( uiDialogTitle );\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.attr({\n
Login.c(118): \t\t\t"aria-labelledby": uiDialogTitle.attr( "id" )\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_title: function( title ) {\n
Login.c(118): \t\tif ( !this.options.title ) {\n
Login.c(118): \t\t\ttitle.html( " " );\n
Login.c(118): \t\t}\n
Login.c(118): \t\ttitle.text( this.options.title );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createButtonPane: function() {\n
Login.c(118): \t\tthis.uiDialogButtonPane = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-buttonpane ui-widget-content ui-
helper-clearfix" );\n
Login.c(118): \n
Login.c(118): \t\tthis.uiButtonSet = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-buttonset" )\n
Login.c(118): \t\t\t.appendTo( this.uiDialogButtonPane );\n
Login.c(118): \n
Login.c(118): \t\tthis._createButtons();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createButtons: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tbuttons = this.options.buttons;\n
Login.c(118): \n
Login.c(118): \t\t// if we already have a button pane, remove it\n
Login.c(118): \t\tthis.uiDialogButtonPane.remove();\n
Login.c(118): \t\tthis.uiButtonSet.empty();\n
Login.c(118): \n
Login.c(118): \t\tif ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !
buttons.length) ) {\n
Login.c(118): \t\t\tthis.uiDialog.re
Login.c(118): t=6797ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): moveClass( "ui-dialog-buttons" );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$.each( buttons, function( name, props ) {\n
Login.c(118): \t\t\tvar click, buttonOptions;\n
Login.c(118): \t\t\tprops = $.isFunction( props ) ?\n
Login.c(118): \t\t\t\t{ click: props, text: name } :\n
Login.c(118): \t\t\t\tprops;\n
Login.c(118): \t\t\t// Default to a non-submitting button\n
Login.c(118): \t\t\tprops = $.extend( { type: "button" }, props );\n
Login.c(118): \t\t\t// Change the context for the click callback to be the main
element\n
Login.c(118): \t\t\tclick = props.click;\n
Login.c(118): \t\t\tprops.click = function() {\n
Login.c(118): \t\t\t\tclick.apply( that.element[ 0 ], arguments );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tbuttonOptions = {\n
Login.c(118): \t\t\t\ticons: props.icons,\n
Login.c(118): \t\t\t\ttext: props.showText\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tdelete props.icons;\n
Login.c(118): \t\t\tdelete props.showText;\n
Login.c(118): \t\t\t$( "<button></button>", props )\n
Login.c(118): \t\t\t\t.button( buttonOptions )\n
Login.c(118): \t\t\t\t.appendTo( that.uiButtonSet );\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.uiDialog.addClass( "ui-dialog-buttons" );\n
Login.c(118): \t\tthis.uiDialogButtonPane.appendTo( this.uiDialog );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_makeDraggable: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\tfunction filteredUi( ui ) {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\tposition: ui.position,\n
Login.c(118): \t\t\t\toffset: ui.offset\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.draggable({\n
Login.c(118): \t\t\tcancel: ".ui-dialog-content, .ui-dialog-titlebar-close",\n
Login.c(118): \t\t\thandle: ".ui-dialog-titlebar",\n
Login.c(118): \t\t\tcontainment: "document",\n
Login.c(118): \t\t\tstart: function( event, ui ) {\n
Login.c(118): \t\t\t\t$( this ).addClass( "ui-dialog-dragging" );\n
Login.c(118): \t\t\t\tthat._blockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "dragStart", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tdrag: function( event, ui ) {\n
Login.c(118): \t\t\t\tthat._trigger( "drag", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tstop: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar left = ui.offset.left - that.document.scrollLeft(),\n
Login.c(118): \t\t\t\t\ttop = ui.offset.top - that.document.scrollTop();\n
Login.c(118): \n
Login.c(118): \t\t\t\toptions.position = {\n
Login.c(118): \t\t\t\t\tmy: "left top",\n
Login.c(118): \t\t\t\t\tat: "left" + (left >= 0 ? "+" : "") + left + " " +\n
Login.c(118): \t\t\t\t\t\t"top" + (top >= 0 ? "+" : "") + top,\n
Login.c(118): \t\t\t\t\tof: that.window\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\t$( this ).removeClass( "ui-dialog-dragging" );\n
Login.c(118): \t\t\t\tthat._unblockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "dragStop", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_makeResizable: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\thandles = options.resizable,\n
Login.c(118): \t\t\t// .ui-resizable has position: relative defined in the
stylesheet\n
Login.c(118): \t\t\t// but dialogs have to use absolute or fixed positioning\n
Login.c(118): \t\t\tposition = this.uiDialog.css("position"),\n
Login.c(118): \t\t\tresizeHandles = typeof handles === "string" ?\n
Login.c(118): \t\t\t\thandles\t:\n
Login.c(118): \t\t\t\t"n,e,s,w,se,sw,ne,nw";\n
Login.c(118): \n
Login.c(118): \t\tfunction filteredUi( ui ) {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\toriginalPosition: ui.originalPosition,\n
Login.c(118): \t\t\t\toriginalSize: ui.originalSize,\n
Login.c(118): \t\t\t\tposition: ui.position,\n
Login.c(118): \t\t\t\tsize: ui.size\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.resizable({\n
Login.c(118): \t\t\tcancel: ".ui-dialog-content",\n
Login.c(118): \t\t\tcontainment: "document",\n
Login.c(118): \t\t\talsoResize: this.element,\n
Login.c(118): \t\t\tmaxWidth: options.maxWidth,\n
Login.c(118): \t\t\tmaxHeight: options.maxHeight,\n
Login.c(118): \t\t\tminWidth: options.minWidth,\n
Login.c(118): \t\t\tminHeight: this._minHeight(),\n
Login.c(118): \t\t\thandles: resizeHandles,\n
Login.c(118): \t\t\tstart: function( event, ui ) {\n
Login.c(118): \t\t\t\t$( this ).addClass( "ui-dialog-resizing" );\n
Login.c(118): \t\t\t\tthat._blockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "resizeStart", event,
filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tresize: function( event, ui ) {\n
Login.c(118): \t\t\t\tthat._trigger( "resize", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tstop: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar offset = that.uiDialog.offset(),\n
Login.c(118): \t\t\t\t\tleft = offset.left - that.document.scrollLeft(),\n
Login.c(118): \t\t\t\t\ttop = offset.top - that.document.scrollTop();\n
Login.c(118): \n
Login.c(118): \t\t\t\toptions.height = that.uiDialog.height();\n
Login.c(118): \t\t\t\toptions.width = that.uiDialog.width();\n
Login.c(118): \t\t\t\toptions.position = {\n
Login.c(118): \t\t\t\t\tmy: "left top",\n
Login.c(118): \t\t\t\t\tat: "left" + (left >= 0 ? "+" : "") + left + " " +\n
Login.c(118): \t\t\t\t\t\t"top" + (top >= 0 ? "+" : "") + top,\n
Login.c(118): \t\t\t\t\tof: that.window\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\t$( this ).removeClass( "ui-dialog-resizing" );\n
Login.c(118): \t\t\t\tthat._unblockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "resizeStop", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t})\n
Login.c(118): \t\t.css( "position", position );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trackFocus: function() {\n
Login.c(118): \t\tthis._on( this.widget(), {\n
Login.c(118): \t\t\tfocusin: function( event ) {\n
Login.c(118): \t\t\t\tthis._makeFocusTarget();\n
Login.c(118): \t\t\t\tthis._focusedElement = $( event.target );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_makeFocusTarget: function() {\n
Login.c(118): \t\tthis._untrackInstance();\n
Login.c(118): \t\tthis._trackingInstances().unshift( this );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_untrackInstance: function() {\n
Login.c(118): \t\tvar instances = this._trackingInstances(),\n
Login.c(118): \t\t\texists = $.inArray( this, instances );\n
Login.c(118): \t\tif ( exists !== -1 ) {\n
Login.c(118): \t\t\tinstances.splice( exists, 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trackingInstances: function() {\n
Login.c(118): \t\tvar instances = this.document.data( "ui-dialog-
instances" );\n
Login.c(118): \t\tif ( !instances ) {\n
Login.c(118): \t\t\tinstances = [];\n
Login.c(118): \t\t\tthis.document.data( "ui-dialog-instances", instances );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn instances;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_minHeight: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \n
Login.c(118): \t\treturn options.height === "auto" ?\n
Login.c(118): \t\t\toptions.minHeight :\n
Login.c(118): \t\t\tMath.min( options.minHeight, options.height );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_position: function() {\n
Login.c(118): \t\t// Need to show the dialog to get the actual offset in the
position plugin\n
Login.c(118): \t\tvar isVisible = this.uiDialog.is( ":visible" );\n
Login.c(118): \t\tif ( !isVisible ) {\n
Login.c(118): \t\t\tthis.uiDialog.show();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.uiDialog.position( this.options.position );\n
Login.c(118): \t\tif ( !isVisible ) {\n
Login.c(118): \t\t\tthis.uiDialog.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOptions: function( options ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tresize = false,\n
Login.c(118): \t\t\tresizableOptions = {};\n
Login.c(118): \n
Login.c(118): \t\t$.each( options, function( key, value ) {\n
Login.c(118): \t\t\tthat._setOption( key, value );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( key in that.sizeRelatedOptions ) {\n
Login.c(118): \t\t\t\tresize = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( key in that.resizableRelatedOptions ) {\n
Login.c(118): \t\t\t\tresizableOptions[ key ] = value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( resize ) {\n
Login.c(118): \t\t\tthis._size();\n
Login.c(118): \t\t\tthis._position();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.uiDialog.is( ":data(ui-resizable)" ) ) {\n
Login.c(118): \t\t\tthis.uiDialog.resizable( "option", resizableOptions );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tvar isDraggable, isResizable,\n
Login.c(118): \t\t\tuiDialog = this.uiDialog;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "dialogClass" ) {\n
Login.c(118): \t\t\tuiDialog\n
Login.c(118): \t\t\t\t.removeClass( this.options.dialogClass )\n
Login.c(118): \t\t\t\t.addClass( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "appendTo" ) {\n
Login.c(118): \t\t\tthis.uiDialog.appendTo( this._appendTo() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "buttons" ) {\n
Login.c(118): \t\t\tthis._createButtons();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "closeText" ) {\n
Login.c(118): \t\t\tthis.uiDialogTitlebarClose.button({\n
Login.c(118): \t\t\t\t// Ensure that we always pass a string\n
Login.c(118): \t\t\t\tlabel: "" + value\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "draggable" ) {\n
Login.c(118): \t\t\tisDraggable = uiDialog.is( ":data(ui-draggable)" );\n
Login.c(118): \t\t\tif ( isDraggable && !value ) {\n
Login.c(118): \t\t\t\tuiDialog.draggable( "destroy" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !isDraggable && value ) {\n
Login.c(118): \t\t\t\tthis._makeDraggable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "position" ) {\n
Login.c(118): \t\t\tthis._position();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "resizable" ) {\n
Login.c(118): \t\t\t// currently resizable, becoming non-resizable\n
Login.c(118): \t\t\tisResizable = uiDialog.is( ":data(ui-resizable)" );\n
Login.c(118): \t\t\tif ( isResizable && !value ) {\n
Login.c(118): \t\t\t\tuiDialog.resizable( "destroy" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// currently resizable, changing handles\n
Login.c(118): \t\t\tif ( isResizable && typeof value === "string" ) {\n
Login.c(118): \t\t\t\tuiDialog.resizable( "option", "handles", value );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// currently non-resizable, becoming resizable\n
Login.c(118): \t\t\tif ( !isResizable && value !== false ) {\n
Login.c(118): \t\t\t\tthis._makeResizable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "title" ) {\n
Login.c(118): \t\t\tthis._title( this.uiDialogTitlebar.find( ".ui-dialog-title"
) );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_size: function() {\n
Login.c(118): \t\t// If the user has resized the dialog, the .ui-dialog and
.ui-dialog-content\n
Login.c(118): \t\t// divs will both have width and height set, so we need to
reset them\n
Login.c(118): \t\tvar nonContentHeight, minContentHeight, maxContentHeight,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\t// Reset content sizing\n
Login.c(118): \t\tthis.element.show().css({\n
Login.c(118): \t\t\twidth: "auto",\n
Login.c(118): \t\t\tminHeight: 0,\n
Login.c(118): \t\t\tmaxHeight: "none",\n
Login.c(118): \t\t\theight: 0\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( options.minWidth > options.width ) {\n
Login.c(118): \t\t\toptions.width = options.minWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// reset wrapper sizing\n
Login.c(118): \t\t// determine the height of all the non-content elements\n
Login.c(118): \t\tnonContentHeight = this.uiDialog.css({\n
Login.c(118): \t\t\t\theight: "auto",\n
Login.c(118): \t\t\t\twidth: options.width\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.outerHeight();\n
Login.c(118): \t\tminContentHeight = Math.max( 0, options.minHeight -
nonContentHeight );\n
Login.c(118): \t\tmaxContentHeight = typeof options.maxHeight === "number" ?\n
Login.c(118): \t\t\tMath.max( 0, options.maxHeight - nonContentHeight ) :\n
Login.c(118): \t\t\t"none";\n
Login.c(118): \n
Login.c(118): \t\tif ( options.height === "auto" ) {\n
Login.c(118): \t\t\tthis.element.css({\n
Login.c(118): \t\t\t\tminHeight: minContentHeight,\n
Login.c(118): \t\t\t\tmaxHeight: maxContentHeight,\n
Login.c(118): \t\t\t\theight: "auto"\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.element.height( Math.max( 0, options.height -
nonContentHeight ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.uiDialog.is( ":data(ui-resizable)" ) ) {\n
Login.c(118): \t\t\tthis.uiDialog.resizable( "option", "minHeight",
this._minHeight() );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_blockFrames: function() {\n
Login.c(118): \t\tthis.iframeBlocks =
this.document.find( "iframe" ).map(function() {\n
Login.c(118): \t\t\tvar iframe = $( this );\n
Login.c(118): \n
Login.c(118): \t\t\treturn $( "<div>" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\t\twidth: iframe.outerWidth(),\n
Login.c(118): \t\t\t\t\theight: iframe.outerHeight()\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.appendTo( iframe.parent() )\n
Login.c(118): \t\t\t\t.offset( iframe.offset() )[0];\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_unblockFrames: function() {\n
Login.c(118): \t\tif ( this.iframeBlocks ) {\n
Login.c(118): \t\t\tthis.iframeBlocks.remove();\n
Login.c(118): \t\t\tdelete this.iframeBlocks;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_allowInteraction: function( event ) {\n
Login.c(118): \t\tif ( $( event.target ).closest( ".ui-dialog" ).length ) {\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// TODO: Remove hack when datepicker implements\n
Login.c(118): \t\t// the .ui-front logic (#8989)\n
Login.c(118): \t\treturn !!$( event.target ).closest( ".ui-
datepicker" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createOverlay: function() {\n
Login.c(118): \t\tif ( !this.options.modal ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// We use a delay in case the overlay is created from an\n
Login.c(118): \t\t// event that we're going to be cancelling (#2804)\n
Login.c(118): \t\tvar isOpening = true;\n
Login.c(118): \t\tthis._delay(function() {\n
Login.c(118): \t\t\tisOpening = false;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.document.data( "ui-dialog-overlays" ) ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// Prevent use of anchors and inputs\n
Login.c(118): \t\t\t// Using _on() for an event handler shared across many
instances is\n
Login.c(118): \t\t\t// safe because the dialogs stack and must be closed in
reverse order\n
Login.c(118): \t\t\tthis._on( this.document, {\n
Login.c(118): \t\t\t\tfocusin: function( event ) {\n
Login.c(118): \t\t\t\t\tif ( isOpening ) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif ( !this._allowInteraction( event ) ) {\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t\tthis._trackingInstances()[ 0 ]._focusTabbable();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.overlay = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-widget-overlay ui-front" )\n
Login.c(118): \t\t\t.appendTo( this._appendTo() );\n
Login.c(118): \t\tthis._on( this.overlay, {\n
Login.c(118): \t\t\tmousedown: "_keepFocus"\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.document.data( "ui-dialog-overlays",\n
Login.c(118): \t\t\t(this.document.data( "ui-dialog-overlays" ) || 0) + 1 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroyOverlay: function() {\n
Login.c(118): \t\tif ( !this.options.modal ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.overlay ) {\n
Login.c(118): \t\t\tvar overlays = this.document.data( "ui-dialog-overlays" ) -
1;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !overlays ) {\n
Login.c(118): \t\t\t\tthis.document\n
Login.c(118): \t\t\t\t\t.unbind( "focusin" )\n
Login.c(118): \t\t\t\t\t.removeData( "ui-dialog-overlays" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.document.data( "ui-dialog-overlays", overlays );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.overlay.remove();\n
Login.c(118): \t\t\tthis.overlay = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Droppable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/droppable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget( "ui.droppable", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "drop",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\taccept: "*",\n
Login.c(118): \t\tactiveClass: false,\n
Login.c(118): \t\taddClasses: true,\n
Login.c(118): \t\tgreedy: false,\n
Login.c(118): \t\thoverClass: false,\n
Login.c(118): \t\tscope: "default",\n
Login.c(118): \t\ttolerance: "intersect",\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tdeactivate: null,\n
Login.c(118): \t\tdrop: null,\n
Login.c(118): \t\tout: null,\n
Login.c(118): \t\tover: null\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar proportions,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\taccept = o.accept;\n
Login.c(118): \n
Login.c(118): \t\tthis.isover = false;\n
Login.c(118): \t\tthis.isout = true;\n
Login.c(118): \n
Login.c(118): \t\tthis.accept = $.isFunction( accept ) ? accept : function( d )
{\n
Login.c(118): \t\t\treturn d.is( accept );\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.proportions = function( /* valueToWrite */ ) {\n
Login.c(118): \t\t\tif ( arguments.length ) {\n
Login.c(118): \t\t\t\t// Store the droppable's proportions\n
Login.c(118): \t\t\t\tproportions = arguments[ 0 ];\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// Retrieve or derive the droppable's proportions\n
Login.c(118): \t\t\t\treturn proportions ?\n
Login.c(118): \t\t\t\t\tproportions :\n
Login.c(118): \t\t\t\t\tproportions = {\n
Login.c(118): \t\t\t\t\t\twidth: this.element[ 0 ].offsetWidth,\n
Login.c(118): \t\t\t\t\t\theight: this.element[ 0 ].offsetHeight\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis._addToManager( o.scope );\n
Login.c(118): \n
Login.c(118): \t\to.addClasses && this.element.addClass( "ui-droppable" );\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_addToManager: function( scope ) {\n
Login.c(118): \t\t// Add the reference and positions to the manager\n
Login.c(118): \t\t$.ui.ddmanager.droppables[ scope ] =
$.ui.ddmanager.droppables[ scope ] || [];\n
Login.c(118): \t\t$.ui.ddmanager.droppables[ scope ].push( this );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_splice: function( drop ) {\n
Login.c(118): \t\tvar i = 0;\n
Login.c(118): \t\tfor ( ; i < drop.length; i++ ) {\n
Login.c(118): \t\t\tif ( drop[ i ] === this ) {\n
Login.c(118): \t\t\t\tdrop.splice( i, 1 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar drop = $.ui.ddmanager.droppables[ this.options.scope ];\n
Login.c(118): \n
Login.c(118): \t\tthis._splice( drop );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.removeClass( "ui-droppable ui-droppable-
disabled" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "accept" ) {\n
Login.c(118): \t\t\tthis.accept = $.isFunction( value ) ? value : function( d )
{\n
Login.c(118): \t\t\t\treturn d.is( value );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else if ( key === "scope" ) {
Login.c(118): t=6840ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \n
Login.c(118): \t\t\tvar drop =
$.ui.ddmanager.droppables[ this.options.scope ];\n
Login.c(118): \n
Login.c(118): \t\t\tthis._splice( drop );\n
Login.c(118): \t\t\tthis._addToManager( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( event ) {\n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \t\tif ( this.options.activeClass ) {\n
Login.c(118): \t\t\tthis.element.addClass( this.options.activeClass );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( draggable ){\n
Login.c(118): \t\t\tthis._trigger( "activate", event, this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_deactivate: function( event ) {\n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \t\tif ( this.options.activeClass ) {\n
Login.c(118): \t\t\tthis.element.removeClass( this.options.activeClass );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( draggable ){\n
Login.c(118): \t\t\tthis._trigger( "deactivate", event,
this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_over: function( event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \n
Login.c(118): \t\t// Bail if draggable and droppable are same element\n
Login.c(118): \t\tif ( !draggable || ( draggable.currentItem ||
draggable.element )[ 0 ] === this.elemen
Login.c(118): t[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.accept.call( this.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) ) {\n
Login.c(118): \t\t\tif ( this.options.hoverClass ) {\n
Login.c(118): \t\t\t\tthis.element.addClass( this.options.hoverClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._trigger( "over", event, this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_out: function( event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \n
Login.c(118): \t\t// Bail if draggable and droppable are same element\n
Login.c(118): \t\tif ( !draggable || ( draggable.currentItem ||
draggable.element )[ 0 ] === this.elemen
Login.c(118): t[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.accept.call( this.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) ) {\n
Login.c(118): \t\t\tif ( this.options.hoverClass ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( this.options.hoverClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._trigger( "out", event, this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_drop: function( event, custom ) {\n
Login.c(118): \n
Login.c(118): \t\tvar draggable = custom || $.ui.ddmanager.current,\n
Login.c(118): \t\t\tchildrenIntersection = false;\n
Login.c(118): \n
Login.c(118): \t\t// Bail if draggable and droppable are same element\n
Login.c(118): \t\tif ( !draggable || ( draggable.currentItem ||
draggable.element )[ 0 ] === this.elemen
Login.c(118): t[ 0 ] ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element.find( ":data(ui-droppable)" ).not( ".ui-
draggable-dragging" ).each(functi
Login.c(118): on() {\n
Login.c(118): \t\t\tvar inst = $( this ).droppable( "instance" );\n
Login.c(118): \t\t\tif (\n
Login.c(118): \t\t\t\tinst.options.greedy &&\n
Login.c(118): \t\t\t\t!inst.options.disabled &&\n
Login.c(118): \t\t\t\tinst.options.scope === draggable.options.scope &&\n
Login.c(118): \t\t\t\tinst.accept.call( inst.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) &&\n
Login.c(118): \t\t\t\t$.ui.intersect( draggable, $.extend( inst, { offset:
inst.element.offset() } ), in
Login.c(118): st.options.tolerance, event )\n
Login.c(118): \t\t\t) { childrenIntersection = true; return false; }\n
Login.c(118): \t\t});\n
Login.c(118): \t\tif ( childrenIntersection ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.accept.call( this.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) ) {\n
Login.c(118): \t\t\tif ( this.options.activeClass ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( this.options.activeClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( this.options.hoverClass ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( this.options.hoverClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._trigger( "drop", event, this.ui( draggable ) );\n
Login.c(118): \t\t\treturn this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tui: function( c ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tdraggable: ( c.currentItem || c.element ),\n
Login.c(118): \t\t\thelper: c.helper,\n
Login.c(118): \t\t\tposition: c.position,\n
Login.c(118): \t\t\toffset: c.positionAbs\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.intersect = (function() {\n
Login.c(118): \tfunction isOverAxis( x, reference, size ) {\n
Login.c(118): \t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn function( draggable, droppable, toleranceMode, event )
{\n
Login.c(118): \n
Login.c(118): \t\tif ( !droppable.offset ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar x1 = ( draggable.positionAbs ||
draggable.position.absolute ).left,\n
Login.c(118): \t\t\ty1 = ( draggable.positionAbs || draggable.position.absolute
).top,\n
Login.c(118): \t\t\tx2 = x1 + draggable.helperProportions.width,\n
Login.c(118): \t\t\ty2 = y1 + draggable.helperProportions.height,\n
Login.c(118): \t\t\tl = droppable.offset.left,\n
Login.c(118): \t\t\tt = droppable.offset.top,\n
Login.c(118): \t\t\tr = l + droppable.proportions().width,\n
Login.c(118): \t\t\tb = t + droppable.proportions().height;\n
Login.c(118): \n
Login.c(118): \t\tswitch ( toleranceMode ) {\n
Login.c(118): \t\tcase "fit":\n
Login.c(118): \t\t\treturn ( l <= x1 && x2 <= r && t <= y1 && y2 <= b );\n
Login.c(118): \t\tcase "intersect":\n
Login.c(118): \t\t\treturn ( l < x1 + ( draggable.helperProportions.width / 2 )
&& // Right Half\n
Login.c(118): \t\t\t\tx2 - ( draggable.helperProportions.width / 2 ) < r && //
Left Half\n
Login.c(118): \t\t\t\tt < y1 + ( draggable.helperProportions.height / 2 ) && //
Bottom Half\n
Login.c(118): \t\t\t\ty2 - ( draggable.helperProportions.height / 2 ) < b ); //
Top Half\n
Login.c(118): \t\tcase "pointer":\n
Login.c(118): \t\t\treturn isOverAxis( event.pageY, t,
droppable.proportions().height ) && isOverAxis( e
Login.c(118): vent.pageX, l, droppable.proportions().width );\n
Login.c(118): \t\tcase "touch":\n
Login.c(118): \t\t\treturn (\n
Login.c(118): \t\t\t\t( y1 >= t && y1 <= b ) || // Top edge touching\n
Login.c(118): \t\t\t\t( y2 >= t && y2 <= b ) || // Bottom edge touching\n
Login.c(118): \t\t\t\t( y1 < t && y2 > b ) // Surrounded vertically\n
Login.c(118): \t\t\t) && (\n
Login.c(118): \t\t\t\t( x1 >= l && x1 <= r ) || // Left edge touching\n
Login.c(118): \t\t\t\t( x2 >= l && x2 <= r ) || // Right edge touching\n
Login.c(118): \t\t\t\t( x1 < l && x2 > r ) // Surrounded horizontally\n
Login.c(118): \t\t\t);\n
Login.c(118): \t\tdefault:\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): \tThis manager tracks offsets of draggables and droppables\n
Login.c(118): */\n
Login.c(118): $.ui.ddmanager = {\n
Login.c(118): \tcurrent: null,\n
Login.c(118): \tdroppables: { "default": [] },\n
Login.c(118): \tprepareOffsets: function( t, event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar i, j,\n
Login.c(118): \t\t\tm = $.ui.ddmanager.droppables[ t.options.scope ] || [],\n
Login.c(118): \t\t\ttype = event ? event.type : null, // workaround for #2317\n
Login.c(118): \t\t\tlist = ( t.currentItem || t.element ).find( ":data(ui-
droppable)" ).addBack();\n
Login.c(118): \n
Login.c(118): \t\tdroppablesLoop: for ( i = 0; i < m.length; i++ ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// No disabled and non-accepted\n
Login.c(118): \t\t\tif ( m[ i ].options.disabled || ( t && !m[ i ].accept.call(
m[ i ].element[ 0 ], ( t
Login.c(118): .currentItem || t.element ) ) ) ) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Filter out elements in the current dragged item\n
Login.c(118): \t\t\tfor ( j = 0; j < list.length; j++ ) {\n
Login.c(118): \t\t\t\tif ( list[ j ] === m[ i ].element[ 0 ] ) {\n
Login.c(118): \t\t\t\t\tm[ i ].proportions().height = 0;\n
Login.c(118): \t\t\t\t\tcontinue droppablesLoop;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tm[ i ].visible = m[ i ].element.css( "display" ) !==
"none";\n
Login.c(118): \t\t\tif ( !m[ i ].visible ) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Activate the droppable if used directly from
draggables\n
Login.c(118): \t\t\tif ( type === "mousedown" ) {\n
Login.c(118): \t\t\t\tm[ i ]._activate.call( m[ i ], event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tm[ i ].offset = m[ i ].element.offset();\n
Login.c(118): \t\t\tm[ i ].proportions({ width:
m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[
Login.c(118): 0 ].offsetHeight });\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdrop: function( draggable, event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar dropped = false;\n
Login.c(118): \t\t// Create a copy of the droppables in case the list changes
during the drop (#9116)\n
Login.c(118):
\t\t$.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(),
functi
Login.c(118): on() {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.options ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( !this.options.disabled && this.visible &&
$.ui.intersect( draggable, this, this
Login.c(118): .options.tolerance, event ) ) {\n
Login.c(118): \t\t\t\tdropped = this._drop.call( this, event ) || dropped;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.options.disabled && this.visible &&
this.accept.call( this.element[ 0 ],
Login.c(118): ( draggable.currentItem || draggable.element ) ) ) {\n
Login.c(118): \t\t\t\tthis.isout = true;\n
Login.c(118): \t\t\t\tthis.isover = false;\n
Login.c(118): \t\t\t\tthis._deactivate.call( this, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn dropped;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdragStart: function( draggable, event ) {\n
Login.c(118): \t\t// Listen for scrolling so that if the dragging causes
scrolling the position of the d
Login.c(118): roppables can be recalculated (see #5003)\n
Login.c(118):
\t\tdraggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function()
{\n
Login.c(118): \t\t\tif ( !draggable.options.refreshPositions ) {\n
Login.c(118): \t\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( draggable, event ) {\n
Login.c(118): \n
Login.c(118): \t\t// If you have a highly dynamic page, you might try this
option. It renders positions
Login.c(118): every time you move the mouse.\n
Login.c(118): \t\tif ( draggable.options.refreshPositions ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Run through all droppables and check their positions based
on specific tolerance op
Login.c(118): tions\n
Login.c(118): \t\t$.each( $.ui.ddmanager.droppables[ draggable.options.scope ]
|| [], function() {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.options.disabled || this.greedyChild || !
this.visible ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tvar parentInstance, scope, parent,\n
Login.c(118): \t\t\t\tintersects = $.ui.intersect( draggable, this,
this.options.tolerance, event ),\n
Login.c(118): \t\t\t\tc = !intersects && this.isover ? "isout" : ( intersects
&& !this.isover ? "isover"
Login.c(118): : null );\n
Login.c(118): \t\t\tif ( !c ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.options.greedy ) {\n
Login.c(118): \t\t\t\t// find droppable parents with same scope\n
Login.c(118): \t\t\t\tscope = this.options.scope;\n
Login.c(118): \t\t\t\tparent = this.element.parents( ":data(ui-
droppable)" ).filter(function() {\n
Login.c(118): \t\t\t\t\treturn $( this ).droppable( "instance" ).options.scope
=== scope;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( parent.length ) {\n
Login.c(118): \t\t\t\t\tparentInstance = $( parent[ 0 ] ).droppable( "instance"
);\n
Login.c(118): \t\t\t\t\tparentInstance.greedyChild = ( c === "isover" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// we just moved into a greedy child\n
Login.c(118): \t\t\tif ( parentInstance && c === "isover" ) {\n
Login.c(118): \t\t\t\tparentInstance.isover = false;\n
Login.c(118): \t\t\t\tparentInstance.isout = true;\n
Login.c(118): \t\t\t\tparentInstance._out.call( parentInstance, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis[ c ] = true;\n
Login.c(118): \t\t\tthis[c === "isout" ? "isover" : "isout"] = false;\n
Login.c(118): \t\t\tthis[c === "isover" ? "_over" : "_out"].call( this,
event );\n
Login.c(118): \n
Login.c(118): \t\t\t// we just moved out of a greedy child\n
Login.c(118): \t\t\tif ( parentInstance && c === "isout" ) {\n
Login.c(118): \t\t\t\tparentInstance.isout = false;\n
Login.c(118): \t\t\t\tparentInstance.isover = true;\n
Login.c(118): \t\t\t\tparentInstance._over.call( parentInstance, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdragStop: function( draggable, event ) {\n
Login.c(118):
\t\tdraggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );\n
Login.c(118): \t\t// Call prepareOffsets one final time since IE does not fire
return scroll events when
Login.c(118): overflow was caused by drag (see #5003)\n
Login.c(118): \t\tif ( !draggable.options.refreshPositions ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var droppable = $.ui.droppable;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/category/effects-core/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var dataSpace = "ui-effects-",\n
Login.c(118): \n
Login.c(118): \t// Create a local jQuery because jQuery Color relies on it and
the\n
Login.c(118): \t// global may not exist with AMD and a custom build (#10199)\n
Login.c(118): \tjQuery = $;\n
Login.c(118): \n
Login.c(118): $.effects = {\n
Login.c(118): \teffect: {}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery Color Animations v2.1.2\n
Login.c(118): * https://github.com/jquery/jquery-color\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * Date: Wed Jan 16 08:47:09 2013 -0600\n
Login.c(118): */\n
Login.c(118): (function( jQuery, undefined ) {\n
Login.c(118): \n
Login.c(118): \tvar stepHooks = "backgroundColor borderBottomColor
borderLeftColor borderRightColor bord
Login.c(118): erTopColor color columnRuleColor outlineColor textDecorationColor
textEmphasisColor",\n
Login.c(118): \n
Login.c(118): \t// plusequals test for += 100 -= 100\n
Login.c(118): \trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n
Login.c(118): \t// a set of RE's that can match strings and generate color
tuples.\n
Login.c(118): \tstringParsers = [ {\n
Login.c(118): \t\t\tre: /rgba?\\
(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?
Login.c(118): :\\.\\d+)?)\\s*)?\\)/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\texecResult[ 1 ],\n
Login.c(118): \t\t\t\t\texecResult[ 2 ],\n
Login.c(118): \t\t\t\t\texecResult[ 3 ],\n
Login.c(118): \t\t\t\t\texecResult[ 4 ]\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+
(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?
Login.c(118): :\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\texecResult[ 1 ] * 2.55,\n
Login.c(118): \t\t\t\t\texecResult[ 2 ] * 2.55,\n
Login.c(118): \t\t\t\t\texecResult[ 3 ] * 2.55,\n
Login.c(118): \t\t\t\t\texecResult[ 4 ]\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\t// this regex ignores A-F because it's compared against an
already lowercased string
Login.c(118): \n
Login.c(118): \t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 3 ], 16 )\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\t// this regex ignores A-F because it's compared against an
already lowercased string
Login.c(118): \n
Login.c(118): \t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 )\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+
(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\
Login.c(118): .\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n
Login.c(118): \t\t\tspace: "hsla",\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\texecResult[ 1 ],\n
Login.c(118): \t\t\t\t\texecResult[ 2 ] / 100,\n
Login.c(118): \t\t\t\t\texecResult[ 3 ] / 100,\n
Login.c(118): \t\t\t\t\texecResult[ 4 ]\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} ],\n
Login.c(118): \n
Login.c(118): \t// jQuery.Color( )\n
Login.c(118): \tcolor = jQuery.Color = function( color, green, blue, alpha )
{\n
Login.c(118): \t\treturn new jQuery.Color.fn.parse( color, green, blue,
alpha );\n
Login.c(118): \t},\n
Login.c(118): \tspaces = {\n
Login.c(118): \t\trgba: {\n
Login.c(118): \t\t\tprops: {\n
Login.c(118): \t\t\t\tred: {\n
Login.c(118): \t\t\t\t\tidx: 0,\n
Login.c(118): \t\t\t\t\ttype: "byte"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tgreen: {\n
Login.c(118): \t\t\t\t\tidx: 1,\n
Login.c(118): \t\t\t\t\ttype: "byte"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tblue: {\n
Login.c(118): \t\t\t\t\tidx: 2,\n
Login.c(118): \t\t\t\t\ttype: "byte"\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \t\thsla: {\n
Login.c(118): \t\t\tprops: {\n
Login.c(118): \t\t\t\thue: {\n
Login.c(118): \t\t\t\t\tidx: 0,\n
Login.c(118): \t\t\t
Login.c(118): t=6859ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \t\ttype: "degrees"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tsaturation: {\n
Login.c(118): \t\t\t\t\tidx: 1,\n
Login.c(118): \t\t\t\t\ttype: "percent"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tlightness: {\n
Login.c(118): \t\t\t\t\tidx: 2,\n
Login.c(118): \t\t\t\t\ttype: "percent"\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tpropTypes = {\n
Login.c(118): \t\t"byte": {\n
Login.c(118): \t\t\tfloor: true,\n
Login.c(118): \t\t\tmax: 255\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"percent": {\n
Login.c(118): \t\t\tmax: 1\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"degrees": {\n
Login.c(118): \t\t\tmod: 360,\n
Login.c(118): \t\t\tfloor: true\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tsupport = color.support = {},\n
Login.c(118): \n
Login.c(118): \t// element for support tests\n
Login.c(118): \tsupportElem = jQuery( "<p>" )[ 0 ],\n
Login.c(118): \n
Login.c(118): \t// colors = jQuery.Color.names\n
Login.c(118): \tcolors,\n
Login.c(118): \n
Login.c(118): \t// local aliases of functions called often\n
Login.c(118): \teach = jQuery.each;\n
Login.c(118): \n
Login.c(118): // determine rgba support immediately\n
Login.c(118): supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";\n
Login.c(118): support.rgba =
supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;\n
Login.c(118): \n
Login.c(118): // define cache name and alpha properties\n
Login.c(118): // for rgba and hsla spaces\n
Login.c(118): each( spaces, function( spaceName, space ) {\n
Login.c(118): \tspace.cache = "_" + spaceName;\n
Login.c(118): \tspace.props.alpha = {\n
Login.c(118): \t\tidx: 3,\n
Login.c(118): \t\ttype: "percent",\n
Login.c(118): \t\tdef: 1\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function clamp( value, prop, allowEmpty ) {\n
Login.c(118): \tvar type = propTypes[ prop.type ] || {};\n
Login.c(118): \n
Login.c(118): \tif ( value == null ) {\n
Login.c(118): \t\treturn (allowEmpty || !prop.def) ? null : prop.def;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// ~~ is an short way of doing floor for positive numbers\n
Login.c(118): \tvalue = type.floor ? ~~value : parseFloat( value );\n
Login.c(118): \n
Login.c(118): \t// IE will pass in empty strings as value for alpha,\n
Login.c(118): \t// which will hit this case\n
Login.c(118): \tif ( isNaN( value ) ) {\n
Login.c(118): \t\treturn prop.def;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( type.mod ) {\n
Login.c(118): \t\t// we add mod before modding to make sure that negatives
values\n
Login.c(118): \t\t// get converted properly: -10 -> 350\n
Login.c(118): \t\treturn (value + type.mod) % type.mod;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// for now all property types without mod have min and max\n
Login.c(118): \treturn 0 > value ? 0 : type.max < value ? type.max : value;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function stringParse( string ) {\n
Login.c(118): \tvar inst = color(),\n
Login.c(118): \t\trgba = inst._rgba = [];\n
Login.c(118): \n
Login.c(118): \tstring = string.toLowerCase();\n
Login.c(118): \n
Login.c(118): \teach( stringParsers, function( i, parser ) {\n
Login.c(118): \t\tvar parsed,\n
Login.c(118): \t\t\tmatch = parser.re.exec( string ),\n
Login.c(118): \t\t\tvalues = match && parser.parse( match ),\n
Login.c(118): \t\t\tspaceName = parser.space || "rgba";\n
Login.c(118): \n
Login.c(118): \t\tif ( values ) {\n
Login.c(118): \t\t\tparsed = inst[ spaceName ]( values );\n
Login.c(118): \n
Login.c(118): \t\t\t// if this was an rgba parse the assignment might happen
twice\n
Login.c(118): \t\t\t// oh well....\n
Login.c(118): \t\t\tinst[ spaces[ spaceName ].cache ] =
parsed[ spaces[ spaceName ].cache ];\n
Login.c(118): \t\t\trgba = inst._rgba = parsed._rgba;\n
Login.c(118): \n
Login.c(118): \t\t\t// exit each( stringParsers ) here because we matched\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// Found a stringParser that handled it\n
Login.c(118): \tif ( rgba.length ) {\n
Login.c(118): \n
Login.c(118): \t\t// if this came from a parsed string, force "transparent"
when alpha is 0\n
Login.c(118): \t\t// chrome, (and maybe others) return "transparent" as
rgba(0,0,0,0)\n
Login.c(118): \t\tif ( rgba.join() === "0,0,0,0" ) {\n
Login.c(118): \t\t\tjQuery.extend( rgba, colors.transparent );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn inst;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// named colors\n
Login.c(118): \treturn colors[ string ];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): color.fn = jQuery.extend( color.prototype, {\n
Login.c(118): \tparse: function( red, green, blue, alpha ) {\n
Login.c(118): \t\tif ( red === undefined ) {\n
Login.c(118): \t\t\tthis._rgba = [ null, null, null, null ];\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( red.jquery || red.nodeType ) {\n
Login.c(118): \t\t\tred = jQuery( red ).css( green );\n
Login.c(118): \t\t\tgreen = undefined;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar inst = this,\n
Login.c(118): \t\t\ttype = jQuery.type( red ),\n
Login.c(118): \t\t\trgba = this._rgba = [];\n
Login.c(118): \n
Login.c(118): \t\t// more than 1 argument specified - assume ( red, green,
blue, alpha )\n
Login.c(118): \t\tif ( green !== undefined ) {\n
Login.c(118): \t\t\tred = [ red, green, blue, alpha ];\n
Login.c(118): \t\t\ttype = "array";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( type === "string" ) {\n
Login.c(118): \t\t\treturn this.parse( stringParse( red ) ||
colors._default );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( type === "array" ) {\n
Login.c(118): \t\t\teach( spaces.rgba.props, function( key, prop ) {\n
Login.c(118): \t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( type === "object" ) {\n
Login.c(118): \t\t\tif ( red instanceof color ) {\n
Login.c(118): \t\t\t\teach( spaces, function( spaceName, space ) {\n
Login.c(118): \t\t\t\t\tif ( red[ space.cache ] ) {\n
Login.c(118): \t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\teach( spaces, function( spaceName, space ) {\n
Login.c(118): \t\t\t\t\tvar cache = space.cache;\n
Login.c(118): \t\t\t\t\teach( space.props, function( key, prop ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// if the cache doesn't exist, and we know how to
convert\n
Login.c(118): \t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t// if the value was null, we don't need to copy
it\n
Login.c(118): \t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it
either\n
Login.c(118): \t\t\t\t\t\t\tif ( key === "alpha" || red[ key ] == null ) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// this is the only case where we allow nulls for ALL
properties.\n
Login.c(118): \t\t\t\t\t\t// call clamp with alwaysAllowEmpty\n
Login.c(118): \t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop,
true );\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// everything defined but alpha?\n
Login.c(118): \t\t\t\t\tif ( inst[ cache ] && jQuery.inArray( null, inst[ cache
].slice( 0, 3 ) ) < 0 )
Login.c(118): {\n
Login.c(118): \t\t\t\t\t\t// use the default of 1\n
Login.c(118): \t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\n
Login.c(118): \t\t\t\t\t\tif ( space.from ) {\n
Login.c(118): \t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tis: function( compare ) {\n
Login.c(118): \t\tvar is = color( compare ),\n
Login.c(118): \t\t\tsame = true,\n
Login.c(118): \t\t\tinst = this;\n
Login.c(118): \n
Login.c(118): \t\teach( spaces, function( _, space ) {\n
Login.c(118): \t\t\tvar localCache,\n
Login.c(118): \t\t\t\tisCache = is[ space.cache ];\n
Login.c(118): \t\t\tif (isCache) {\n
Login.c(118): \t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to(
inst._rgba ) || [];\n
Login.c(118): \t\t\t\teach( space.props, function( _, prop ) {\n
Login.c(118): \t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\n
Login.c(118): \t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx
] );\n
Login.c(118): \t\t\t\t\t\treturn same;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn same;\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn same;\n
Login.c(118): \t},\n
Login.c(118): \t_space: function() {\n
Login.c(118): \t\tvar used = [],\n
Login.c(118): \t\t\tinst = this;\n
Login.c(118): \t\teach( spaces, function( spaceName, space ) {\n
Login.c(118): \t\t\tif ( inst[ space.cache ] ) {\n
Login.c(118): \t\t\t\tused.push( spaceName );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn used.pop();\n
Login.c(118): \t},\n
Login.c(118): \ttransition: function( other, distance ) {\n
Login.c(118): \t\tvar end = color( other ),\n
Login.c(118): \t\t\tspaceName = end._space(),\n
Login.c(118): \t\t\tspace = spaces[ spaceName ],\n
Login.c(118): \t\t\tstartColor = this.alpha() === 0 ? color( "transparent" ) :
this,\n
Login.c(118): \t\t\tstart = startColor[ space.cache ] ||
space.to( startColor._rgba ),\n
Login.c(118): \t\t\tresult = start.slice();\n
Login.c(118): \n
Login.c(118): \t\tend = end[ space.cache ];\n
Login.c(118): \t\teach( space.props, function( key, prop ) {\n
Login.c(118): \t\t\tvar index = prop.idx,\n
Login.c(118): \t\t\t\tstartValue = start[ index ],\n
Login.c(118): \t\t\t\tendValue = end[ index ],\n
Login.c(118): \t\t\t\ttype = propTypes[ prop.type ] || {};\n
Login.c(118): \n
Login.c(118): \t\t\t// if null, don't override start value\n
Login.c(118): \t\t\tif ( endValue === null ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t// if null - use end\n
Login.c(118): \t\t\tif ( startValue === null ) {\n
Login.c(118): \t\t\t\tresult[ index ] = endValue;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tif ( type.mod ) {\n
Login.c(118): \t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\n
Login.c(118): \t\t\t\t\t\tstartValue += type.mod;\n
Login.c(118): \t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\n
Login.c(118): \t\t\t\t\t\tstartValue -= type.mod;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) *
distance + startValue, prop )
Login.c(118): ;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn this[ spaceName ]( result );\n
Login.c(118): \t},\n
Login.c(118): \tblend: function( opaque ) {\n
Login.c(118): \t\t// if we are already opaque - return ourself\n
Login.c(118): \t\tif ( this._rgba[ 3 ] === 1 ) {\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar rgb = this._rgba.slice(),\n
Login.c(118): \t\t\ta = rgb.pop(),\n
Login.c(118): \t\t\tblend = color( opaque )._rgba;\n
Login.c(118): \n
Login.c(118): \t\treturn color( jQuery.map( rgb, function( v, i ) {\n
Login.c(118): \t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\n
Login.c(118): \t\t}));\n
Login.c(118): \t},\n
Login.c(118): \ttoRgbaString: function() {\n
Login.c(118): \t\tvar prefix = "rgba(",\n
Login.c(118): \t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\n
Login.c(118): \t\t\t\treturn v == null ? ( i > 2 ? 1 : 0 ) : v;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( rgba[ 3 ] === 1 ) {\n
Login.c(118): \t\t\trgba.pop();\n
Login.c(118): \t\t\tprefix = "rgb(";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn prefix + rgba.join() + ")";\n
Login.c(118): \t},\n
Login.c(118): \ttoHslaString: function() {\n
Login.c(118): \t\tvar prefix = "hsla(",\n
Login.c(118): \t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\n
Login.c(118): \t\t\t\tif ( v == null ) {\n
Login.c(118): \t\t\t\t\tv = i > 2 ? 1 : 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// catch 1 and 2\n
Login.c(118): \t\t\t\tif ( i && i < 3 ) {\n
Login.c(118): \t\t\t\t\tv = Math.round( v * 100 ) + "%";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn v;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( hsla[ 3 ] === 1 ) {\n
Login.c(118): \t\t\thsla.pop();\n
Login.c(118): \t\t\tprefix = "hsl(";\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn prefix + hsla.join() + ")";\n
Login.c(118): \t},\n
Login.c(118): \ttoHexString: function( includeAlpha ) {\n
Login.c(118): \t\tvar rgba = this._rgba.slice(),\n
Login.c(118): \t\t\talpha = rgba.pop();\n
Login.c(118): \n
Login.c(118): \t\tif ( includeAlpha ) {\n
Login.c(118): \t\t\trgba.push( ~~( alpha * 255 ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn "#" + jQuery.map( rgba, function( v ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// default to 0 when nulls exist\n
Login.c(118): \t\t\tv = ( v || 0 ).toString( 16 );\n
Login.c(118): \t\t\treturn v.length === 1 ? "0" + v : v;\n
Login.c(118): \t\t}).join("");\n
Login.c(118): \t},\n
Login.c(118): \ttoString: function() {\n
Login.c(118): \t\treturn this._rgba[ 3 ] === 0 ? "transparent" :
this.toRgbaString();\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): color.fn.parse.prototype = color.fn;\n
Login.c(118): \n
Login.c(118): // hsla conversions adapted from:\n
Login.c(118): //
https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graph
ics/
Login.c(118): colors/HUE2RGB.as?r=5021\n
Login.c(118): \n
Login.c(118): function hue2rgb( p, q, h ) {\n
Login.c(118): \th = ( h + 1 ) % 1;\n
Login.c(118): \tif ( h * 6 < 1 ) {\n
Login.c(118): \t\treturn p + ( q - p ) * h * 6;\n
Login.c(118): \t}\n
Login.c(118): \tif ( h * 2 < 1) {\n
Login.c(118): \t\treturn q;\n
Login.c(118): \t}\n
Login.c(118): \tif ( h * 3 < 2 ) {\n
Login.c(118): \t\treturn p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;\n
Login.c(118): \t}\n
Login.c(118): \treturn p;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): spaces.hsla.to = function( rgba ) {\n
Login.c(118): \tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] ==
null ) {\n
Login.c(118): \t\treturn [ null, null, null, rgba[ 3 ] ];\n
Login.c(118): \t}\n
Login.c(118): \tvar r = rgba[ 0 ] / 255,\n
Login.c(118): \t\tg = rgba[ 1 ] / 255,\n
Login.c(118): \t\tb = rgba[ 2 ] / 255,\n
Login.c(118): \t\ta = rgba[ 3 ],\n
Login.c(118): \t\tmax = Math.max( r, g, b ),\n
Login.c(118): \t\tmin = Math.min( r, g, b ),\n
Login.c(118): \t\tdiff = max - min,\n
Login.c(118): \t\tadd = max + min,\n
Login.c(118): \t\tl = add * 0.5,\n
Login.c(118): \t\th, s;\n
Login.c(118): \n
Login.c(118): \tif ( min === max ) {\n
Login.c(118): \t\th = 0;\n
Login.c(118): \t} else if ( r === max ) {\n
Login.c(118): \t\th = ( 60 * ( g - b ) / diff ) + 360;\n
Login.c(118): \t} else if ( g === max ) {\n
Login.c(118): \t\th = ( 60 * ( b - r ) / diff ) + 120;\n
Login.c(118): \t} else {\n
Login.c(118): \t\th = ( 60 * ( r - g ) / diff ) + 240;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// chroma (diff) == 0 means greyscale which, by definition,
saturation = 0%\n
Login.c(118): \t// otherwise, saturation is based on the ratio of chroma (diff)
to lightness (add)\n
Login.c(118): \tif ( diff === 0 ) {\n
Login.c(118): \t\ts = 0;\n
Login.c(118): \t} else if ( l <= 0.5 ) {\n
Login.c(118): \t\ts = diff / add;\n
Login.c(118): \t} else {\n
Login.c(118): \t\ts = diff / ( 2 - add );\n
Login.c(118): \t}\n
Login.c(118): \treturn [ Math.round(h) % 360, s, l, a == null ? 1 : a ];\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): spaces.hsla.from = function( hsla ) {\n
Login.c(118): \tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] ==
null ) {\n
Login.c(118): \t\treturn [ null, null, null, hsla[ 3 ] ];\n
Login.c(118): \t}\n
Login.c(118): \tvar h = hsla[ 0 ] / 360,\n
Login.c(118): \t\ts = hsla[ 1 ],\n
Login.c(118): \t\tl = hsla[ 2 ],\n
Login.c(118): \t\ta = hsla[ 3 ],\n
Login.c(118): \t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\n
Login.c(118): \t\tp = 2 * l - q;\n
Login.c(118): \n
Login.c(118): \treturn [\n
Login.c(118): \t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\n
Login.c(118): \t\tMath.round( hue2rgb( p, q, h ) * 255 ),\n
Login.c(118): \t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\n
Login.c(118): \t\ta\n
Login.c(118): \t];\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): each( spaces, function( spaceName, space ) {\n
Login.c(118): \tvar props = space.props,\n
Login.c(118): \t\tcache = space.cache,\n
Login.c(118): \t\tto = space.to,\n
Login.c(118): \t\tfrom = space.from;\n
Login.c(118): \n
Login.c(118): \t// makes rgba() and hsla()\n
Login.c(118): \tcolor.fn[ spaceName ] = function( value ) {\n
Login.c(118): \n
Login.c(118): \t\t// generate a cache for this space if it doesn't exist\n
Login.c(118): \t\tif ( to && !this[ cache ] ) {\n
Login.c(118): \t\t\tthis[ cache ] = to( this._rgba );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( value === undefined ) {\n
Login.c(118): \t\t\treturn this[ cache ].slice();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar ret,\n
Login.c(118): \t\t\ttype = jQuery.type( value ),\n
Login.c(118): \t\t\tarr = ( type === "array" || type === "object" ) ? value :
arguments,\n
Login.c(118): \t\t\tlocal = this[ cache ].slice();\n
Login.c(118): \n
Login.c(118): \t\teach( props, function( key, prop ) {\n
Login.c(118): \t\t\tvar val = arr[ type === "object" ? key : prop.idx ];\n
Login.c(118): \t\t\tif ( val == null ) {\n
Login.c(118): \t\t\t\tval = local[ prop.idx ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tlocal[ prop.idx ] = clamp( val, prop );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( from ) {\n
Login.c(118): \t\t\tret = color( from( local ) );\n
Login.c(118): \t\t\tret[ cache ] = local;\n
Login.c(118): \t\t\treturn ret;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn color( local );\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t// makes red() green() blue() alpha() hue() saturation()
lightness()\n
Login.c(118): \teach( props, function( key, prop ) {\n
Login.c(118): \t\t// alpha is included in more than one space\n
Login.c(118): \t\tif ( color.fn[ key ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tcolor.fn[ key ] = function( value ) {\n
Login.c(118): \t\t\tvar vtype = jQuery.type( value ),\n
Login.c(118): \t\t\t\tfn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" )
: spaceName ),\n
Login.c(118): \t\t\t\tlocal = this[ fn ](),\n
Login.c(118): \t\t\t\tcur = local[ prop.idx ],\n
Login.c(118): \t\t\t\tmatch;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( vtype === "undefined" ) {\n
Login.c(118): \t\t\t\treturn cur;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( vtype === "function" ) {\n
Login.c(118): \t\t\t\tvalue = value.call( this, cur );\n
Login.c(118): \t\t\t\tvtype = jQuery.type( value );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( value == null && prop.empty ) {\n
Login.c(118): \t\t\t\treturn this;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( vtype === "string" ) {\n
Login.c(118): \t\t\t\tmatch = rplusequals.exec( value );\n
Login.c(118): \t\t\t\tif ( match ) {\n
Login.c(118): \t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ]
=== "+" ? 1 : -1 );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tlocal[ prop.idx ] = value;\n
Login.c(118): \t\t\treturn this[ fn ]( local );\n
Login.c(118): \t\t};\n
Login.c(118): \t});\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // add cssHook and .fx.step function for each named hook.\n
Login.c(118): // accept a space separated string of properties\n
Login.c(118): color.hook = function( hook ) {\n
Login.c(118): \tvar hooks = hook.split( " " );\n
Login.c(118): \teach( hooks, function( i, hook ) {\n
Login.c(118): \t\tjQuery.cssHooks[ hook ] = {\n
Login.c(118): \t\t\tset: function( elem, value ) {\n
Login.c(118): \t\t\t\tvar parsed, curElem,\n
Login.c(118): \t\t\t\t\tbackgroundColor = "";\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( value !== "transparent" && ( jQuery.type( value ) !
== "string" || ( parsed =
Login.c(118): stringParse( value ) ) ) ) {\n
Login.c(118): \t\t\t\t\tvalue = color( parsed || value );\n
Login.c(118): \t\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\n
Login.c(118): \t\t\t\t\t\tcurElem = hook === "backgroundColor" ?
elem.parentNode : elem;\n
Login.c(118): \t\t\t\t\t\twhile (\n
Login.c(118): \t\t\t\t\t\t\t(backgroundColor === "" || backgroundColor ===
"transparent") &&\n
Login.c(118): \t\t\t\t\t\t\tcurElem && curElem.style\n
Login.c(118): \t\t\t\t\t\t) {\n
Login.c(118): \t\t\t\t\t\t\ttry {\n
Login.c(118): \t\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem,
"backgroundColor" );\n
Login.c(118): \t\t\t\t\t\t\t\tcurElem = curElem.parentNode;\n
Login.c(118): \t\t\t\t\t\t\t} catch ( e ) {\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tvalue = value.blend( backgroundColor && ba
Login.c(118): t=6880ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ckgroundColor !== "transparent" ?\n
Login.c(118): \t\t\t\t\t\t\tbackgroundColor :\n
Login.c(118): \t\t\t\t\t\t\t"_default" );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tvalue = value.toRgbaString();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\ttry {\n
Login.c(118): \t\t\t\t\telem.style[ hook ] = value;\n
Login.c(118): \t\t\t\t} catch( e ) {\n
Login.c(118): \t\t\t\t\t// wrapped to prevent IE from throwing errors on
"invalid" values like 'auto' or
Login.c(118): 'inherit'\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t\tjQuery.fx.step[ hook ] = function( fx ) {\n
Login.c(118): \t\t\tif ( !fx.colorInit ) {\n
Login.c(118): \t\t\t\tfx.start = color( fx.elem, hook );\n
Login.c(118): \t\t\t\tfx.end = color( fx.end );\n
Login.c(118): \t\t\t\tfx.colorInit = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tjQuery.cssHooks[ hook ].set( fx.elem,
fx.start.transition( fx.end, fx.pos ) );\n
Login.c(118): \t\t};\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): color.hook( stepHooks );\n
Login.c(118): \n
Login.c(118): jQuery.cssHooks.borderColor = {\n
Login.c(118): \texpand: function( value ) {\n
Login.c(118): \t\tvar expanded = {};\n
Login.c(118): \n
Login.c(118): \t\teach( [ "Top", "Right", "Bottom", "Left" ], function( i, part
) {\n
Login.c(118): \t\t\texpanded[ "border" + part + "Color" ] = value;\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn expanded;\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // Basic color names only.\n
Login.c(118): // Usage of any of the other color names requires adding yourself
or including\n
Login.c(118): // jquery.color.svg-names.js.\n
Login.c(118): colors = jQuery.Color.names = {\n
Login.c(118): \t// 4.1. Basic color keywords\n
Login.c(118): \taqua: "#00ffff",\n
Login.c(118): \tblack: "#000000",\n
Login.c(118): \tblue: "#0000ff",\n
Login.c(118): \tfuchsia: "#ff00ff",\n
Login.c(118): \tgray: "#808080",\n
Login.c(118): \tgreen: "#008000",\n
Login.c(118): \tlime: "#00ff00",\n
Login.c(118): \tmaroon: "#800000",\n
Login.c(118): \tnavy: "#000080",\n
Login.c(118): \tolive: "#808000",\n
Login.c(118): \tpurple: "#800080",\n
Login.c(118): \tred: "#ff0000",\n
Login.c(118): \tsilver: "#c0c0c0",\n
Login.c(118): \tteal: "#008080",\n
Login.c(118): \twhite: "#ffffff",\n
Login.c(118): \tyellow: "#ffff00",\n
Login.c(118): \n
Login.c(118): \t// 4.2.3. "transparent" color keyword\n
Login.c(118): \ttransparent: [ null, null, null, 0 ],\n
Login.c(118): \n
Login.c(118): \t_default: "#ffffff"\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): })( jQuery );\n
Login.c(118): \n
Login.c(118):
/******************************************************************************/\n
Login.c(118): /****************************** CLASS ANIMATIONS
******************************/\n
Login.c(118):
/******************************************************************************/\n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): var classAnimationActions = [ "add", "remove", "toggle" ],\n
Login.c(118): \tshorthandStyles = {\n
Login.c(118): \t\tborder: 1,\n
Login.c(118): \t\tborderBottom: 1,\n
Login.c(118): \t\tborderColor: 1,\n
Login.c(118): \t\tborderLeft: 1,\n
Login.c(118): \t\tborderRight: 1,\n
Login.c(118): \t\tborderTop: 1,\n
Login.c(118): \t\tborderWidth: 1,\n
Login.c(118): \t\tmargin: 1,\n
Login.c(118): \t\tpadding: 1\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): $.each([ "borderLeftStyle", "borderRightStyle",
"borderBottomStyle", "borderTopStyle" ], f
Login.c(118): unction( _, prop ) {\n
Login.c(118): \t$.fx.step[ prop ] = function( fx ) {\n
Login.c(118): \t\tif ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !
fx.setAttr ) {\n
Login.c(118): \t\t\tjQuery.style( fx.elem, prop, fx.end );\n
Login.c(118): \t\t\tfx.setAttr = true;\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function getElementStyles( elem ) {\n
Login.c(118): \tvar key, len,\n
Login.c(118): \t\tstyle = elem.ownerDocument.defaultView ?\n
Login.c(118): \t\t\telem.ownerDocument.defaultView.getComputedStyle( elem, null
) :\n
Login.c(118): \t\t\telem.currentStyle,\n
Login.c(118): \t\tstyles = {};\n
Login.c(118): \n
Login.c(118): \tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ]
) {\n
Login.c(118): \t\tlen = style.length;\n
Login.c(118): \t\twhile ( len-- ) {\n
Login.c(118): \t\t\tkey = style[ len ];\n
Login.c(118): \t\t\tif ( typeof style[ key ] === "string" ) {\n
Login.c(118): \t\t\t\tstyles[ $.camelCase( key ) ] = style[ key ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t// support: Opera, IE <9\n
Login.c(118): \t} else {\n
Login.c(118): \t\tfor ( key in style ) {\n
Login.c(118): \t\t\tif ( typeof style[ key ] === "string" ) {\n
Login.c(118): \t\t\t\tstyles[ key ] = style[ key ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn styles;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function styleDifference( oldStyle, newStyle ) {\n
Login.c(118): \tvar diff = {},\n
Login.c(118): \t\tname, value;\n
Login.c(118): \n
Login.c(118): \tfor ( name in newStyle ) {\n
Login.c(118): \t\tvalue = newStyle[ name ];\n
Login.c(118): \t\tif ( oldStyle[ name ] !== value ) {\n
Login.c(118): \t\t\tif ( !shorthandStyles[ name ] ) {\n
Login.c(118): \t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) )
{\n
Login.c(118): \t\t\t\t\tdiff[ name ] = value;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn diff;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // support: jQuery <1.8\n
Login.c(118): if ( !$.fn.addBack ) {\n
Login.c(118): \t$.fn.addBack = function( selector ) {\n
Login.c(118): \t\treturn this.add( selector == null ?\n
Login.c(118): \t\t\tthis.prevObject : this.prevObject.filter( selector )\n
Login.c(118): \t\t);\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.effects.animateClass = function( value, duration, easing,
callback ) {\n
Login.c(118): \tvar o = $.speed( duration, easing, callback );\n
Login.c(118): \n
Login.c(118): \treturn this.queue( function() {\n
Login.c(118): \t\tvar animated = $( this ),\n
Login.c(118): \t\t\tbaseClass = animated.attr( "class" ) || "",\n
Login.c(118): \t\t\tapplyClassChange,\n
Login.c(118): \t\t\tallAnimations = o.children ? animated.find( "*" ).addBack()
: animated;\n
Login.c(118): \n
Login.c(118): \t\t// map the animated objects to store the original styles.\n
Login.c(118): \t\tallAnimations = allAnimations.map(function() {\n
Login.c(118): \t\t\tvar el = $( this );\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\tel: el,\n
Login.c(118): \t\t\t\tstart: getElementStyles( this )\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// apply class change\n
Login.c(118): \t\tapplyClassChange = function() {\n
Login.c(118): \t\t\t$.each( classAnimationActions, function(i, action) {\n
Login.c(118): \t\t\t\tif ( value[ action ] ) {\n
Login.c(118): \t\t\t\t\tanimated[ action + "Class" ]( value[ action ] );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t\tapplyClassChange();\n
Login.c(118): \n
Login.c(118): \t\t// map all animated objects again - calculate new styles and
diff\n
Login.c(118): \t\tallAnimations = allAnimations.map(function() {\n
Login.c(118): \t\t\tthis.end = getElementStyles( this.el[ 0 ] );\n
Login.c(118): \t\t\tthis.diff = styleDifference( this.start, this.end );\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// apply original class\n
Login.c(118): \t\tanimated.attr( "class", baseClass );\n
Login.c(118): \n
Login.c(118): \t\t// map all animated objects again - this time collecting a
promise\n
Login.c(118): \t\tallAnimations = allAnimations.map(function() {\n
Login.c(118): \t\t\tvar styleInfo = this,\n
Login.c(118): \t\t\t\tdfd = $.Deferred(),\n
Login.c(118): \t\t\t\topts = $.extend({}, o, {\n
Login.c(118): \t\t\t\t\tqueue: false,\n
Login.c(118): \t\t\t\t\tcomplete: function() {\n
Login.c(118): \t\t\t\t\t\tdfd.resolve( styleInfo );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.el.animate( this.diff, opts );\n
Login.c(118): \t\t\treturn dfd.promise();\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// once all animations have completed:\n
Login.c(118): \t\t$.when.apply( $, allAnimations.get() ).done(function() {\n
Login.c(118): \n
Login.c(118): \t\t\t// set the final class\n
Login.c(118): \t\t\tapplyClassChange();\n
Login.c(118): \n
Login.c(118): \t\t\t// for each animated element,\n
Login.c(118): \t\t\t// clear all css properties that were animated\n
Login.c(118): \t\t\t$.each( arguments, function() {\n
Login.c(118): \t\t\t\tvar el = this.el;\n
Login.c(118): \t\t\t\t$.each( this.diff, function(key) {\n
Login.c(118): \t\t\t\t\tel.css( key, "" );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t// this is guarnteed to be there if you use
jQuery.speed()\n
Login.c(118): \t\t\t// it also handles dequeuing the next anim...\n
Login.c(118): \t\t\to.complete.call( animated[ 0 ] );\n
Login.c(118): \t\t});\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.fn.extend({\n
Login.c(118): \taddClass: (function( orig ) {\n
Login.c(118): \t\treturn function( classNames, speed, easing, callback ) {\n
Login.c(118): \t\t\treturn speed ?\n
Login.c(118): \t\t\t\t$.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t{ add: classNames }, speed, easing, callback ) :\n
Login.c(118): \t\t\t\torig.apply( this, arguments );\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.addClass ),\n
Login.c(118): \n
Login.c(118): \tremoveClass: (function( orig ) {\n
Login.c(118): \t\treturn function( classNames, speed, easing, callback ) {\n
Login.c(118): \t\t\treturn arguments.length > 1 ?\n
Login.c(118): \t\t\t\t$.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\n
Login.c(118): \t\t\t\torig.apply( this, arguments );\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.removeClass ),\n
Login.c(118): \n
Login.c(118): \ttoggleClass: (function( orig ) {\n
Login.c(118): \t\treturn function( classNames, force, speed, easing, callback )
{\n
Login.c(118): \t\t\tif ( typeof force === "boolean" || force === undefined )
{\n
Login.c(118): \t\t\t\tif ( !speed ) {\n
Login.c(118): \t\t\t\t\t// without speed parameter\n
Login.c(118): \t\t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\treturn $.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t\t(force ? { add: classNames } : { remove:
classNames }),\n
Login.c(118): \t\t\t\t\t\tspeed, easing, callback );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// without force parameter\n
Login.c(118): \t\t\t\treturn $.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t{ toggle: classNames }, force, speed, easing );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.toggleClass ),\n
Login.c(118): \n
Login.c(118): \tswitchClass: function( remove, add, speed, easing, callback)
{\n
Login.c(118): \t\treturn $.effects.animateClass.call( this, {\n
Login.c(118): \t\t\tadd: add,\n
Login.c(118): \t\t\tremove: remove\n
Login.c(118): \t\t}, speed, easing, callback );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118):
/******************************************************************************/\n
Login.c(118): /*********************************** EFFECTS
**********************************/\n
Login.c(118):
/******************************************************************************/\n
Login.c(118): \n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): $.extend( $.effects, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \n
Login.c(118): \t// Saves a set of properties in a data storage\n
Login.c(118): \tsave: function( element, set ) {\n
Login.c(118): \t\tfor ( var i = 0; i < set.length; i++ ) {\n
Login.c(118): \t\t\tif ( set[ i ] !== null ) {\n
Login.c(118): \t\t\t\telement.data( dataSpace + set[ i ],
element[ 0 ].style[ set[ i ] ] );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Restores a set of previously saved properties from a data
storage\n
Login.c(118): \trestore: function( element, set ) {\n
Login.c(118): \t\tvar val, i;\n
Login.c(118): \t\tfor ( i = 0; i < set.length; i++ ) {\n
Login.c(118): \t\t\tif ( set[ i ] !== null ) {\n
Login.c(118): \t\t\t\tval = element.data( dataSpace + set[ i ] );\n
Login.c(118): \t\t\t\t// support: jQuery 1.6.2\n
Login.c(118): \t\t\t\t// http://bugs.jquery.com/ticket/9917\n
Login.c(118): \t\t\t\t// jQuery 1.6.2 incorrectly returns undefined for any
falsy value.\n
Login.c(118): \t\t\t\t// We can't differentiate between "" and 0 here, so we
just assume\n
Login.c(118): \t\t\t\t// empty string since it's likely to be a more common
value...\n
Login.c(118): \t\t\t\tif ( val === undefined ) {\n
Login.c(118): \t\t\t\t\tval = "";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\telement.css( set[ i ], val );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsetMode: function( el, mode ) {\n
Login.c(118): \t\tif (mode === "toggle") {\n
Login.c(118): \t\t\tmode = el.is( ":hidden" ) ? "show" : "hide";\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn mode;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Translates a [top,left] array into a baseline value\n
Login.c(118): \t// this should be a little more flexible in the future to
handle a string & hash\n
Login.c(118): \tgetBaseline: function( origin, original ) {\n
Login.c(118): \t\tvar y, x;\n
Login.c(118): \t\tswitch ( origin[ 0 ] ) {\n
Login.c(118): \t\t\tcase "top": y = 0; break;\n
Login.c(118): \t\t\tcase "middle": y = 0.5; break;\n
Login.c(118): \t\t\tcase "bottom": y = 1; break;\n
Login.c(118): \t\t\tdefault: y = origin[ 0 ] / original.height;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tswitch ( origin[ 1 ] ) {\n
Login.c(118): \t\t\tcase "left": x = 0; break;\n
Login.c(118): \t\t\tcase "center": x = 0.5; break;\n
Login.c(118): \t\t\tcase "right": x = 1; break;\n
Login.c(118): \t\t\tdefault: x = origin[ 1 ] / original.width;\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tx: x,\n
Login.c(118): \t\t\ty: y\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Wraps the element around a wrapper that copies position
properties\n
Login.c(118): \tcreateWrapper: function( element ) {\n
Login.c(118): \n
Login.c(118): \t\t// if the element is already wrapped, return it\n
Login.c(118): \t\tif ( element.parent().is( ".ui-effects-wrapper" )) {\n
Login.c(118): \t\t\treturn element.parent();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// wrap the element\n
Login.c(118): \t\tvar props = {\n
Login.c(118): \t\t\t\twidth: element.outerWidth(true),\n
Login.c(118): \t\t\t\theight: element.outerHeight(true),\n
Login.c(118): \t\t\t\t"float": element.css( "float" )\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\twrapper = $( "<div></div>" )\n
Login.c(118): \t\t\t\t.addClass( "ui-effects-wrapper" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tfontSize: "100%",\n
Login.c(118): \t\t\t\t\tbackground: "transparent",\n
Login.c(118): \t\t\t\t\tborder: "none",\n
Login.c(118): \t\t\t\t\tmargin: 0,\n
Login.c(118): \t\t\t\t\tpadding: 0\n
Login.c(118): \t\t\t\t}),\n
Login.c(118): \t\t\t// Store the size in case width/height are defined in % -
Fixes #5245\n
Login.c(118): \t\t\tsize = {\n
Login.c(118): \t\t\t\twidth: element.width(),\n
Login.c(118): \t\t\t\theight: element.height()\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tactive = document.activeElement;\n
Login.c(118): \n
Login.c(118): \t\t// support: Firefox\n
Login.c(118): \t\t// Firefox incorrectly exposes anonymous content\n
Login.c(118): \t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\tactive.id;\n
Login.c(118): \t\t} catch( e ) {\n
Login.c(118): \t\t\tactive = document.body;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\telement.wrap( wrapper );\n
Login.c(118): \n
Login.c(118): \t\t// Fixes #7595 - Elements lose focus when wrapped.\n
Login.c(118): \t\tif ( element[ 0 ] === active || $.contains( element[ 0 ],
active ) ) {\n
Login.c(118): \t\t\t$( active ).focus();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\twrapper = element.parent(); //Hotfix for jQuery 1.4 since
some change in wrap() seems
Login.c(118): to actually lose the reference to the wrapped element\n
Login.c(118): \n
Login.c(118): \t\t// transfer positioning properties to the wrapper\n
Login.c(118): \t\tif ( element.css( "position" ) === "static" ) {\n
Login.c(118): \t\t\twrapper.css({ position: "relative" });\n
Login.c(118): \t\t\telement.css({ position: "relative" });\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t$.extend( props, {\n
Login.c(118): \t\t\t\tposition: element.css( "position" ),\n
Login.c(118): \t\t\t\tzIndex: element.css( "z-index" )\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\t$.each([ "top", "left", "bottom", "right" ], function(i,
pos) {\n
Login.c(118): \t\t\t\tprops[ pos ] = element.css( pos );\n
Login.c(118): \t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\n
Login.c(118): \t\t\t\t\tprops[ pos ] = "auto";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\telement.css({\n
Login.c(118): \t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\ttop: 0,\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\tright: "auto",\n
Login.c(118): \t\t\t\tbottom: "auto"\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t\telement.css(size);\n
Login.c(118): \n
Login.c(118): \t\treturn wrapper.css( props ).show();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tremoveWrapper: function( element ) {\n
Login.c(118): \t\tvar active = document.activeElement;\n
Login.c(118): \n
Login.c(118): \t\tif ( element.parent().is( ".ui-effects-wrapper" ) ) {\n
Login.c(118): \t\t\telement.parent().replaceWith( element );\n
Login.c(118): \n
Login.c(118): \t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n
Login.c(118): \t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ],
active ) ) {\n
Login.c(118): \t\t\t\t$( active ).focus();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsetTransition: function( element, list, factor, value ) {\n
Login.c(118): \t\tvalue = value || {};\n
Login.c(118): \t\t$.each( list, function( i, x ) {\n
Login.c(118): \t\t\tvar unit = element.cssUnit( x );\n
Login.c(118): \t\t\tif ( unit[ 0 ] > 0 ) {\n
Login.c(118): \t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn value;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // return an effect options object for the given parameters:\n
Login.c(118): function _normalizeArguments( effect, options, speed, callback )
{\n
Login.c(118): \n
Login.c(118): \t// allow passing all options as the first parameter\n
Login.c(118): \tif ( $.isPlainObject( effect ) ) {\n
Login.c(118): \t\toptions = effect;\n
Login.c(118): \t\teffect = effect.effect;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// convert to an object\n
Login.c(118): \teffect = { effect: effect };\n
Login.c(118): \n
Login.c(118): \t// catch (effect, null, ...)\n
Login.c(118): \tif ( options == null ) {\n
Login.c(118): \t\toptions = {};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// catch (effect, callback)\n
Login.c(118): \tif ( $.isFunction( options ) ) {\n
Login.c(118): \t\tcallback = options;\n
Login.c(118): \t\tspeed = null;\n
Login.c(118): \t\toptions = {};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// catch (effect, speed, ?)\n
Login.c(118): \tif ( typeof options === "number" || $.fx.speeds[ options ] )
{\n
Login.c(118): \t\tcallback = speed;\n
Login.c(118): \t\tspeed = options;\n
Login.c(118): \t\toptions = {};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// catch (effect, options, callback)\n
Login.c(118): \tif ( $.isFunction( speed ) ) {\n
Login.c(118): \t\tcallback = speed;\n
Login.c(118): \t\tspeed = null;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// add options to effect\n
Login.c(118): \tif ( options ) {\n
Login.c(118): \t\t$.extend( effect, options );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tspeed = speed || options.duration;\n
Login.c(118): \teffect.duration = $.fx.off ? 0 :\n
Login.c(118): \t\ttypeof speed === "number" ? speed :\n
Login.c(118): \t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\n
Login.c(118): \t\t$.fx.speeds._default;\n
Login.c(118): \n
Login.c(118): \teffect.complete = callback || options.compl
Login.c(118): t=6901ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ete;\n
Login.c(118): \n
Login.c(118): \treturn effect;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function standardAnimationOption( option ) {\n
Login.c(118): \t// Valid standard speeds (nothing, number, named speed)\n
Login.c(118): \tif ( !option || typeof option === "number" ||
$.fx.speeds[ option ] ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Invalid strings - treat as "normal" speed\n
Login.c(118): \tif ( typeof option === "string" && !
$.effects.effect[ option ] ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Complete callback\n
Login.c(118): \tif ( $.isFunction( option ) ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Options hash (but not naming an effect)\n
Login.c(118): \tif ( typeof option === "object" && !option.effect ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Didn't match any standard API\n
Login.c(118): \treturn false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.fn.extend({\n
Login.c(118): \teffect: function( /* effect, options, speed, callback */ ) {\n
Login.c(118): \t\tvar args = _normalizeArguments.apply( this, arguments ),\n
Login.c(118): \t\t\tmode = args.mode,\n
Login.c(118): \t\t\tqueue = args.queue,\n
Login.c(118): \t\t\teffectMethod = $.effects.effect[ args.effect ];\n
Login.c(118): \n
Login.c(118): \t\tif ( $.fx.off || !effectMethod ) {\n
Login.c(118): \t\t\t// delegate to the original method (e.g., .show()) if
possible\n
Login.c(118): \t\t\tif ( mode ) {\n
Login.c(118): \t\t\t\treturn this[ mode ]( args.duration, args.complete );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\treturn this.each( function() {\n
Login.c(118): \t\t\t\t\tif ( args.complete ) {\n
Login.c(118): \t\t\t\t\t\targs.complete.call( this );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfunction run( next ) {\n
Login.c(118): \t\t\tvar elem = $( this ),\n
Login.c(118): \t\t\t\tcomplete = args.complete,\n
Login.c(118): \t\t\t\tmode = args.mode;\n
Login.c(118): \n
Login.c(118): \t\t\tfunction done() {\n
Login.c(118): \t\t\t\tif ( $.isFunction( complete ) ) {\n
Login.c(118): \t\t\t\t\tcomplete.call( elem[0] );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( $.isFunction( next ) ) {\n
Login.c(118): \t\t\t\t\tnext();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// If the element already has the correct final state,
delegate to\n
Login.c(118): \t\t\t// the core methods so the internal tracking of
"olddisplay" works.\n
Login.c(118): \t\t\tif ( elem.is( ":hidden" ) ? mode === "hide" : mode ===
"show" ) {\n
Login.c(118): \t\t\t\telem[ mode ]();\n
Login.c(118): \t\t\t\tdone();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\teffectMethod.call( elem[0], args, done );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn queue === false ? this.each( run ) : this.queue( queue
|| "fx", run );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tshow: (function( orig ) {\n
Login.c(118): \t\treturn function( option ) {\n
Login.c(118): \t\t\tif ( standardAnimationOption( option ) ) {\n
Login.c(118): \t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tvar args = _normalizeArguments.apply( this,
arguments );\n
Login.c(118): \t\t\t\targs.mode = "show";\n
Login.c(118): \t\t\t\treturn this.effect.call( this, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.show ),\n
Login.c(118): \n
Login.c(118): \thide: (function( orig ) {\n
Login.c(118): \t\treturn function( option ) {\n
Login.c(118): \t\t\tif ( standardAnimationOption( option ) ) {\n
Login.c(118): \t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tvar args = _normalizeArguments.apply( this,
arguments );\n
Login.c(118): \t\t\t\targs.mode = "hide";\n
Login.c(118): \t\t\t\treturn this.effect.call( this, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.hide ),\n
Login.c(118): \n
Login.c(118): \ttoggle: (function( orig ) {\n
Login.c(118): \t\treturn function( option ) {\n
Login.c(118): \t\t\tif ( standardAnimationOption( option ) || typeof option ===
"boolean" ) {\n
Login.c(118): \t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tvar args = _normalizeArguments.apply( this,
arguments );\n
Login.c(118): \t\t\t\targs.mode = "toggle";\n
Login.c(118): \t\t\t\treturn this.effect.call( this, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.toggle ),\n
Login.c(118): \n
Login.c(118): \t// helper functions\n
Login.c(118): \tcssUnit: function(key) {\n
Login.c(118): \t\tvar style = this.css( key ),\n
Login.c(118): \t\t\tval = [];\n
Login.c(118): \n
Login.c(118): \t\t$.each( [ "em", "px", "%", "pt" ], function( i, unit ) {\n
Login.c(118): \t\t\tif ( style.indexOf( unit ) > 0 ) {\n
Login.c(118): \t\t\t\tval = [ parseFloat( style ), unit ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn val;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118):
/******************************************************************************/\n
Login.c(118): /*********************************** EASING
***********************************/\n
Login.c(118):
/******************************************************************************/\n
Login.c(118): \n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): // based on easing equations from Robert Penner
(http://www.robertpenner.com/easing)\n
Login.c(118): \n
Login.c(118): var baseEasings = {};\n
Login.c(118): \n
Login.c(118): $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ],
function( i, name ) {\n
Login.c(118): \tbaseEasings[ name ] = function( p ) {\n
Login.c(118): \t\treturn Math.pow( p, i + 2 );\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.extend( baseEasings, {\n
Login.c(118): \tSine: function( p ) {\n
Login.c(118): \t\treturn 1 - Math.cos( p * Math.PI / 2 );\n
Login.c(118): \t},\n
Login.c(118): \tCirc: function( p ) {\n
Login.c(118): \t\treturn 1 - Math.sqrt( 1 - p * p );\n
Login.c(118): \t},\n
Login.c(118): \tElastic: function( p ) {\n
Login.c(118): \t\treturn p === 0 || p === 1 ? p :\n
Login.c(118): \t\t\t-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 -
7.5 ) * Math.PI / 15 );\n
Login.c(118): \t},\n
Login.c(118): \tBack: function( p ) {\n
Login.c(118): \t\treturn p * p * ( 3 * p - 2 );\n
Login.c(118): \t},\n
Login.c(118): \tBounce: function( p ) {\n
Login.c(118): \t\tvar pow2,\n
Login.c(118): \t\t\tbounce = 4;\n
Login.c(118): \n
Login.c(118): \t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 )
{}\n
Login.c(118): \t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 *
Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2
Login.c(118): );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.each( baseEasings, function( name, easeIn ) {\n
Login.c(118): \t$.easing[ "easeIn" + name ] = easeIn;\n
Login.c(118): \t$.easing[ "easeOut" + name ] = function( p ) {\n
Login.c(118): \t\treturn 1 - easeIn( 1 - p );\n
Login.c(118): \t};\n
Login.c(118): \t$.easing[ "easeInOut" + name ] = function( p ) {\n
Login.c(118): \t\treturn p < 0.5 ?\n
Login.c(118): \t\t\teaseIn( p * 2 ) / 2 :\n
Login.c(118): \t\t\t1 - easeIn( p * -2 + 2 ) / 2;\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): var effect = $.effects;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Blind 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/blind-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectBlind = $.effects.effect.blind = function( o, done )
{\n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\trvertical = /up|down|vertical/,\n
Login.c(118): \t\trpositivemotion = /up|left|vertical|horizontal/,\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tdirection = o.direction || "up",\n
Login.c(118): \t\tvertical = rvertical.test( direction ),\n
Login.c(118): \t\tref = vertical ? "height" : "width",\n
Login.c(118): \t\tref2 = vertical ? "top" : "left",\n
Login.c(118): \t\tmotion = rpositivemotion.test( direction ),\n
Login.c(118): \t\tanimation = {},\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\twrapper, distance, margin;\n
Login.c(118): \n
Login.c(118): \t// if already wrapped, the wrapper's properties are my
property. #6245\n
Login.c(118): \tif ( el.parent().is( ".ui-effects-wrapper" ) ) {\n
Login.c(118): \t\t$.effects.save( el.parent(), props );\n
Login.c(118): \t} else {\n
Login.c(118): \t\t$.effects.save( el, props );\n
Login.c(118): \t}\n
Login.c(118): \tel.show();\n
Login.c(118): \twrapper = $.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \tdistance = wrapper[ ref ]();\n
Login.c(118): \tmargin = parseFloat( wrapper.css( ref2 ) ) || 0;\n
Login.c(118): \n
Login.c(118): \tanimation[ ref ] = show ? distance : 0;\n
Login.c(118): \tif ( !motion ) {\n
Login.c(118): \t\tel\n
Login.c(118): \t\t\t.css( vertical ? "bottom" : "right", 0 )\n
Login.c(118): \t\t\t.css( vertical ? "top" : "left", "auto" )\n
Login.c(118): \t\t\t.css({ position: "absolute" });\n
Login.c(118): \n
Login.c(118): \t\tanimation[ ref2 ] = show ? margin : distance + margin;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// start at 0 if we are showing\n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\twrapper.css( ref, 0 );\n
Login.c(118): \t\tif ( !motion ) {\n
Login.c(118): \t\t\twrapper.css( ref2, margin + distance );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \twrapper.animate( animation, {\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Bounce 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/bounce-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectBounce = $.effects.effect.bounce = function( o, done )
{\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \n
Login.c(118): \t\t// defaults:\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "up",\n
Login.c(118): \t\tdistance = o.distance,\n
Login.c(118): \t\ttimes = o.times || 5,\n
Login.c(118): \n
Login.c(118): \t\t// number of internal animations\n
Login.c(118): \t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\n
Login.c(118): \t\tspeed = o.duration / anims,\n
Login.c(118): \t\teasing = o.easing,\n
Login.c(118): \n
Login.c(118): \t\t// utility:\n
Login.c(118): \t\tref = ( direction === "up" || direction === "down" ) ?
"top" : "left",\n
Login.c(118): \t\tmotion = ( direction === "up" || direction === "left" ),\n
Login.c(118): \t\ti,\n
Login.c(118): \t\tupAnim,\n
Login.c(118): \t\tdownAnim,\n
Login.c(118): \n
Login.c(118): \t\t// we will need to re-assemble the queue to stack our
animations in place\n
Login.c(118): \t\tqueue = el.queue(),\n
Login.c(118): \t\tqueuelen = queue.length;\n
Login.c(118): \n
Login.c(118): \t// Avoid touching opacity to prevent clearType and PNG issues
in IE\n
Login.c(118): \tif ( show || hide ) {\n
Login.c(118): \t\tprops.push( "opacity" );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el ); // Create Wrapper\n
Login.c(118): \n
Login.c(118): \t// default distance for the BIGGEST bounce is the outer
Distance / 3\n
Login.c(118): \tif ( !distance ) {\n
Login.c(118): \t\tdistance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]
() / 3;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tdownAnim = { opacity: 1 };\n
Login.c(118): \t\tdownAnim[ ref ] = 0;\n
Login.c(118): \n
Login.c(118): \t\t// if we are showing, force opacity 0 and set the initial
position\n
Login.c(118): \t\t// then do the "first" animation\n
Login.c(118): \t\tel.css( "opacity", 0 )\n
Login.c(118): \t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\n
Login.c(118): \t\t\t.animate( downAnim, speed, easing );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// start at the smallest distance if we are hiding\n
Login.c(118): \tif ( hide ) {\n
Login.c(118): \t\tdistance = distance / Math.pow( 2, times - 1 );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tdownAnim = {};\n
Login.c(118): \tdownAnim[ ref ] = 0;\n
Login.c(118): \t// Bounces up/down/left/right then back to 0 -- times * 2
animations happen here\n
Login.c(118): \tfor ( i = 0; i < times; i++ ) {\n
Login.c(118): \t\tupAnim = {};\n
Login.c(118): \t\tupAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;\n
Login.c(118): \n
Login.c(118): \t\tel.animate( upAnim, speed, easing )\n
Login.c(118): \t\t\t.animate( downAnim, speed, easing );\n
Login.c(118): \n
Login.c(118): \t\tdistance = hide ? distance * 2 : distance / 2;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Last Bounce when Hiding\n
Login.c(118): \tif ( hide ) {\n
Login.c(118): \t\tupAnim = { opacity: 0 };\n
Login.c(118): \t\tupAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;\n
Login.c(118): \n
Login.c(118): \t\tel.animate( upAnim, speed, easing );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tel.queue(function() {\n
Login.c(118): \t\tif ( hide ) {\n
Login.c(118): \t\t\tel.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t\t$.effects.restore( el, props );\n
Login.c(118): \t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\tdone();\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// inject all the animations we just queued to be first in line
(after "inprogress")\n
Login.c(118): \tif ( queuelen > 1) {\n
Login.c(118): \t\tqueue.splice.apply( queue,\n
Login.c(118): \t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n
Login.c(118): \t}\n
Login.c(118): \tel.dequeue();\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Clip 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/clip-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectClip = $.effects.effect.clip = function( o, done ) {\n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "vertical",\n
Login.c(118): \t\tvert = direction === "vertical",\n
Login.c(118): \t\tsize = vert ? "height" : "width",\n
Login.c(118): \t\tposition = vert ? "top" : "left",\n
Login.c(118): \t\tanimation = {},\n
Login.c(118): \t\twrapper, animate, distance;\n
Login.c(118): \n
Login.c(118): \t// Save & Show\n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \n
Login.c(118): \t// Create Wrapper\n
Login.c(118): \twrapper = $.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \tanimate = ( el[0].tagName === "IMG" ) ? wrapper : el;\n
Login.c(118): \tdistance = animate[ size ]();\n
Login.c(118): \n
Login.c(118): \t// Shift\n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tanimate.css( size, 0 );\n
Login.c(118): \t\tanimate.css( position, distance / 2 );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Create Animation Object:\n
Login.c(118): \tanimation[ size ] = show ? distance : 0;\n
Login.c(118): \tanimation[ position ] = show ? 0 : distance / 2;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tanimate.animate( animation, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( !show ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Drop 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/drop-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectDrop = $.effects.effect.drop = function( o, done ) {\n
Login.c(118): \n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"opacity", "height", "width" ]
Login.c(118): ,\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "left",\n
Login.c(118): \t\tref = ( direction === "up" || direction === "down" ) ?
"top" : "left",\n
Login.c(118): \t\tmotion = ( direction === "up" || direction === "left" ) ?
"pos" : "neg",\n
Login.c(118): \t\tanimation = {\n
Login.c(118): \t\t\topacity: show ? 1 : 0\n
Login.c(118): \t\t},\n
Login.c(118): \t\tdistance;\n
Login.c(118): \n
Login.c(118): \t// Adjust\n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el );\n
Login.c(118): \n
Login.c(118): \tdistance = o.distance || el[ ref === "top" ? "outerHeight":
"outerWidth" ]( true ) / 2;\n
Login.c(118): \n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tel\n
Login.c(118): \t\t\t.css( "opacity", 0 )\n
Login.c(118): \t\t\t.css( ref, motion === "pos" ? -distance : distance );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation[ ref ] = ( show ?\n
Login.c(118): \t\t( motion === "pos" ? "+=" : "-=" ) :\n
Login.c(118): \t\t( motion === "pos" ? "-=" : "+=" ) ) +\n
Login.c(118): \t\tdistance;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( animation, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Explode 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/explode-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectExplode = $.effects.effect.explode = function( o,
done ) {\n
Login.c(118): \n
Login.c(118): \tvar rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) :
3,\n
Login.c(118): \t\tce
Login.c(118): t=6926ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): lls = rows,\n
Login.c(118): \t\tel = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \n
Login.c(118): \t\t// show and then visibility:hidden the element before
calculating offset\n
Login.c(118): \t\toffset = el.show().css( "visibility", "hidden" ).offset(),\n
Login.c(118): \n
Login.c(118): \t\t// width and height of a piece\n
Login.c(118): \t\twidth = Math.ceil( el.outerWidth() / cells ),\n
Login.c(118): \t\theight = Math.ceil( el.outerHeight() / rows ),\n
Login.c(118): \t\tpieces = [],\n
Login.c(118): \n
Login.c(118): \t\t// loop\n
Login.c(118): \t\ti, j, left, top, mx, my;\n
Login.c(118): \n
Login.c(118): \t// children animate complete:\n
Login.c(118): \tfunction childComplete() {\n
Login.c(118): \t\tpieces.push( this );\n
Login.c(118): \t\tif ( pieces.length === rows * cells ) {\n
Login.c(118): \t\t\tanimComplete();\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// clone the element for each row and cell.\n
Login.c(118): \tfor ( i = 0; i < rows ; i++ ) { // ===>\n
Login.c(118): \t\ttop = offset.top + i * height;\n
Login.c(118): \t\tmy = i - ( rows - 1 ) / 2 ;\n
Login.c(118): \n
Login.c(118): \t\tfor ( j = 0; j < cells ; j++ ) { // |||\n
Login.c(118): \t\t\tleft = offset.left + j * width;\n
Login.c(118): \t\t\tmx = j - ( cells - 1 ) / 2 ;\n
Login.c(118): \n
Login.c(118): \t\t\t// Create a clone of the now hidden main element that will
be absolute positioned\n
Login.c(118): \t\t\t// within a wrapper div off the -left and -top equal to
size of our pieces\n
Login.c(118): \t\t\tel\n
Login.c(118): \t\t\t\t.clone()\n
Login.c(118): \t\t\t\t.appendTo( "body" )\n
Login.c(118): \t\t\t\t.wrap( "<div></div>" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\t\tvisibility: "visible",\n
Login.c(118): \t\t\t\t\tleft: -j * width,\n
Login.c(118): \t\t\t\t\ttop: -i * height\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \n
Login.c(118): \t\t\t// select the wrapper - make it overflow: hidden and
absolute positioned based on\n
Login.c(118): \t\t\t// where the original was located +left and +top equal to
the size of pieces\n
Login.c(118): \t\t\t\t.parent()\n
Login.c(118): \t\t\t\t.addClass( "ui-effects-explode" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\t\toverflow: "hidden",\n
Login.c(118): \t\t\t\t\twidth: width,\n
Login.c(118): \t\t\t\t\theight: height,\n
Login.c(118): \t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\n
Login.c(118): \t\t\t\t\ttop: top + ( show ? my * height : 0 ),\n
Login.c(118): \t\t\t\t\topacity: show ? 0 : 1\n
Login.c(118): \t\t\t\t}).animate({\n
Login.c(118): \t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\n
Login.c(118): \t\t\t\t\ttop: top + ( show ? 0 : my * height ),\n
Login.c(118): \t\t\t\t\topacity: show ? 1 : 0\n
Login.c(118): \t\t\t\t}, o.duration || 500, o.easing, childComplete );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tfunction animComplete() {\n
Login.c(118): \t\tel.css({\n
Login.c(118): \t\t\tvisibility: "visible"\n
Login.c(118): \t\t});\n
Login.c(118): \t\t$( pieces ).remove();\n
Login.c(118): \t\tif ( !show ) {\n
Login.c(118): \t\t\tel.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdone();\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Fade 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/fade-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectFade = $.effects.effect.fade = function( o, done ) {\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "toggle" );\n
Login.c(118): \n
Login.c(118): \tel.animate({\n
Login.c(118): \t\topacity: mode\n
Login.c(118): \t}, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: done\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Fold 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/fold-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectFold = $.effects.effect.fold = function( o, done ) {\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tsize = o.size || 15,\n
Login.c(118): \t\tpercent = /([0-9]+)%/.exec( size ),\n
Login.c(118): \t\thorizFirst = !!o.horizFirst,\n
Login.c(118): \t\twidthFirst = show !== horizFirst,\n
Login.c(118): \t\tref = widthFirst ? [ "width", "height" ] : [ "height",
"width" ],\n
Login.c(118): \t\tduration = o.duration / 2,\n
Login.c(118): \t\twrapper, distance,\n
Login.c(118): \t\tanimation1 = {},\n
Login.c(118): \t\tanimation2 = {};\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \n
Login.c(118): \t// Create Wrapper\n
Login.c(118): \twrapper = $.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \tdistance = widthFirst ?\n
Login.c(118): \t\t[ wrapper.width(), wrapper.height() ] :\n
Login.c(118): \t\t[ wrapper.height(), wrapper.width() ];\n
Login.c(118): \n
Login.c(118): \tif ( percent ) {\n
Login.c(118): \t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ?
0 : 1 ];\n
Login.c(118): \t}\n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\twrapper.css( horizFirst ? {\n
Login.c(118): \t\t\theight: 0,\n
Login.c(118): \t\t\twidth: size\n
Login.c(118): \t\t} : {\n
Login.c(118): \t\t\theight: size,\n
Login.c(118): \t\t\twidth: 0\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;\n
Login.c(118): \tanimation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \twrapper\n
Login.c(118): \t\t.animate( animation1, duration, o.easing )\n
Login.c(118): \t\t.animate( animation2, duration, o.easing, function() {\n
Login.c(118): \t\t\tif ( hide ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Highlight 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/highlight-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectHighlight = $.effects.effect.highlight = function( o,
done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\tprops = [ "backgroundImage", "backgroundColor",
"opacity" ],\n
Login.c(118): \t\tmode = $.effects.setMode( elem, o.mode || "show" ),\n
Login.c(118): \t\tanimation = {\n
Login.c(118): \t\t\tbackgroundColor: elem.css( "backgroundColor" )\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \tif (mode === "hide") {\n
Login.c(118): \t\tanimation.opacity = 0;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.effects.save( elem, props );\n
Login.c(118): \n
Login.c(118): \telem\n
Login.c(118): \t\t.show()\n
Login.c(118): \t\t.css({\n
Login.c(118): \t\t\tbackgroundImage: "none",\n
Login.c(118): \t\t\tbackgroundColor: o.color || "#ffff99"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t.animate( animation, {\n
Login.c(118): \t\t\tqueue: false,\n
Login.c(118): \t\t\tduration: o.duration,\n
Login.c(118): \t\t\teasing: o.easing,\n
Login.c(118): \t\t\tcomplete: function() {\n
Login.c(118): \t\t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\t\telem.hide();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t$.effects.restore( elem, props );\n
Login.c(118): \t\t\t\tdone();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Size 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/size-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectSize = $.effects.effect.size = function( o, done ) {\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar original, baseline, factor,\n
Login.c(118): \t\tel = $( this ),\n
Login.c(118): \t\tprops0 = [ "position", "top", "bottom", "left", "right",
"width", "height", "overflow"
Login.c(118): , "opacity" ],\n
Login.c(118): \n
Login.c(118): \t\t// Always restore\n
Login.c(118): \t\tprops1 = [ "position", "top", "bottom", "left", "right",
"overflow", "opacity" ],\n
Login.c(118): \n
Login.c(118): \t\t// Copy for children\n
Login.c(118): \t\tprops2 = [ "width", "height", "overflow" ],\n
Login.c(118): \t\tcProps = [ "fontSize" ],\n
Login.c(118): \t\tvProps = [ "borderTopWidth", "borderBottomWidth",
"paddingTop", "paddingBottom" ],\n
Login.c(118): \t\thProps = [ "borderLeftWidth", "borderRightWidth",
"paddingLeft", "paddingRight" ],\n
Login.c(118): \n
Login.c(118): \t\t// Set options\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\trestore = o.restore || mode !== "effect",\n
Login.c(118): \t\tscale = o.scale || "both",\n
Login.c(118): \t\torigin = o.origin || [ "middle", "center" ],\n
Login.c(118): \t\tposition = el.css( "position" ),\n
Login.c(118): \t\tprops = restore ? props0 : props1,\n
Login.c(118): \t\tzero = {\n
Login.c(118): \t\t\theight: 0,\n
Login.c(118): \t\t\twidth: 0,\n
Login.c(118): \t\t\touterHeight: 0,\n
Login.c(118): \t\t\touterWidth: 0\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \tif ( mode === "show" ) {\n
Login.c(118): \t\tel.show();\n
Login.c(118): \t}\n
Login.c(118): \toriginal = {\n
Login.c(118): \t\theight: el.height(),\n
Login.c(118): \t\twidth: el.width(),\n
Login.c(118): \t\touterHeight: el.outerHeight(),\n
Login.c(118): \t\touterWidth: el.outerWidth()\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \tif ( o.mode === "toggle" && mode === "show" ) {\n
Login.c(118): \t\tel.from = o.to || zero;\n
Login.c(118): \t\tel.to = o.from || original;\n
Login.c(118): \t} else {\n
Login.c(118): \t\tel.from = o.from || ( mode === "show" ? zero : original );\n
Login.c(118): \t\tel.to = o.to || ( mode === "hide" ? zero : original );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Set scaling factor\n
Login.c(118): \tfactor = {\n
Login.c(118): \t\tfrom: {\n
Login.c(118): \t\t\ty: el.from.height / original.height,\n
Login.c(118): \t\t\tx: el.from.width / original.width\n
Login.c(118): \t\t},\n
Login.c(118): \t\tto: {\n
Login.c(118): \t\t\ty: el.to.height / original.height,\n
Login.c(118): \t\t\tx: el.to.width / original.width\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t// Scale the css box\n
Login.c(118): \tif ( scale === "box" || scale === "both" ) {\n
Login.c(118): \n
Login.c(118): \t\t// Vertical props scaling\n
Login.c(118): \t\tif ( factor.from.y !== factor.to.y ) {\n
Login.c(118): \t\t\tprops = props.concat( vProps );\n
Login.c(118): \t\t\tel.from = $.effects.setTransition( el, vProps,
factor.from.y, el.from );\n
Login.c(118): \t\t\tel.to = $.effects.setTransition( el, vProps, factor.to.y,
el.to );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Horizontal props scaling\n
Login.c(118): \t\tif ( factor.from.x !== factor.to.x ) {\n
Login.c(118): \t\t\tprops = props.concat( hProps );\n
Login.c(118): \t\t\tel.from = $.effects.setTransition( el, hProps,
factor.from.x, el.from );\n
Login.c(118): \t\t\tel.to = $.effects.setTransition( el, hProps, factor.to.x,
el.to );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Scale the content\n
Login.c(118): \tif ( scale === "content" || scale === "both" ) {\n
Login.c(118): \n
Login.c(118): \t\t// Vertical props scaling\n
Login.c(118): \t\tif ( factor.from.y !== factor.to.y ) {\n
Login.c(118): \t\t\tprops = props.concat( cProps ).concat( props2 );\n
Login.c(118): \t\t\tel.from = $.effects.setTransition( el, cProps,
factor.from.y, el.from );\n
Login.c(118): \t\t\tel.to = $.effects.setTransition( el, cProps, factor.to.y,
el.to );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el );\n
Login.c(118): \tel.css( "overflow", "hidden" ).css( el.from );\n
Login.c(118): \n
Login.c(118): \t// Adjust\n
Login.c(118): \tif (origin) { // Calculate baseline shifts\n
Login.c(118): \t\tbaseline = $.effects.getBaseline( origin, original );\n
Login.c(118): \t\tel.from.top = ( original.outerHeight - el.outerHeight() ) *
baseline.y;\n
Login.c(118): \t\tel.from.left = ( original.outerWidth - el.outerWidth() ) *
baseline.x;\n
Login.c(118): \t\tel.to.top = ( original.outerHeight - el.to.outerHeight ) *
baseline.y;\n
Login.c(118): \t\tel.to.left = ( original.outerWidth - el.to.outerWidth ) *
baseline.x;\n
Login.c(118): \t}\n
Login.c(118): \tel.css( el.from ); // set top & left\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tif ( scale === "content" || scale === "both" ) { // Scale the
children\n
Login.c(118): \n
Login.c(118): \t\t// Add margins/font-size\n
Login.c(118): \t\tvProps = vProps.concat([ "marginTop",
"marginBottom" ]).concat(cProps);\n
Login.c(118): \t\thProps = hProps.concat([ "marginLeft", "marginRight" ]);\n
Login.c(118): \t\tprops2 = props0.concat(vProps).concat(hProps);\n
Login.c(118): \n
Login.c(118): \t\tel.find( "*[width]" ).each( function() {\n
Login.c(118): \t\t\tvar child = $( this ),\n
Login.c(118): \t\t\t\tc_original = {\n
Login.c(118): \t\t\t\t\theight: child.height(),\n
Login.c(118): \t\t\t\t\twidth: child.width(),\n
Login.c(118): \t\t\t\t\touterHeight: child.outerHeight(),\n
Login.c(118): \t\t\t\t\touterWidth: child.outerWidth()\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\tif (restore) {\n
Login.c(118): \t\t\t\t$.effects.save(child, props2);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tchild.from = {\n
Login.c(118): \t\t\t\theight: c_original.height * factor.from.y,\n
Login.c(118): \t\t\t\twidth: c_original.width * factor.from.x,\n
Login.c(118): \t\t\t\touterHeight: c_original.outerHeight * factor.from.y,\n
Login.c(118): \t\t\t\touterWidth: c_original.outerWidth * factor.from.x\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tchild.to = {\n
Login.c(118): \t\t\t\theight: c_original.height * factor.to.y,\n
Login.c(118): \t\t\t\twidth: c_original.width * factor.to.x,\n
Login.c(118): \t\t\t\touterHeight: c_original.height * factor.to.y,\n
Login.c(118): \t\t\t\touterWidth: c_original.width * factor.to.x\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\t// Vertical props scaling\n
Login.c(118): \t\t\tif ( factor.from.y !== factor.to.y ) {\n
Login.c(118): \t\t\t\tchild.from = $.effects.setTransition( child, vProps,
factor.from.y, child.from );\n
Login.c(118): \t\t\t\tchild.to = $.effects.setTransition( child, vProps,
factor.to.y, child.to );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Horizontal props scaling\n
Login.c(118): \t\t\tif ( factor.from.x !== factor.to.x ) {\n
Login.c(118): \t\t\t\tchild.from = $.effects.setTransition( child, hProps,
factor.from.x, child.from );\n
Login.c(118): \t\t\t\tchild.to = $.effects.setTransition( child, hProps,
factor.to.x, child.to );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Animate children\n
Login.c(118): \t\t\tchild.css( child.from );\n
Login.c(118): \t\t\tchild.animate( child.to, o.duration, o.easing, function()
{\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Restore children\n
Login.c(118): \t\t\t\tif ( restore ) {\n
Login.c(118): \t\t\t\t\t$.effects.restore( child, props2 );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( el.to, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( el.to.opacity === 0 ) {\n
Login.c(118): \t\t\t\tel.css( "opacity", el.from.opacity );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\tif ( !restore ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t// we need to calculate our new positioning based on the
scaling\n
Login.c(118): \t\t\t\tif ( position === "static" ) {\n
Login.c(118): \t\t\t\t\tel.css({\n
Login.c(118): \t\t\t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\t\t\ttop: el.to.top,\n
Login.c(118): \t\t\t\t\t\tleft: el.to.left\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$.each([ "top", "left" ], function( idx, pos ) {\n
Login.c(118): \t\t\t\t\t\tel.css( pos, function( _, str ) {\n
Login.c(118): \t\t\t\t\t\t\tvar val = parseInt( str, 10 ),\n
Login.c(118): \t\t\t\t\t\t\t\ttoRef = idx ? el.to.left : el.to.top;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t// if original was "auto", recalculate the new
value from wrapper\n
Login.c(118): \t\t\t\t\t\t\tif ( str === "auto" ) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn toRef + "px";\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\treturn val + toRef + "px";\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Scale 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/scale-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectScale = $.effects.effect.scale = function( o, done )
{\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\toptions = $.extend( true, {}, o ),\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\tpercent = parseInt( o.percent, 10 ) ||\n
Login.c(118): \t\t\t( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ?
0 : 100 ) ),\n
Login.c(118): \t\tdirection = o.direction || "both",\n
Login.c(118): \t\torigin = o.origin,\n
Login.c(118): \t\toriginal = {\n
Login.c(118): \t\t\theight: el.height(),\n
Login.c(118): \t\t\twidth: el.width(),\n
Login.c(118): \t\t\touterHeight: el.outerHeight(),\n
Login.c(118): \t\t\touterWidth: el.outerWidth()\n
Login.c(118): \t\t},\n
Login.c(118): \t\tfactor = {\n
Login.c(118): \t\t\ty: direction !== "horizontal" ? (percent / 100) : 1,\n
Login.c(118): \t\t\tx: direction !== "vertical" ? (percent / 100) : 1\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t// We are going to pass this effect to the size effect:\n
Login.c(118): \toptions.effect = "size";\n
Login.c(118): \toptions.queue = false;\n
Login.c(118): \toptions.complete = done;\n
Login.c(118): \n
Login.c(118): \t// Set default origin and restore for show/hide\n
Login.c(118): \tif ( mode !== "effect" ) {\n
Login.c(118): \t\toptions.origin = origin || [ "middle", "center" ];\n
Login.c(118): \t\toptions.restore = true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \toptions.from = o.from || ( mode === "show" ? {\n
Login.c(118): \t\theight: 0,\n
Login.c(118): \t\twidth: 0,
Login.c(118): t=6950ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \n
Login.c(118): \t\touterHeight: 0,\n
Login.c(118): \t\touterWidth: 0\n
Login.c(118): \t} : original );\n
Login.c(118): \toptions.to = {\n
Login.c(118): \t\theight: original.height * factor.y,\n
Login.c(118): \t\twidth: original.width * factor.x,\n
Login.c(118): \t\touterHeight: original.outerHeight * factor.y,\n
Login.c(118): \t\touterWidth: original.outerWidth * factor.x\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t// Fade option to support puff\n
Login.c(118): \tif ( options.fade ) {\n
Login.c(118): \t\tif ( mode === "show" ) {\n
Login.c(118): \t\t\toptions.from.opacity = 0;\n
Login.c(118): \t\t\toptions.to.opacity = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\toptions.from.opacity = 1;\n
Login.c(118): \t\t\toptions.to.opacity = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.effect( options );\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Puff 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/puff-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectPuff = $.effects.effect.puff = function( o, done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( elem, o.mode || "hide" ),\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tpercent = parseInt( o.percent, 10 ) || 150,\n
Login.c(118): \t\tfactor = percent / 100,\n
Login.c(118): \t\toriginal = {\n
Login.c(118): \t\t\theight: elem.height(),\n
Login.c(118): \t\t\twidth: elem.width(),\n
Login.c(118): \t\t\touterHeight: elem.outerHeight(),\n
Login.c(118): \t\t\touterWidth: elem.outerWidth()\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t$.extend( o, {\n
Login.c(118): \t\teffect: "scale",\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tfade: true,\n
Login.c(118): \t\tmode: mode,\n
Login.c(118): \t\tcomplete: done,\n
Login.c(118): \t\tpercent: hide ? percent : 100,\n
Login.c(118): \t\tfrom: hide ?\n
Login.c(118): \t\t\toriginal :\n
Login.c(118): \t\t\t{\n
Login.c(118): \t\t\t\theight: original.height * factor,\n
Login.c(118): \t\t\t\twidth: original.width * factor,\n
Login.c(118): \t\t\t\touterHeight: original.outerHeight * factor,\n
Login.c(118): \t\t\t\touterWidth: original.outerWidth * factor\n
Login.c(118): \t\t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \telem.effect( o );\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Pulsate 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/pulsate-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectPulsate = $.effects.effect.pulsate = function( o,
done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( elem, o.mode || "show" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tshowhide = ( show || mode === "hide" ),\n
Login.c(118): \n
Login.c(118): \t\t// showing or hiding leaves of the "last" animation\n
Login.c(118): \t\tanims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\n
Login.c(118): \t\tduration = o.duration / anims,\n
Login.c(118): \t\tanimateTo = 0,\n
Login.c(118): \t\tqueue = elem.queue(),\n
Login.c(118): \t\tqueuelen = queue.length,\n
Login.c(118): \t\ti;\n
Login.c(118): \n
Login.c(118): \tif ( show || !elem.is(":visible")) {\n
Login.c(118): \t\telem.css( "opacity", 0 ).show();\n
Login.c(118): \t\tanimateTo = 1;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// anims - 1 opacity "toggles"\n
Login.c(118): \tfor ( i = 1; i < anims; i++ ) {\n
Login.c(118): \t\telem.animate({\n
Login.c(118): \t\t\topacity: animateTo\n
Login.c(118): \t\t}, duration, o.easing );\n
Login.c(118): \t\tanimateTo = 1 - animateTo;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \telem.animate({\n
Login.c(118): \t\topacity: animateTo\n
Login.c(118): \t}, duration, o.easing);\n
Login.c(118): \n
Login.c(118): \telem.queue(function() {\n
Login.c(118): \t\tif ( hide ) {\n
Login.c(118): \t\t\telem.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdone();\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// We just queued up "anims" animations, we need to put them
next in the queue\n
Login.c(118): \tif ( queuelen > 1 ) {\n
Login.c(118): \t\tqueue.splice.apply( queue,\n
Login.c(118): \t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n
Login.c(118): \t}\n
Login.c(118): \telem.dequeue();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Shake 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/shake-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectShake = $.effects.effect.shake = function( o, done )
{\n
Login.c(118): \n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\tdirection = o.direction || "left",\n
Login.c(118): \t\tdistance = o.distance || 20,\n
Login.c(118): \t\ttimes = o.times || 3,\n
Login.c(118): \t\tanims = times * 2 + 1,\n
Login.c(118): \t\tspeed = Math.round( o.duration / anims ),\n
Login.c(118): \t\tref = (direction === "up" || direction === "down") ? "top" :
"left",\n
Login.c(118): \t\tpositiveMotion = (direction === "up" || direction ===
"left"),\n
Login.c(118): \t\tanimation = {},\n
Login.c(118): \t\tanimation1 = {},\n
Login.c(118): \t\tanimation2 = {},\n
Login.c(118): \t\ti,\n
Login.c(118): \n
Login.c(118): \t\t// we will need to re-assemble the queue to stack our
animations in place\n
Login.c(118): \t\tqueue = el.queue(),\n
Login.c(118): \t\tqueuelen = queue.length;\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el );\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation[ ref ] = ( positiveMotion ? "-=" : "+=" ) +
distance;\n
Login.c(118): \tanimation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance
* 2;\n
Login.c(118): \tanimation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance
* 2;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( animation, speed, o.easing );\n
Login.c(118): \n
Login.c(118): \t// Shakes\n
Login.c(118): \tfor ( i = 1; i < times; i++ ) {\n
Login.c(118): \t\tel.animate( animation1, speed,
o.easing ).animate( animation2, speed, o.easing );\n
Login.c(118): \t}\n
Login.c(118): \tel\n
Login.c(118): \t\t.animate( animation1, speed, o.easing )\n
Login.c(118): \t\t.animate( animation, speed / 2, o.easing )\n
Login.c(118): \t\t.queue(function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t// inject all the animations we just queued to be first in line
(after "inprogress")\n
Login.c(118): \tif ( queuelen > 1) {\n
Login.c(118): \t\tqueue.splice.apply( queue,\n
Login.c(118): \t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n
Login.c(118): \t}\n
Login.c(118): \tel.dequeue();\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Slide 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/slide-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectSlide = $.effects.effect.slide = function( o, done )
{\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"width", "height" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "show" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "left",\n
Login.c(118): \t\tref = (direction === "up" || direction === "down") ? "top" :
"left",\n
Login.c(118): \t\tpositiveMotion = (direction === "up" || direction ===
"left"),\n
Login.c(118): \t\tdistance,\n
Login.c(118): \t\tanimation = {};\n
Login.c(118): \n
Login.c(118): \t// Adjust\n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \tdistance = o.distance || el[ ref === "top" ? "outerHeight" :
"outerWidth" ]( true );\n
Login.c(118): \n
Login.c(118): \t$.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tel.css( ref, positiveMotion ? (isNaN(distance) ? "-" +
distance : -distance) : distanc
Login.c(118): e );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation[ ref ] = ( show ?\n
Login.c(118): \t\t( positiveMotion ? "+=" : "-=") :\n
Login.c(118): \t\t( positiveMotion ? "-=" : "+=")) +\n
Login.c(118): \t\tdistance;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( animation, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Transfer 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/transfer-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectTransfer = $.effects.effect.transfer = function( o,
done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\ttarget = $( o.to ),\n
Login.c(118): \t\ttargetFixed = target.css( "position" ) === "fixed",\n
Login.c(118): \t\tbody = $("body"),\n
Login.c(118): \t\tfixTop = targetFixed ? body.scrollTop() : 0,\n
Login.c(118): \t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\n
Login.c(118): \t\tendPosition = target.offset(),\n
Login.c(118): \t\tanimation = {\n
Login.c(118): \t\t\ttop: endPosition.top - fixTop,\n
Login.c(118): \t\t\tleft: endPosition.left - fixLeft,\n
Login.c(118): \t\t\theight: target.innerHeight(),\n
Login.c(118): \t\t\twidth: target.innerWidth()\n
Login.c(118): \t\t},\n
Login.c(118): \t\tstartPosition = elem.offset(),\n
Login.c(118): \t\ttransfer = $( "<div class='ui-effects-transfer'></div>" )\n
Login.c(118): \t\t\t.appendTo( document.body )\n
Login.c(118): \t\t\t.addClass( o.className )\n
Login.c(118): \t\t\t.css({\n
Login.c(118): \t\t\t\ttop: startPosition.top - fixTop,\n
Login.c(118): \t\t\t\tleft: startPosition.left - fixLeft,\n
Login.c(118): \t\t\t\theight: elem.innerHeight(),\n
Login.c(118): \t\t\t\twidth: elem.innerWidth(),\n
Login.c(118): \t\t\t\tposition: targetFixed ? "fixed" : "absolute"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.animate( animation, o.duration, o.easing, function() {\n
Login.c(118): \t\t\t\ttransfer.remove();\n
Login.c(118): \t\t\t\tdone();\n
Login.c(118): \t\t\t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Progressbar 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/progressbar/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var progressbar = $.widget( "ui.progressbar", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tmax: 100,\n
Login.c(118): \t\tvalue: 0,\n
Login.c(118): \n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tcomplete: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tmin: 0,\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\t// Constrain initial value\n
Login.c(118): \t\tthis.oldValue = this.options.value =
this._constrainedValue();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-progressbar ui-widget ui-widget-content ui-
corner-all" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t// Only set static values, aria-valuenow and aria-
valuemax are\n
Login.c(118): \t\t\t\t// set inside _refreshValue()\n
Login.c(118): \t\t\t\trole: "progressbar",\n
Login.c(118): \t\t\t\t"aria-valuemin": this.min\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.valueDiv = $( "<div class='ui-progressbar-value ui-
widget-header ui-corner-left'>
Login.c(118): </div>" )\n
Login.c(118): \t\t\t.appendTo( this.element );\n
Login.c(118): \n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-progressbar ui-widget ui-widget-content
ui-corner-all" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemin" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemax" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuenow" );\n
Login.c(118): \n
Login.c(118): \t\tthis.valueDiv.remove();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tvalue: function( newValue ) {\n
Login.c(118): \t\tif ( newValue === undefined ) {\n
Login.c(118): \t\t\treturn this.options.value;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.options.value = this._constrainedValue( newValue );\n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_constrainedValue: function( newValue ) {\n
Login.c(118): \t\tif ( newValue === undefined ) {\n
Login.c(118): \t\t\tnewValue = this.options.value;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.indeterminate = newValue === false;\n
Login.c(118): \n
Login.c(118): \t\t// sanitize value\n
Login.c(118): \t\tif ( typeof newValue !== "number" ) {\n
Login.c(118): \t\t\tnewValue = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this.indeterminate ? false :\n
Login.c(118): \t\t\tMath.min( this.options.max, Math.max( this.min,
newValue ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOptions: function( options ) {\n
Login.c(118): \t\t// Ensure "value" option is set after other values (like
max)\n
Login.c(118): \t\tvar value = options.value;\n
Login.c(118): \t\tdelete options.value;\n
Login.c(118): \n
Login.c(118): \t\tthis._super( options );\n
Login.c(118): \n
Login.c(118): \t\tthis.options.value = this._constrainedValue( value );\n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "max" ) {\n
Login.c(118): \t\t\t// Don't allow a max less than min\n
Login.c(118): \t\t\tvalue = Math.max( this.min, value );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_percentage: function() {\n
Login.c(118): \t\treturn this.indeterminate ? 100 : 100 * ( this.options.value
- this.min ) / ( this.opt
Login.c(118): ions.max - this.min );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshValue: function() {\n
Login.c(118): \t\tvar value = this.options.value,\n
Login.c(118): \t\t\tpercentage = this._percentage();\n
Login.c(118): \n
Login.c(118): \t\tthis.valueDiv\n
Login.c(118): \t\t\t.toggle( this.indeterminate || value > this.min )\n
Login.c(118): \t\t\t.toggleClass( "ui-corner-right", value === this.options.max
)\n
Login.c(118): \t\t\t.width( percentage.toFixed(0) + "%" );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.toggleClass( "ui-progressbar-indeterminate",
this.indeterminate );\n
Login.c(118): \n
Login.c(118): \t\tif ( this.indeterminate ) {\n
Login.c(118): \t\t\tthis.element.removeAttr( "aria-valuenow" );\n
Login.c(118): \t\t\tif ( !this.overlayDiv ) {\n
Login.c(118): \t\t\t\tthis.overlayDiv = $( "<div class='ui-progressbar-
overlay'></div>" ).appendTo( this
Login.c(118): .value
Login.c(118): t=6971ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Div );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.element.attr({\n
Login.c(118): \t\t\t\t"aria-valuemax": this.options.max,\n
Login.c(118): \t\t\t\t"aria-valuenow": value\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tif ( this.overlayDiv ) {\n
Login.c(118): \t\t\t\tthis.overlayDiv.remove();\n
Login.c(118): \t\t\t\tthis.overlayDiv = null;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.oldValue !== value ) {\n
Login.c(118): \t\t\tthis.oldValue = value;\n
Login.c(118): \t\t\tthis._trigger( "change" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( value === this.options.max ) {\n
Login.c(118): \t\t\tthis._trigger( "complete" );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Selectable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/selectable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var selectable = $.widget("ui.selectable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: "body",\n
Login.c(118): \t\tautoRefresh: true,\n
Login.c(118): \t\tdistance: 0,\n
Login.c(118): \t\tfilter: "*",\n
Login.c(118): \t\ttolerance: "touch",\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tselected: null,\n
Login.c(118): \t\tselecting: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null,\n
Login.c(118): \t\tunselected: null,\n
Login.c(118): \t\tunselecting: null\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar selectees,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.element.addClass("ui-selectable");\n
Login.c(118): \n
Login.c(118): \t\tthis.dragged = false;\n
Login.c(118): \n
Login.c(118): \t\t// cache selectee children based on filter\n
Login.c(118): \t\tthis.refresh = function() {\n
Login.c(118): \t\t\tselectees = $(that.options.filter, that.element[0]);\n
Login.c(118): \t\t\tselectees.addClass("ui-selectee");\n
Login.c(118): \t\t\tselectees.each(function() {\n
Login.c(118): \t\t\t\tvar $this = $(this),\n
Login.c(118): \t\t\t\t\tpos = $this.offset();\n
Login.c(118): \t\t\t\t$.data(this, "selectable-item", {\n
Login.c(118): \t\t\t\t\telement: this,\n
Login.c(118): \t\t\t\t\t$element: $this,\n
Login.c(118): \t\t\t\t\tleft: pos.left,\n
Login.c(118): \t\t\t\t\ttop: pos.top,\n
Login.c(118): \t\t\t\t\tright: pos.left + $this.outerWidth(),\n
Login.c(118): \t\t\t\t\tbottom: pos.top + $this.outerHeight(),\n
Login.c(118): \t\t\t\t\tstartselected: false,\n
Login.c(118): \t\t\t\t\tselected: $this.hasClass("ui-selected"),\n
Login.c(118): \t\t\t\t\tselecting: $this.hasClass("ui-selecting"),\n
Login.c(118): \t\t\t\t\tunselecting: $this.hasClass("ui-unselecting")\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees = selectees.addClass("ui-selectee");\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t\tthis.helper = $("<div class='ui-selectable-
helper'></div>");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.selectees\n
Login.c(118): \t\t\t.removeClass("ui-selectee")\n
Login.c(118): \t\t\t.removeData("selectable-item");\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass("ui-selectable ui-selectable-disabled");\n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\tthis.opos = [ event.pageX, event.pageY ];\n
Login.c(118): \n
Login.c(118): \t\tif (this.options.disabled) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees = $(options.filter, this.element[0]);\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger("start", event);\n
Login.c(118): \n
Login.c(118): \t\t$(options.appendTo).append(this.helper);\n
Login.c(118): \t\t// position helper (lasso)\n
Login.c(118): \t\tthis.helper.css({\n
Login.c(118): \t\t\t"left": event.pageX,\n
Login.c(118): \t\t\t"top": event.pageY,\n
Login.c(118): \t\t\t"width": 0,\n
Login.c(118): \t\t\t"height": 0\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif (options.autoRefresh) {\n
Login.c(118): \t\t\tthis.refresh();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees.filter(".ui-selected").each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tselectee.startselected = true;\n
Login.c(118): \t\t\tif (!event.metaKey && !event.ctrlKey) {\n
Login.c(118): \t\t\t\tselectee.$element.removeClass("ui-selected");\n
Login.c(118): \t\t\t\tselectee.selected = false;\n
Login.c(118): \t\t\t\tselectee.$element.addClass("ui-unselecting");\n
Login.c(118): \t\t\t\tselectee.unselecting = true;\n
Login.c(118): \t\t\t\t// selectable UNSELECTING callback\n
Login.c(118): \t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t$(event.target).parents().addBack().each(function() {\n
Login.c(118): \t\t\tvar doSelect,\n
Login.c(118): \t\t\t\tselectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tif (selectee) {\n
Login.c(118): \t\t\t\tdoSelect = (!event.metaKey && !event.ctrlKey) || !
selectee.$element.hasClass("ui-s
Login.c(118): elected");\n
Login.c(118): \t\t\t\tselectee.$element\n
Login.c(118): \t\t\t\t\t.removeClass(doSelect ? "ui-unselecting" : "ui-
selected")\n
Login.c(118): \t\t\t\t\t.addClass(doSelect ? "ui-selecting" : "ui-
unselecting");\n
Login.c(118): \t\t\t\tselectee.unselecting = !doSelect;\n
Login.c(118): \t\t\t\tselectee.selecting = doSelect;\n
Login.c(118): \t\t\t\tselectee.selected = doSelect;\n
Login.c(118): \t\t\t\t// selectable (UN)SELECTING callback\n
Login.c(118): \t\t\t\tif (doSelect) {\n
Login.c(118): \t\t\t\t\tthat._trigger("selecting", event, {\n
Login.c(118): \t\t\t\t\t\tselecting: selectee.element\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tthis.dragged = true;\n
Login.c(118): \n
Login.c(118): \t\tif (this.options.disabled) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar tmp,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\tx1 = this.opos[0],\n
Login.c(118): \t\t\ty1 = this.opos[1],\n
Login.c(118): \t\t\tx2 = event.pageX,\n
Login.c(118): \t\t\ty2 = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\tif (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }\n
Login.c(118): \t\tif (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }\n
Login.c(118): \t\tthis.helper.css({ left: x1, top: y1, width: x2 - x1, height:
y2 - y1 });\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees.each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item"),\n
Login.c(118): \t\t\t\thit = false;\n
Login.c(118): \n
Login.c(118): \t\t\t//prevent helper from being selected if appendTo:
selectable\n
Login.c(118): \t\t\tif (!selectee || selectee.element === that.element[0]) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (options.tolerance === "touch") {\n
Login.c(118): \t\t\t\thit = ( !(selectee.left > x2 || selectee.right < x1 ||
selectee.top > y2 || select
Login.c(118): ee.bottom < y1) );\n
Login.c(118): \t\t\t} else if (options.tolerance === "fit") {\n
Login.c(118): \t\t\t\thit = (selectee.left > x1 && selectee.right < x2 &&
selectee.top > y1 && selectee.
Login.c(118): bottom < y2);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (hit) {\n
Login.c(118): \t\t\t\t// SELECT\n
Login.c(118): \t\t\t\tif (selectee.selected) {\n
Login.c(118): \t\t\t\t\tselectee.$element.removeClass("ui-selected");\n
Login.c(118): \t\t\t\t\tselectee.selected = false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (selectee.unselecting) {\n
Login.c(118): \t\t\t\t\tselectee.$element.removeClass("ui-unselecting");\n
Login.c(118): \t\t\t\t\tselectee.unselecting = false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (!selectee.selecting) {\n
Login.c(118): \t\t\t\t\tselectee.$element.addClass("ui-selecting");\n
Login.c(118): \t\t\t\t\tselectee.selecting = true;\n
Login.c(118): \t\t\t\t\t// selectable SELECTING callback\n
Login.c(118): \t\t\t\t\tthat._trigger("selecting", event, {\n
Login.c(118): \t\t\t\t\t\tselecting: selectee.element\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// UNSELECT\n
Login.c(118): \t\t\t\tif (selectee.selecting) {\n
Login.c(118): \t\t\t\t\tif ((event.metaKey || event.ctrlKey) &&
selectee.startselected) {\n
Login.c(118): \t\t\t\t\t\tselectee.$element.removeClass("ui-selecting");\n
Login.c(118): \t\t\t\t\t\tselectee.selecting = false;\n
Login.c(118): \t\t\t\t\t\tselectee.$element.addClass("ui-selected");\n
Login.c(118): \t\t\t\t\t\tselectee.selected = true;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tselectee.$element.removeClass("ui-selecting");\n
Login.c(118): \t\t\t\t\t\tselectee.selecting = false;\n
Login.c(118): \t\t\t\t\t\tif (selectee.startselected) {\n
Login.c(118): \t\t\t\t\t\t\tselectee.$element.addClass("ui-unselecting");\n
Login.c(118): \t\t\t\t\t\t\tselectee.unselecting = true;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t// selectable UNSELECTING callback\n
Login.c(118): \t\t\t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (selectee.selected) {\n
Login.c(118): \t\t\t\t\tif (!event.metaKey && !event.ctrlKey && !
selectee.startselected) {\n
Login.c(118): \t\t\t\t\t\tselectee.$element.removeClass("ui-selected");\n
Login.c(118): \t\t\t\t\t\tselectee.selected = false;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tselectee.$element.addClass("ui-unselecting");\n
Login.c(118): \t\t\t\t\t\tselectee.unselecting = true;\n
Login.c(118): \t\t\t\t\t\t// selectable UNSELECTING callback\n
Login.c(118): \t\t\t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.dragged = false;\n
Login.c(118): \n
Login.c(118): \t\t$(".ui-unselecting", this.element[0]).each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tselectee.$element.removeClass("ui-unselecting");\n
Login.c(118): \t\t\tselectee.unselecting = false;\n
Login.c(118): \t\t\tselectee.startselected = false;\n
Login.c(118): \t\t\tthat._trigger("unselected", event, {\n
Login.c(118): \t\t\t\tunselected: selectee.element\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\t$(".ui-selecting", this.element[0]).each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tselectee.$element.removeClass("ui-selecting").addClass("ui-
selected");\n
Login.c(118): \t\t\tselectee.selecting = false;\n
Login.c(118): \t\t\tselectee.selected = true;\n
Login.c(118): \t\t\tselectee.startselected = true;\n
Login.c(118): \t\t\tthat._trigger("selected", event, {\n
Login.c(118): \t\t\t\tselected: selectee.element\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis._trigger("stop", event);\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.remove();\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Selectmenu 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/selectmenu\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var selectmenu = $.widget( "ui.selectmenu", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<select>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: null,\n
Login.c(118): \t\tdisabled: null,\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tbutton: "ui-icon-triangle-1-s"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left top",\n
Login.c(118): \t\t\tat: "left bottom",\n
Login.c(118): \t\t\tcollision: "none"\n
Login.c(118): \t\t},\n
Login.c(118): \t\twidth: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\topen: null,\n
Login.c(118): \t\tselect: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar selectmenuId = this.element.uniqueId().attr( "id" );\n
Login.c(118): \t\tthis.ids = {\n
Login.c(118): \t\t\telement: selectmenuId,\n
Login.c(118): \t\t\tbutton: selectmenuId + "-button",\n
Login.c(118): \t\t\tmenu: selectmenuId + "-menu"\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis._drawButton();\n
Login.c(118): \t\tthis._drawMenu();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis.disable();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_drawButton: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttabindex = this.element.attr( "tabindex" );\n
Login.c(118): \n
Login.c(118): \t\t// Associate existing label with the new button\n
Login.c(118): \t\tthis.label = $( "label[for='" + this.ids.element +
"']" ).attr( "for", this.ids.button
Login.c(118): );\n
Login.c(118): \t\tthis._on( this.label, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tthis.button.focus();\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Hide original select element\n
Login.c(118): \t\tthis.element.hide();\n
Login.c(118): \n
Login.c(118): \t\t// Create button\n
Login.c(118): \t\tthis.button = $( "<span>", {\n
Login.c(118): \t\t\t"class": "ui-selectmenu-button ui-widget ui-state-default
ui-corner-all",\n
Login.c(118): \t\t\ttabindex: tabindex || this.options.disabled ? -1 : 0,\n
Login.c(118): \t\t\tid: this.ids.button,\n
Login.c(118): \t\t\trole: "combobox",\n
Login.c(118): \t\t\t"aria-expanded": "false",\n
Login.c(118): \t\t\t"aria-autocomplete": "list",\n
Login.c(118): \t\t\t"aria-owns": this.ids.menu,\n
Login.c(118): \t\t\t"aria-haspopup": "true"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.insertAfter( this.element );\n
Login.c(118): \n
Login.c(118): \t\t$( "<span>", {\n
Login.c(118): \t\t\t"class": "ui-icon " + this.options.icons.button\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.prependTo( this.button );\n
Login.c(118): \n
Login.c(118): \t\tthis.buttonText = $( "<span>", {\n
Login.c(118): \t\t\t"class": "ui-selectmenu-text"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.appendTo( this.button );\n
Login.c(118): \n
Login.c(118): \t\tthis._setText( this.buttonText,
this.element.find( "option:selected" ).text() );\n
Login.c(118): \t\tthis._resizeButton();\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.button, this._buttonEvents );\n
Login.c(118): \t\tthis.button.one( "focusin", function() {\n
Login.c(118): \n
Login.c(118): \t\t\t// Delay rendering the menu items until the button receives
focus.\n
Login.c(118): \t\t\t// The menu may have already been rendered via a
programmatic open.\n
Login.c(118): \t\t\tif ( !that.menuItems ) {\n
Login.c(118): \t\t\t\tthat._refreshMenu();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis._hoverable( this.button );\n
Login.c(118): \t\tthis._focusable( this.button );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_drawMenu: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t// Create menu\n
Login.c(118): \t\tthis.menu = $( "<ul>", {\n
Login.c(118): \t\t\t"aria-hidden": "true",\n
Login.c(118): \t\t\t"aria-labelledby": this.ids.button,\n
Login.c(118): \t\t\tid: this.ids.menu\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Wrap menu\n
Login.c(118): \t\tthis.menuWrap = $( "<div>", {\n
Login.c(118): \t\t\t"class": "ui-selectmenu-menu ui-front"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.append( this.menu )\n
Login.c(118): \t\t\t.appendTo( this._appendTo() );\n
Login.c(118): \n
Login.c(118): \t\t// Initialize menu widget\n
Login.c(118): \t\tthis.menuInstance = this.menu\n
Login.c(118): \t\t\t.menu({\n
Login.c(118): \t\t\t\trole: "listbox",\n
Login.c(118): \t\t\t\tselect: function( event, ui ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tthat._select( ui.item.data( "ui-selectmenu-item" ),
event );\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tfocus: function( event, ui ) {\n
Login.c(118): \t\t\t\t\tvar item = ui.item.data( "ui-selectmenu-item" );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Prevent inital focus from firing and check if its a
newly focused item\n
Login.c(118): \t\t\t\t\tif ( that.focusIndex != null && item.index !==
that.focusIndex ) {\n
Login.c(118): \t\t\t\t\t\tthat._trigger( "focus", event, { item: item } );\n
Login.c(118): \t\t\t\t\t\tif ( !that.isOpen ) {\n
Login.c(118): \t\t\t\t\t\t\tthat._select( item, event );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tthat.focusIndex = item.index;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthat.button.attr( "aria-activedescendant",\n
Login.c(118): \t\t\t\t\t\tthat.menuItems.eq( item.index ).attr( "id" ) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.menu( "instance" );\n
Login.c(118): \n
Login.c(118): \t\t// Adjust menu styles to dropdown\n
Login.c(118): \t\tthis.menu\n
Login.c(118): \t\t\t.addClass( "ui-corner-bottom" )\n
Login.c(118): \t\t\t.removeClass( "ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\t// Don't close the menu on mouseleave\n
Login.c(118): \t\tthis.menuInstance._off( this.menu, "mouseleave" );\n
Login.c(118): \n
Login.c(118): \t\t// Cancel the menu's collapseAll on document click\n
Login.c(118): \t\tthis.menuInstance._closeOnDocumentClick = function() {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t// Selects often contain empty items, but never contain
dividers\n
Login.c(118): \t\tthis.menuInstance._isDivider = function() {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tthis._refreshMenu();\n
Login.c(118): \t\tthis._setText( this.buttonText,
this._getSelectedItem().text() );\n
Login.c(118): \t\tif ( !this.options.width ) {\n
Login.c(118): \t\t\tthis._resizeButton();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshMenu: function() {\n
Login.c(118): \t\tthis.menu.empty();\n
Login.c(118): \n
Login.c(118): \t\tvar item,\n
Login.c(118): \t\t\toptions = this.element.find( "option" );\n
Login.c(118): \n
Login.c(118): \t\tif ( !options.length ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._parseOptions( options );\n
Login.c(118): \t\tthis._renderMenu( this.menu, this.items );\n
Login.c(118): \n
Login.c(118): \t\tthis.menuInstance.refresh();\n
Login.c(118): \t\tthis.menuItems = this.menu.find( "li" ).not( ".ui-selectmenu-
optgroup" );\n
Login.c(118): \n
Login.c(118): \t\titem = this._getSelectedItem();\n
Login.c(118): \n
Login.c(118): \t\t// Update the menu to have the correct item focused\n
Login.c(118): \t\tthis.menuInstance.focus( null, item );\n
Login.c(118): \t\tthis._setAria( item.data( "ui-selectmenu-item" ) );\n
Login.c(118): \n
Login.c(118): \t\t// Set disabled state\n
Login.c(118): \t\tthis._setOption( "disabled",
this.element.prop( "disabled" ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \topen: function( event ) {\n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// If this is the first time the menu is being opened, render
the items\n
Login.c(118): \t\tif ( !this.menuItems ) {\n
Login.c(118): \t\t\tthis._refreshMenu();\n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t//
Login.c(118): t=7424ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Menu clears focus on close, reset focus to selected item\n
Login.c(118): \t\t\tthis.menu.find( ".ui-state-focus" ).removeClass( "ui-state-
focus" );\n
Login.c(118): \t\t\tthis.menuInstance.focus( null, this._getSelectedItem() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.isOpen = true;\n
Login.c(118): \t\tthis._toggleAttr();\n
Login.c(118): \t\tthis._resizeMenu();\n
Login.c(118): \t\tthis._position();\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.document, this._documentClick );\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "open", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_position: function() {\n
Login.c(118): \t\tthis.menuWrap.position( $.extend( { of: this.button },
this.options.position ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tif ( !this.isOpen ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.isOpen = false;\n
Login.c(118): \t\tthis._toggleAttr();\n
Login.c(118): \n
Login.c(118): \t\tthis._off( this.document );\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "close", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.button;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tmenuWidget: function() {\n
Login.c(118): \t\treturn this.menu;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderMenu: function( ul, items ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tcurrentOptgroup = "";\n
Login.c(118): \n
Login.c(118): \t\t$.each( items, function( index, item ) {\n
Login.c(118): \t\t\tif ( item.optgroup !== currentOptgroup ) {\n
Login.c(118): \t\t\t\t$( "<li>", {\n
Login.c(118): \t\t\t\t\t"class": "ui-selectmenu-optgroup ui-menu-divider" +\n
Login.c(118):
\t\t\t\t\t\t( item.element.parent( "optgroup" ).prop( "disabled" ) ?\n
Login.c(118): \t\t\t\t\t\t\t" ui-state-disabled" :\n
Login.c(118): \t\t\t\t\t\t\t"" ),\n
Login.c(118): \t\t\t\t\ttext: item.optgroup\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t\t.appendTo( ul );\n
Login.c(118): \n
Login.c(118): \t\t\t\tcurrentOptgroup = item.optgroup;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthat._renderItemData( ul, item );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItemData: function( ul, item ) {\n
Login.c(118): \t\treturn this._renderItem( ul, item ).data( "ui-selectmenu-
item", item );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItem: function( ul, item ) {\n
Login.c(118): \t\tvar li = $( "<li>" );\n
Login.c(118): \n
Login.c(118): \t\tif ( item.disabled ) {\n
Login.c(118): \t\t\tli.addClass( "ui-state-disabled" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setText( li, item.label );\n
Login.c(118): \n
Login.c(118): \t\treturn li.appendTo( ul );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setText: function( element, value ) {\n
Login.c(118): \t\tif ( value ) {\n
Login.c(118): \t\t\telement.text( value );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement.html( " " );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_move: function( direction, event ) {\n
Login.c(118): \t\tvar item, next,\n
Login.c(118): \t\t\tfilter = ".ui-menu-item";\n
Login.c(118): \n
Login.c(118): \t\tif ( this.isOpen ) {\n
Login.c(118): \t\t\titem = this.menuItems.eq( this.focusIndex );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\titem =
this.menuItems.eq( this.element[ 0 ].selectedIndex );\n
Login.c(118): \t\t\tfilter += ":not(.ui-state-disabled)";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( direction === "first" || direction === "last" ) {\n
Login.c(118): \t\t\tnext = item[ direction === "first" ? "prevAll" :
"nextAll" ]( filter ).eq( -1 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tnext = item[ direction + "All" ]( filter ).eq( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( next.length ) {\n
Login.c(118): \t\t\tthis.menuInstance.focus( event, next );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getSelectedItem: function() {\n
Login.c(118): \t\treturn
this.menuItems.eq( this.element[ 0 ].selectedIndex );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggle: function( event ) {\n
Login.c(118): \t\tthis[ this.isOpen ? "close" : "open" ]( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_documentClick: {\n
Login.c(118): \t\tmousedown: function( event ) {\n
Login.c(118): \t\t\tif ( !this.isOpen ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !$( event.target ).closest( ".ui-selectmenu-menu, #" +
this.ids.button ).length
Login.c(118): ) {\n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_buttonEvents: {\n
Login.c(118): \n
Login.c(118): \t\t// Prevent text selection from being reset when interacting
with the selectmenu (#1014
Login.c(118): 4)\n
Login.c(118): \t\tmousedown: function( event ) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \t\tclick: "_toggle",\n
Login.c(118): \n
Login.c(118): \t\tkeydown: function( event ) {\n
Login.c(118): \t\t\tvar preventDefault = true;\n
Login.c(118): \t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.TAB:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.ESCAPE:\n
Login.c(118): \t\t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\t\tpreventDefault = false;\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.ENTER:\n
Login.c(118): \t\t\t\t\tif ( this.isOpen ) {\n
Login.c(118): \t\t\t\t\t\tthis._selectFocusedItem( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\t\t\tif ( event.altKey ) {\n
Login.c(118): \t\t\t\t\t\tthis._toggle( event );\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tthis._move( "prev", event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\t\tif ( event.altKey ) {\n
Login.c(118): \t\t\t\t\t\tthis._toggle( event );\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tthis._move( "next", event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.SPACE:\n
Login.c(118): \t\t\t\t\tif ( this.isOpen ) {\n
Login.c(118): \t\t\t\t\t\tthis._selectFocusedItem( event );\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tthis._toggle( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\t\tthis._move( "prev", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\t\t\tthis._move( "next", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tthis._move( "first", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tthis._move( "last", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\tthis.menu.trigger( event );\n
Login.c(118): \t\t\t\t\tpreventDefault = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( preventDefault ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_selectFocusedItem: function( event ) {\n
Login.c(118): \t\tvar item = this.menuItems.eq( this.focusIndex );\n
Login.c(118): \t\tif ( !item.hasClass( "ui-state-disabled" ) ) {\n
Login.c(118): \t\t\tthis._select( item.data( "ui-selectmenu-item" ), event );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_select: function( item, event ) {\n
Login.c(118): \t\tvar oldIndex = this.element[ 0 ].selectedIndex;\n
Login.c(118): \n
Login.c(118): \t\t// Change native select element\n
Login.c(118): \t\tthis.element[ 0 ].selectedIndex = item.index;\n
Login.c(118): \t\tthis._setText( this.buttonText, item.label );\n
Login.c(118): \t\tthis._setAria( item );\n
Login.c(118): \t\tthis._trigger( "select", event, { item: item } );\n
Login.c(118): \n
Login.c(118): \t\tif ( item.index !== oldIndex ) {\n
Login.c(118): \t\t\tthis._trigger( "change", event, { item: item } );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.close( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setAria: function( item ) {\n
Login.c(118): \t\tvar id = this.menuItems.eq( item.index ).attr( "id" );\n
Login.c(118): \n
Login.c(118): \t\tthis.button.attr({\n
Login.c(118): \t\t\t"aria-labelledby": id,\n
Login.c(118): \t\t\t"aria-activedescendant": id\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.menu.attr( "aria-activedescendant", id );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis.button.find( "span.ui-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.button )\n
Login.c(118): \t\t\t\t.addClass( value.button );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "appendTo" ) {\n
Login.c(118): \t\t\tthis.menuWrap.appendTo( this._appendTo() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.menuInstance.option( "disabled", value );\n
Login.c(118): \t\t\tthis.button\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.prop( "disabled", value );\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tthis.button.attr( "tabindex", -1 );\n
Login.c(118): \t\t\t\tthis.close();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.button.attr( "tabindex", 0 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "width" ) {\n
Login.c(118): \t\t\tthis._resizeButton();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_appendTo: function() {\n
Login.c(118): \t\tvar element = this.options.appendTo;\n
Login.c(118): \n
Login.c(118): \t\tif ( element ) {\n
Login.c(118): \t\t\telement = element.jquery || element.nodeType ?\n
Login.c(118): \t\t\t\t$( element ) :\n
Login.c(118): \t\t\t\tthis.document.find( element ).eq( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element || !element[ 0 ] ) {\n
Login.c(118): \t\t\telement = this.element.closest( ".ui-front" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element.length ) {\n
Login.c(118): \t\t\telement = this.document[ 0 ].body;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggleAttr: function() {\n
Login.c(118): \t\tthis.button\n
Login.c(118): \t\t\t.toggleClass( "ui-corner-top", this.isOpen )\n
Login.c(118): \t\t\t.toggleClass( "ui-corner-all", !this.isOpen )\n
Login.c(118): \t\t\t.attr( "aria-expanded", this.isOpen );\n
Login.c(118): \t\tthis.menuWrap.toggleClass( "ui-selectmenu-open",
this.isOpen );\n
Login.c(118): \t\tthis.menu.attr( "aria-hidden", !this.isOpen );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resizeButton: function() {\n
Login.c(118): \t\tvar width = this.options.width;\n
Login.c(118): \n
Login.c(118): \t\tif ( !width ) {\n
Login.c(118): \t\t\twidth = this.element.show().outerWidth();\n
Login.c(118): \t\t\tthis.element.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.button.outerWidth( width );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resizeMenu: function() {\n
Login.c(118): \t\tthis.menu.outerWidth( Math.max(\n
Login.c(118): \t\t\tthis.button.outerWidth(),\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE10\n
Login.c(118): \t\t\t// IE10 wraps long text (possibly a rounding bug)\n
Login.c(118): \t\t\t// so we add 1px to avoid the wrapping\n
Login.c(118): \t\t\tthis.menu.width( "" ).outerWidth() + 1\n
Login.c(118): \t\t) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateOptions: function() {\n
Login.c(118): \t\treturn { disabled: this.element.prop( "disabled" ) };\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_parseOptions: function( options ) {\n
Login.c(118): \t\tvar data = [];\n
Login.c(118): \t\toptions.each(function( index, item ) {\n
Login.c(118): \t\t\tvar option = $( item ),\n
Login.c(118): \t\t\t\toptgroup = option.parent( "optgroup" );\n
Login.c(118): \t\t\tdata.push({\n
Login.c(118): \t\t\t\telement: option,\n
Login.c(118): \t\t\t\tindex: index,\n
Login.c(118): \t\t\t\tvalue: option.attr( "value" ),\n
Login.c(118): \t\t\t\tlabel: option.text(),\n
Login.c(118): \t\t\t\toptgroup: optgroup.attr( "label" ) || "",\n
Login.c(118): \t\t\t\tdisabled: optgroup.prop( "disabled" ) ||
option.prop( "disabled" )\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.items = data;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.menuWrap.remove();\n
Login.c(118): \t\tthis.button.remove();\n
Login.c(118): \t\tthis.element.show();\n
Login.c(118): \t\tthis.element.removeUniqueId();\n
Login.c(118): \t\tthis.label.attr( "for", this.ids.element );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Slider 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/slider/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var slider = $.widget( "ui.slider", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "slide",\n
Login.c(118): \n
Login.c(118): \toptions: {\n
Login.c(118): \t\tanimate: false,\n
Login.c(118): \t\tdistance: 0,\n
Login.c(118): \t\tmax: 100,\n
Login.c(118): \t\tmin: 0,\n
Login.c(118): \t\torientation: "horizontal",\n
Login.c(118): \t\trange: false,\n
Login.c(118): \t\tstep: 1,\n
Login.c(118): \t\tvalue: 0,\n
Login.c(118): \t\tvalues: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tslide: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// number of pages in a slider\n
Login.c(118): \t// (how many times can you page up/down to go through the whole
range)\n
Login.c(118): \tnumPages: 5,\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis._keySliding = false;\n
Login.c(118): \t\tthis._mouseSliding = false;\n
Login.c(118): \t\tthis._animateOff = true;\n
Login.c(118): \t\tthis._handleIndex = null;\n
Login.c(118): \t\tthis._detectOrientation();\n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-slider" +\n
Login.c(118): \t\t\t\t" ui-slider-" + this.orientation +\n
Login.c(118): \t\t\t\t" ui-widget" +\n
Login.c(118): \t\t\t\t" ui-widget-content" +\n
Login.c(118): \t\t\t\t" ui-corner-all");\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t\tthis._setOption( "disabled", this.options.disabled );\n
Login.c(118): \n
Login.c(118): \t\tthis._animateOff = false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tthis._createRange();\n
Login.c(118): \t\tthis._createHandles();\n
Login.c(118): \t\tthis._setupEvents();\n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createHandles: function() {\n
Login.c(118): \t\tvar i, handleCount,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\texistingHandles = this.element.find( ".ui-slider-
handle" ).addClass( "ui-state-defau
Login.c(118): lt ui-corner-all" ),\n
Login.c(118): \t\t\thandle = "<span class='ui-slider-handle ui-state-default
ui-corner-all' tabindex='0'
Login.c(118): ></span>",\n
Login.c(118): \t\t\thandles = [];\n
Login.c(118): \n
Login.c(118): \t\thandleCount = ( options.values && options.values.length ) ||
1;\n
Login.c(118): \n
Login.c(118): \t\tif ( existingHandles.length > handleCount ) {\n
Login.c(118): \t\t\texistingHandles.slice( handleCount ).remove();\n
Login.c(118): \t\t\texistingHandles = existingHandles.slice( 0,
handleCount );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfor ( i = existingHandles.length; i < handleCount; i++ ) {\n
Login.c(118): \t\t\thandles.push( handle );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.handles = existingHandles.add( $
( handles.join( "" ) ).appendTo( this.element ) )
Login.c(118): ;\n
Login.c(118): \n
Login.c(118): \t\tthis.handle = this.handles.eq( 0 );\n
Login.c(118): \n
Login.c(118): \t\tthis.handles.each(function( i ) {\n
Login.c(118): \t\t\t$( this ).data( "ui-slider-handle-index", i );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createRange: function() {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tclasses = "";\n
Login.c(118): \n
Login.c(118): \t\tif ( options.range ) {\n
Login.c(118): \t\t\tif ( options.range === true ) {\n
Login.c(118): \t\t\t\tif ( !options.values ) {\n
Login.c(118): \t\t\t\t\toptions.values = [ this._valueMin(),
this._valueMin() ];\n
Login.c(118): \t\t\t\t} else if ( options.values.length &&
options.values.length !== 2 ) {\n
Login.c(118): \t\t\t\t\toptions.values = [ options.values[0], options.values[0]
];\n
Login.c(118): \t\t\t\t} else if ( $.isArray( options.values ) ) {\n
Login.c(118): \t\t\t\t\toptions.values = options.values.slice(0);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.range || !this.range.length ) {\n
Login.c(118): \t\t\t\tthis.range = $( "<div></div>" )\n
Login.c(118): \t\t\t\t\t.appendTo( this.element );\n
Login.c(118): \n
Login.c(118): \t\t\t\tclasses = "ui-slider-range" +\n
Login.c(118): \t\t\t\t// note: this isn't the most fittingly semantic framework
class for this element,\n
Login.c(118): \t\t\t\t// but worked best visually with a variety of themes\n
Login.c(118): \t\t\t\t" ui-widget-header ui-corner-all";\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.range.removeClass( "ui-slider-range-min ui-slider-
range-max" )\n
Login.c(118): \t\t\t\t\t// Handle range switching from true to min/max\n
Login.c(118): \t\t\t\t\t.css({\n
Login.c(118): \t\t\t\t\t\t"left": "",\n
Login.c(118): \t\t\t\t\t\t"bottom": ""\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.range.addClass( classes +\n
Login.c(118): \t\t\t\t( ( options.range === "min" || options.range ===
"max" ) ? " ui-slider-range-" + o
Login.c(118): ptions.range : "" ) );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif ( this.range ) {\n
Login.c(118): \t\t\t\tthis.range.remove();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.range = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupEvents: function() {\n
Login.c(118): \t\tthis._off( this.handles );\n
Login.c(118): \t\tthis._on( this.handles, this._handleEvents );\n
Login.c(118): \t\tthis._hoverable( this.handles );\n
Login.c(118): \t\tthis._focusable( this.handles );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.handles.remove();\n
Login.c(118): \t\tif ( this.range ) {\n
Login.c(118): \t\t\tthis.range.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-slider" +\n
Login.c(118): \t\t\t\t" ui-slider-horizontal" +\n
Login.c(118): \t\t\t\t" ui-slider-vertical" +\n
Login.c(118): \t\t\t\t" ui-widget" +\n
Login.c(118): \t\t\t\t" ui-widget-content" +\n
Login.c(118): \t\t\t\t" ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function( event ) {\n
Login.c(118): \t\tvar position, normValue, distance, closestHandle, index,
allowed, offset, mouseOverHan
Login.c(118): dle,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\tif ( o.disabled ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.elementSize = {\n
Login.c(118): \t\t\twidth: this.element.outerWidth(),\n
Login.c(118): \t\t\theight: this.element.outerHeight()\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.elementOffset = this.element.offset();\n
Login.c(118): \n
Login.c(118): \t\tposition = { x: event.pageX, y: event.pageY };\n
Login.c(118): \t\tnormValue = this._normValueFromMouse( position );\n
Login.c(118): \t\tdistance = this._valueMax() - this._valueMin() + 1;\n
Login.c(118): \t\tthis.handles.each(function( i ) {\n
Login.c(118): \t\t\tvar thisDistance = Math.abs( normValue -
that.values(i) );\n
Login.c(118): \t\t\tif (( distance > thisDistance ) ||\n
Login.c(118): \t\t\t\t( distance === thisDistance &&\n
Login.c(118): \t\t\t\t\t(i === that._lastChangedValue || that.values(i) ===
o.min ))) {\n
Login.c(118): \t\t\t\tdistance = thisDistance;\n
Login.c(118): \t\t\t\tclosestHandle = $( this );\n
Login.c(118): \t\t\t\tindex = i;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t
Login.c(118): t=7446ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \t\tallowed = this._start( event, index );\n
Login.c(118): \t\tif ( allowed === false ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._mouseSliding = true;\n
Login.c(118): \n
Login.c(118): \t\tthis._handleIndex = index;\n
Login.c(118): \n
Login.c(118): \t\tclosestHandle\n
Login.c(118): \t\t\t.addClass( "ui-state-active" )\n
Login.c(118): \t\t\t.focus();\n
Login.c(118): \n
Login.c(118): \t\toffset = closestHandle.offset();\n
Login.c(118): \t\tmouseOverHandle = !$
( event.target ).parents().addBack().is( ".ui-slider-handle" );\n
Login.c(118): \t\tthis._clickOffset = mouseOverHandle ? { left: 0, top: 0 } :
{\n
Login.c(118): \t\t\tleft: event.pageX - offset.left - ( closestHandle.width() /
2 ),\n
Login.c(118): \t\t\ttop: event.pageY - offset.top -\n
Login.c(118): \t\t\t\t( closestHandle.height() / 2 ) -\n
Login.c(118): \t\t\t\t( parseInt( closestHandle.css("borderTopWidth"), 10 ) ||
0 ) -\n
Login.c(118): \t\t\t\t( parseInt( closestHandle.css("borderBottomWidth"), 10 )
|| 0) +\n
Login.c(118): \t\t\t\t( parseInt( closestHandle.css("marginTop"), 10 ) || 0)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.handles.hasClass( "ui-state-hover" ) ) {\n
Login.c(118): \t\t\tthis._slide( event, index, normValue );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._animateOff = true;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function() {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function( event ) {\n
Login.c(118): \t\tvar position = { x: event.pageX, y: event.pageY },\n
Login.c(118): \t\t\tnormValue = this._normValueFromMouse( position );\n
Login.c(118): \n
Login.c(118): \t\tthis._slide( event, this._handleIndex, normValue );\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function( event ) {\n
Login.c(118): \t\tthis.handles.removeClass( "ui-state-active" );\n
Login.c(118): \t\tthis._mouseSliding = false;\n
Login.c(118): \n
Login.c(118): \t\tthis._stop( event, this._handleIndex );\n
Login.c(118): \t\tthis._change( event, this._handleIndex );\n
Login.c(118): \n
Login.c(118): \t\tthis._handleIndex = null;\n
Login.c(118): \t\tthis._clickOffset = null;\n
Login.c(118): \t\tthis._animateOff = false;\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_detectOrientation: function() {\n
Login.c(118): \t\tthis.orientation = ( this.options.orientation ===
"vertical" ) ? "vertical" : "horizon
Login.c(118): tal";\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_normValueFromMouse: function( position ) {\n
Login.c(118): \t\tvar pixelTotal,\n
Login.c(118): \t\t\tpixelMouse,\n
Login.c(118): \t\t\tpercentMouse,\n
Login.c(118): \t\t\tvalueTotal,\n
Login.c(118): \t\t\tvalueMouse;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.orientation === "horizontal" ) {\n
Login.c(118): \t\t\tpixelTotal = this.elementSize.width;\n
Login.c(118): \t\t\tpixelMouse = position.x - this.elementOffset.left -
( this._clickOffset ? this._clic
Login.c(118): kOffset.left : 0 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tpixelTotal = this.elementSize.height;\n
Login.c(118): \t\t\tpixelMouse = position.y - this.elementOffset.top -
( this._clickOffset ? this._click
Login.c(118): Offset.top : 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tpercentMouse = ( pixelMouse / pixelTotal );\n
Login.c(118): \t\tif ( percentMouse > 1 ) {\n
Login.c(118): \t\t\tpercentMouse = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( percentMouse < 0 ) {\n
Login.c(118): \t\t\tpercentMouse = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.orientation === "vertical" ) {\n
Login.c(118): \t\t\tpercentMouse = 1 - percentMouse;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvalueTotal = this._valueMax() - this._valueMin();\n
Login.c(118): \t\tvalueMouse = this._valueMin() + percentMouse * valueTotal;\n
Login.c(118): \n
Login.c(118): \t\treturn this._trimAlignValue( valueMouse );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_start: function( event, index ) {\n
Login.c(118): \t\tvar uiHash = {\n
Login.c(118): \t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\tvalue: this.value()\n
Login.c(118): \t\t};\n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\tuiHash.value = this.values( index );\n
Login.c(118): \t\t\tuiHash.values = this.values();\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this._trigger( "start", event, uiHash );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_slide: function( event, index, newVal ) {\n
Login.c(118): \t\tvar otherVal,\n
Login.c(118): \t\t\tnewValues,\n
Login.c(118): \t\t\tallowed;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\totherVal = this.values( index ? 0 : 1 );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( ( this.options.values.length === 2 &&
this.options.range === true ) &&\n
Login.c(118): \t\t\t\t\t( ( index === 0 && newVal > otherVal) || ( index === 1
&& newVal < otherVal ) )\n
Login.c(118): \t\t\t\t) {\n
Login.c(118): \t\t\t\tnewVal = otherVal;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( newVal !== this.values( index ) ) {\n
Login.c(118): \t\t\t\tnewValues = this.values();\n
Login.c(118): \t\t\t\tnewValues[ index ] = newVal;\n
Login.c(118): \t\t\t\t// A slide can be canceled by returning false from the
slide callback\n
Login.c(118): \t\t\t\tallowed = this._trigger( "slide", event, {\n
Login.c(118): \t\t\t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\t\t\tvalue: newVal,\n
Login.c(118): \t\t\t\t\tvalues: newValues\n
Login.c(118): \t\t\t\t} );\n
Login.c(118): \t\t\t\totherVal = this.values( index ? 0 : 1 );\n
Login.c(118): \t\t\t\tif ( allowed !== false ) {\n
Login.c(118): \t\t\t\t\tthis.values( index, newVal );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif ( newVal !== this.value() ) {\n
Login.c(118): \t\t\t\t// A slide can be canceled by returning false from the
slide callback\n
Login.c(118): \t\t\t\tallowed = this._trigger( "slide", event, {\n
Login.c(118): \t\t\t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\t\t\tvalue: newVal\n
Login.c(118): \t\t\t\t} );\n
Login.c(118): \t\t\t\tif ( allowed !== false ) {\n
Login.c(118): \t\t\t\t\tthis.value( newVal );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_stop: function( event, index ) {\n
Login.c(118): \t\tvar uiHash = {\n
Login.c(118): \t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\tvalue: this.value()\n
Login.c(118): \t\t};\n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\tuiHash.value = this.values( index );\n
Login.c(118): \t\t\tuiHash.values = this.values();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "stop", event, uiHash );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_change: function( event, index ) {\n
Login.c(118): \t\tif ( !this._keySliding && !this._mouseSliding ) {\n
Login.c(118): \t\t\tvar uiHash = {\n
Login.c(118): \t\t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\t\tvalue: this.value()\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tif ( this.options.values && this.options.values.length )
{\n
Login.c(118): \t\t\t\tuiHash.value = this.values( index );\n
Login.c(118): \t\t\t\tuiHash.values = this.values();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t//store the last changed value index for reference when
handles overlap\n
Login.c(118): \t\t\tthis._lastChangedValue = index;\n
Login.c(118): \n
Login.c(118): \t\t\tthis._trigger( "change", event, uiHash );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tvalue: function( newValue ) {\n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tthis.options.value = this._trimAlignValue( newValue );\n
Login.c(118): \t\t\tthis._refreshValue();\n
Login.c(118): \t\t\tthis._change( null, 0 );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this._value();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tvalues: function( index, newValue ) {\n
Login.c(118): \t\tvar vals,\n
Login.c(118): \t\t\tnewValues,\n
Login.c(118): \t\t\ti;\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length > 1 ) {\n
Login.c(118): \t\t\tthis.options.values[ index ] =
this._trimAlignValue( newValue );\n
Login.c(118): \t\t\tthis._refreshValue();\n
Login.c(118): \t\t\tthis._change( null, index );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tif ( $.isArray( arguments[ 0 ] ) ) {\n
Login.c(118): \t\t\t\tvals = this.options.values;\n
Login.c(118): \t\t\t\tnewValues = arguments[ 0 ];\n
Login.c(118): \t\t\t\tfor ( i = 0; i < vals.length; i += 1 ) {\n
Login.c(118): \t\t\t\t\tvals[ i ] = this._trimAlignValue( newValues[ i ] );\n
Login.c(118): \t\t\t\t\tthis._change( null, i );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tif ( this.options.values && this.options.values.length )
{\n
Login.c(118): \t\t\t\t\treturn this._values( index );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\treturn this.value();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn this._values();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tvalsLength = 0;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "range" && this.options.range === true ) {\n
Login.c(118): \t\t\tif ( value === "min" ) {\n
Login.c(118): \t\t\t\tthis.options.value = this._values( 0 );\n
Login.c(118): \t\t\t\tthis.options.values = null;\n
Login.c(118): \t\t\t} else if ( value === "max" ) {\n
Login.c(118): \t\t\t\tthis.options.value =
this._values( this.options.values.length - 1 );\n
Login.c(118): \t\t\t\tthis.options.values = null;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( $.isArray( this.options.values ) ) {\n
Login.c(118): \t\t\tvalsLength = this.options.values.length;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element.toggleClass( "ui-state-disabled", !!value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tswitch ( key ) {\n
Login.c(118): \t\t\tcase "orientation":\n
Login.c(118): \t\t\t\tthis._detectOrientation();\n
Login.c(118): \t\t\t\tthis.element\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-slider-horizontal ui-slider-vertical"
)\n
Login.c(118): \t\t\t\t\t.addClass( "ui-slider-" + this.orientation );\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Reset positioning from previous orientation\n
Login.c(118): \t\t\t\tthis.handles.css( value === "horizontal" ? "bottom" :
"left", "" );\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "value":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t\tthis._change( null, 0 );\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "values":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t\tfor ( i = 0; i < valsLength; i += 1 ) {\n
Login.c(118): \t\t\t\t\tthis._change( null, i );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "min":\n
Login.c(118): \t\t\tcase "max":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "range":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refresh();\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t//internal value getter\n
Login.c(118): \t// _value() returns value trimmed by min and max, aligned by
step\n
Login.c(118): \t_value: function() {\n
Login.c(118): \t\tvar val = this.options.value;\n
Login.c(118): \t\tval = this._trimAlignValue( val );\n
Login.c(118): \n
Login.c(118): \t\treturn val;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t//internal values getter\n
Login.c(118): \t// _values() returns array of values trimmed by min and max,
aligned by step\n
Login.c(118): \t// _values( index ) returns single value trimmed by min and
max, aligned by step\n
Login.c(118): \t_values: function( index ) {\n
Login.c(118): \t\tvar val,\n
Login.c(118): \t\t\tvals,\n
Login.c(118): \t\t\ti;\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tval = this.options.values[ index ];\n
Login.c(118): \t\t\tval = this._trimAlignValue( val );\n
Login.c(118): \n
Login.c(118): \t\t\treturn val;\n
Login.c(118): \t\t} else if ( this.options.values && this.options.values.length
) {\n
Login.c(118): \t\t\t// .slice() creates a copy of the array\n
Login.c(118): \t\t\t// this copy gets trimmed by min and max and then
returned\n
Login.c(118): \t\t\tvals = this.options.values.slice();\n
Login.c(118): \t\t\tfor ( i = 0; i < vals.length; i+= 1) {\n
Login.c(118): \t\t\t\tvals[ i ] = this._trimAlignValue( vals[ i ] );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\treturn vals;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn [];\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// returns the step-aligned value that val is closest to,
between (inclusive) min and ma
Login.c(118): x\n
Login.c(118): \t_trimAlignValue: function( val ) {\n
Login.c(118): \t\tif ( val <= this._valueMin() ) {\n
Login.c(118): \t\t\treturn this._valueMin();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( val >= this._valueMax() ) {\n
Login.c(118): \t\t\treturn this._valueMax();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar step = ( this.options.step > 0 ) ? this.options.step :
1,\n
Login.c(118): \t\t\tvalModStep = (val - this._valueMin()) % step,\n
Login.c(118): \t\t\talignValue = val - valModStep;\n
Login.c(118): \n
Login.c(118): \t\tif ( Math.abs(valModStep) * 2 >= step ) {\n
Login.c(118): \t\t\talignValue += ( valModStep > 0 ) ? step : ( -step );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Since JavaScript has problems with large floats, round\n
Login.c(118): \t\t// the final value to 5 digits after the decimal point (see
#4124)\n
Login.c(118): \t\treturn parseFloat( alignValue.toFixed(5) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_valueMin: function() {\n
Login.c(118): \t\treturn this.options.min;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_valueMax: function() {\n
Login.c(118): \t\treturn this.options.max;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshValue: function() {\n
Login.c(118): \t\tvar lastValPercent, valPercent, value, valueMin, valueMax,\n
Login.c(118): \t\t\toRange = this.options.range,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\tanimate = ( !this._animateOff ) ? o.animate : false,\n
Login.c(118): \t\t\t_set = {};\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\tthis.handles.each(function( i ) {\n
Login.c(118): \t\t\t\tvalPercent = ( that.values(i) - that._valueMin() ) /
( that._valueMax() - that._va
Login.c(118): lueMin() ) * 100;\n
Login.c(118): \t\t\t\t_set[ that.orientation === "horizontal" ? "left" :
"bottom" ] = valPercent + "%";\n
Login.c(118): \t\t\t\t$( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]
( _set, o.animate );\n
Login.c(118): \t\t\t\tif ( that.options.range === true ) {\n
Login.c(118): \t\t\t\t\tif ( that.orientation === "horizontal" ) {\n
Login.c(118): \t\t\t\t\t\tif ( i === 0 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? "animate" :
"css" ]( { left: valPercent +
Login.c(118): "%" }, o.animate );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tif ( i === 1 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range[ animate ? "animate" : "css" ]( { width:
( valPercent - lastValPe
Login.c(118): rcent ) + "%" }, { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tif ( i === 0 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? "animate" :
"css" ]( { bottom: ( valPerce
Login.c(118): nt ) + "%" }, o.animate );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tif ( i === 1 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range[ animate ? "animate" : "css" ]
( { height: ( valPercent - lastValP
Login.c(118): ercent ) + "%" }, { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tlastValPercent = valPercent;\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tvalue = this.value();\n
Login.c(118): \t\t\tvalueMin = this._valueMin();\n
Login.c(118): \t\t\tvalueMax = this._valueMax();\n
Login.c(118): \t\t\tvalPercent = ( valueMax !== valueMin ) ?\n
Login.c(118): \t\t\t\t\t( value - valueMin ) / ( valueMax - valueMin ) *
100 :\n
Login.c(118): \t\t\t\t\t0;\n
Login.c(118): \t\t\t_set[ this.orientation === "horizontal" ? "left" : "bottom"
] = valPercent + "%";\n
Login.c(118): \t\t\tthis.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]
( _set, o.animate );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( oRange === "min" && this.orientation ===
"horizontal" ) {\n
Login.c(118): \t\t\t\tthis.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( {
width: valPercent + "%"
Login.c(118): }, o.animate );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( oRange === "max" && this.orientation ===
"horizontal" ) {\n
Login.c(118): \t\t\t\tthis.range[ animate ? "animate" : "css" ]( { width: ( 100
- valPercent ) + "%" },
Login.c(118): { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( oRange === "min" && this.orientation === "vertical" )
{\n
Login.c(118): \t\t\t\tthis.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( {
height: valPercent + "%"
Login.c(118): }, o.animate );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( oRange === "max" && this.orientation === "vertical" )
{\n
Login.c(118): \t\t\t\tthis.range[ animate ? "animate" : "css" ]( { height:
( 100 - valPercent ) + "%" },
Login.c(118): { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_handleEvents: {\n
Login.c(118): \t\tkeydown: function( event ) {\n
Login.c(118): \t\t\tvar allowed, curVal, newVal, step,\n
Login.c(118): \t\t\t\tindex = $( event.target ).data( "ui-slider-handle-
index" );\n
Login.c(118): \n
Login.c(118): \t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tif ( !this._keySliding ) {\n
Login.c(118): \t\t\t\t\t\tthis._keySliding = true;\n
Login.c(118): \t\t\t\t\t\t$( event.target ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t\t\tallowed = this._start( event, index );\n
Login.c(118): \t\t\t\t\t\tif ( allowed === false ) {\n
Login.c(118): \t\t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tstep = this.options.step;\n
Login.c(118): \t\t\tif ( this.options.values && this.options.values.length )
{\n
Login.c(118): \t\t\t\tcurVal = newVal = this.values( index );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tcu
Login.c(118): t=7474ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): rVal = newVal = this.value();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\t\tnewVal = this._valueMin();\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\t\tnewVal = this._valueMax();\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue(\n
Login.c(118): \t\t\t\t\t\tcurVal + ( ( this._valueMax() - this._valueMin() ) /
this.numPages )\n
Login.c(118): \t\t\t\t\t);\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue(\n
Login.c(118): \t\t\t\t\t\tcurVal - ( (this._valueMax() - this._valueMin()) /
this.numPages ) );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\t\t\tif ( curVal === this._valueMax() ) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue( curVal + step );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\t\tif ( curVal === this._valueMin() ) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue( curVal - step );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._slide( event, index, newVal );\n
Login.c(118): \t\t},\n
Login.c(118): \t\tkeyup: function( event ) {\n
Login.c(118): \t\t\tvar index = $( event.target ).data( "ui-slider-handle-
index" );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this._keySliding ) {\n
Login.c(118): \t\t\t\tthis._keySliding = false;\n
Login.c(118): \t\t\t\tthis._stop( event, index );\n
Login.c(118): \t\t\t\tthis._change( event, index );\n
Login.c(118): \t\t\t\t$( event.target ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Sortable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/sortable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var sortable = $.widget("ui.sortable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "sort",\n
Login.c(118): \tready: false,\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: "parent",\n
Login.c(118): \t\taxis: false,\n
Login.c(118): \t\tconnectWith: false,\n
Login.c(118): \t\tcontainment: false,\n
Login.c(118): \t\tcursor: "auto",\n
Login.c(118): \t\tcursorAt: false,\n
Login.c(118): \t\tdropOnEmpty: true,\n
Login.c(118): \t\tforcePlaceholderSize: false,\n
Login.c(118): \t\tforceHelperSize: false,\n
Login.c(118): \t\tgrid: false,\n
Login.c(118): \t\thandle: false,\n
Login.c(118): \t\thelper: "original",\n
Login.c(118): \t\titems: "> *",\n
Login.c(118): \t\topacity: false,\n
Login.c(118): \t\tplaceholder: false,\n
Login.c(118): \t\trevert: false,\n
Login.c(118): \t\tscroll: true,\n
Login.c(118): \t\tscrollSensitivity: 20,\n
Login.c(118): \t\tscrollSpeed: 20,\n
Login.c(118): \t\tscope: "default",\n
Login.c(118): \t\ttolerance: "intersect",\n
Login.c(118): \t\tzIndex: 1000,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tbeforeStop: null,\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tdeactivate: null,\n
Login.c(118): \t\tout: null,\n
Login.c(118): \t\tover: null,\n
Login.c(118): \t\treceive: null,\n
Login.c(118): \t\tremove: null,\n
Login.c(118): \t\tsort: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null,\n
Login.c(118): \t\tupdate: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isOverAxis: function( x, reference, size ) {\n
Login.c(118): \t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isFloating: function( item ) {\n
Login.c(118): \t\treturn (/left|right/).test(item.css("float")) || (/inline|
table-cell/).test(item.css("
Login.c(118): display"));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options;\n
Login.c(118): \t\tthis.containerCache = {};\n
Login.c(118): \t\tthis.element.addClass("ui-sortable");\n
Login.c(118): \n
Login.c(118): \t\t//Get the items\n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \n
Login.c(118): \t\t//Let's determine if the items are being displayed
horizontally\n
Login.c(118): \t\tthis.floating = this.items.length ? o.axis === "x" ||
this._isFloating(this.items[0].i
Login.c(118): tem) : false;\n
Login.c(118): \n
Login.c(118): \t\t//Let's determine the parent's offset\n
Login.c(118): \t\tthis.offset = this.element.offset();\n
Login.c(118): \n
Login.c(118): \t\t//Initialize mouse events for interaction\n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t\tthis._setHandleClassName();\n
Login.c(118): \n
Login.c(118): \t\t//We're ready to go\n
Login.c(118): \t\tthis.ready = true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "handle" ) {\n
Login.c(118): \t\t\tthis._setHandleClassName();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setHandleClassName: function() {\n
Login.c(118): \t\tthis.element.find( ".ui-sortable-handle" ).removeClass( "ui-
sortable-handle" );\n
Login.c(118): \t\t$.each( this.items, function() {\n
Login.c(118): \t\t\t( this.instance.options.handle ?\n
Login.c(118): \t\t\t\tthis.item.find( this.instance.options.handle ) :
this.item )\n
Login.c(118): \t\t\t\t.addClass( "ui-sortable-handle" );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-sortable ui-sortable-disabled" )\n
Login.c(118): \t\t\t.find( ".ui-sortable-handle" )\n
Login.c(118): \t\t\t\t.removeClass( "ui-sortable-handle" );\n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \n
Login.c(118): \t\tfor ( var i = this.items.length - 1; i >= 0; i-- ) {\n
Login.c(118): \t\t\tthis.items[i].item.removeData(this.widgetName + "-item");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function(event, overrideHandle) {\n
Login.c(118): \t\tvar currentItem = null,\n
Login.c(118): \t\t\tvalidHandle = false,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \n
Login.c(118): \t\tif (this.reverting) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.options.disabled || this.options.type === "static")
{\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//We have to refresh the items data once first\n
Login.c(118): \t\tthis._refreshItems(event);\n
Login.c(118): \n
Login.c(118): \t\t//Find out if the clicked node (or one of its parents) is a
actual item in this.items\n
Login.c(118): \t\t$(event.target).parents().each(function() {\n
Login.c(118): \t\t\tif($.data(this, that.widgetName + "-item") === that) {\n
Login.c(118): \t\t\t\tcurrentItem = $(this);\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tif($.data(event.target, that.widgetName + "-item") === that)
{\n
Login.c(118): \t\t\tcurrentItem = $(event.target);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!currentItem) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(this.options.handle && !overrideHandle) {\n
Login.c(118): \t\t\t$(this.options.handle,
currentItem).find("*").addBack().each(function() {\n
Login.c(118): \t\t\t\tif(this === event.target) {\n
Login.c(118): \t\t\t\t\tvalidHandle = true;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tif(!validHandle) {\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.currentItem = currentItem;\n
Login.c(118): \t\tthis._removeCurrentsFromItems();\n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event, overrideHandle, noActivation) {\n
Login.c(118): \n
Login.c(118): \t\tvar i, body,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\tthis.currentContainer = this;\n
Login.c(118): \n
Login.c(118): \t\t//We only need to call refreshPositions, because the
refreshItems call has been moved
Login.c(118): to mouseCapture\n
Login.c(118): \t\tthis.refreshPositions();\n
Login.c(118): \n
Login.c(118): \t\t//Create and append the visible helper\n
Login.c(118): \t\tthis.helper = this._createHelper(event);\n
Login.c(118): \n
Login.c(118): \t\t//Cache the helper size\n
Login.c(118): \t\tthis._cacheHelperProportions();\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position generation -\n
Login.c(118): \t\t * This block generates everything position related - it's
the core of draggables.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\t//Cache the margins of the original element\n
Login.c(118): \t\tthis._cacheMargins();\n
Login.c(118): \n
Login.c(118): \t\t//Get the next scrolling parent\n
Login.c(118): \t\tthis.scrollParent = this.helper.scrollParent();\n
Login.c(118): \n
Login.c(118): \t\t//The element's absolute position on the page minus margins\n
Login.c(118): \t\tthis.offset = this.currentItem.offset();\n
Login.c(118): \t\tthis.offset = {\n
Login.c(118): \t\t\ttop: this.offset.top - this.margins.top,\n
Login.c(118): \t\t\tleft: this.offset.left - this.margins.left\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t$.extend(this.offset, {\n
Login.c(118): \t\t\tclick: { //Where the click happened, relative to the
element\n
Login.c(118): \t\t\t\tleft: event.pageX - this.offset.left,\n
Login.c(118): \t\t\t\ttop: event.pageY - this.offset.top\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tparent: this._getParentOffset(),\n
Login.c(118): \t\t\trelative: this._getRelativeOffset() //This is a relative to
absolute position minus
Login.c(118): the actual position calculation - only used for relative
positioned helper\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Only after we got the offset, we can change the helper's
position to absolute\n
Login.c(118): \t\t// TODO: Still need to figure out a way to make relative
sorting possible\n
Login.c(118): \t\tthis.helper.css("position", "absolute");\n
Login.c(118): \t\tthis.cssPosition = this.helper.css("position");\n
Login.c(118): \n
Login.c(118): \t\t//Generate the original position\n
Login.c(118): \t\tthis.originalPosition = this._generatePosition(event);\n
Login.c(118): \t\tthis.originalPageX = event.pageX;\n
Login.c(118): \t\tthis.originalPageY = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\t//Adjust the mouse offset relative to the helper if
"cursorAt" is supplied\n
Login.c(118): \t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n
Login.c(118): \n
Login.c(118): \t\t//Cache the former DOM position\n
Login.c(118): \t\tthis.domPosition = { prev: this.currentItem.prev()[0],
parent: this.currentItem.parent
Login.c(118): ()[0] };\n
Login.c(118): \n
Login.c(118): \t\t//If the helper is not the original, hide the original so
it's not playing any role du
Login.c(118): ring the drag, won't cause anything bad this way\n
Login.c(118): \t\tif(this.helper[0] !== this.currentItem[0]) {\n
Login.c(118): \t\t\tthis.currentItem.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Create the placeholder\n
Login.c(118): \t\tthis._createPlaceholder();\n
Login.c(118): \n
Login.c(118): \t\t//Set a containment if given in the options\n
Login.c(118): \t\tif(o.containment) {\n
Login.c(118): \t\t\tthis._setContainment();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif( o.cursor && o.cursor !== "auto" ) { // cursor option\n
Login.c(118): \t\t\tbody = this.document.find( "body" );\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE\n
Login.c(118): \t\t\tthis.storedCursor = body.css( "cursor" );\n
Login.c(118): \t\t\tbody.css( "cursor", o.cursor );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.storedStylesheet = $( "<style>*{ cursor:
"+o.cursor+" !important; }</style>" ).
Login.c(118): appendTo( body );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(o.opacity) { // opacity option\n
Login.c(118): \t\t\tif (this.helper.css("opacity")) {\n
Login.c(118): \t\t\t\tthis._storedOpacity = this.helper.css("opacity");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.helper.css("opacity", o.opacity);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(o.zIndex) { // zIndex option\n
Login.c(118): \t\t\tif (this.helper.css("zIndex")) {\n
Login.c(118): \t\t\t\tthis._storedZIndex = this.helper.css("zIndex");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.helper.css("zIndex", o.zIndex);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Prepare scrolling\n
Login.c(118): \t\tif(this.scrollParent[0] !== document &&
this.scrollParent[0].tagName !== "HTML") {\n
Login.c(118): \t\t\tthis.overflowOffset = this.scrollParent.offset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Call callbacks\n
Login.c(118): \t\tthis._trigger("start", event, this._uiHash());\n
Login.c(118): \n
Login.c(118): \t\t//Recache the helper size\n
Login.c(118): \t\tif(!this._preserveHelperProportions) {\n
Login.c(118): \t\t\tthis._cacheHelperProportions();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t//Post "activate" events to possible containers\n
Login.c(118): \t\tif( !noActivation ) {\n
Login.c(118): \t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n
Login.c(118): \t\t\t\tthis.containers[ i ]._trigger( "activate", event,
this._uiHash( this ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Prepare possible droppables\n
Login.c(118): \t\tif($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.current = this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ($.ui.ddmanager && !o.dropBehaviour) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.dragging = true;\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.addClass("ui-sortable-helper");\n
Login.c(118): \t\tthis._mouseDrag(event); //Execute the drag once - this causes
the helper not to be vis
Login.c(118): ible before getting its correct position\n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event) {\n
Login.c(118): \t\tvar i, item, itemElement, intersection,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tscrolled = false;\n
Login.c(118): \n
Login.c(118): \t\t//Compute the helpers position\n
Login.c(118): \t\tthis.position = this._generatePosition(event);\n
Login.c(118): \t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \n
Login.c(118): \t\tif (!this.lastPositionAbs) {\n
Login.c(118): \t\t\tthis.lastPositionAbs = this.positionAbs;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Do scrolling\n
Login.c(118): \t\tif(this.options.scroll) {\n
Login.c(118): \t\t\tif(this.scrollParent[0] !== document &&
this.scrollParent[0].tagName !== "HTML") {\n
Login.c(118): \n
Login.c(118): \t\t\t\tif((this.overflowOffset.top +
this.scrollParent[0].offsetHeight) - event.pageY < o
Login.c(118): .scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled =
this.scrollParent[0].scrollTop + o.s
Login.c(118): crollSpeed;\n
Login.c(118): \t\t\t\t} else if(event.pageY - this.overflowOffset.top <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled =
this.scrollParent[0].scrollTop - o.s
Login.c(118): crollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif((this.overflowOffset.left +
this.scrollParent[0].offsetWidth) - event.pageX < o
Login.c(118): .scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled =
this.scrollParent[0].scrollLeft + o
Login.c(118): .scrollSpeed;\n
Login.c(118): \t\t\t\t} else if(event.pageX - this.overflowOffset.left <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled =
this.scrollParent[0].scrollLeft - o
Login.c(118): .scrollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t\tif(event.pageY - $(document).scrollTop() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if($(window).height() - (event.pageY - $
(document).scrollTop()) < o.scrollS
Login.c(118): ensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif(event.pageX - $(document).scrollLeft() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if($(window).width() - (event.pageX - $
(document).scrollLeft()) < o.scrollS
Login.c(118): ensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(scrolled !== false && $.ui.ddmanager && !
o.dropBehaviour) {\n
Login.c(118): \t\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Regenerate the absolute position used for position checks\n
Login.c(118): \t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \n
Login.c(118): \t\t//Set the helper position\n
Login.c(118): \t\tif(!this.options.axis || this.options.axis !== "y") {\n
Login.c(118): \t\t\tthis.helper[0].style.left = this.position.left+"px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(!this.options.axis || this.options.axis !== "x") {\n
Login.c(118): \t\t\tthis.helper[0].style.top = this.position.top+"px";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Rearrange\n
Login.c(118): \t\tfor (i = this.items.length - 1; i >= 0; i--) {\n
Login.c(118): \n
Login.c(118): \t\t\t//Cache variables and intersection, continue if no
intersection\n
Login.c(118): \t\t\titem = this.items[i];\n
Login.c(118): \t\t\titemElement = item.item[0];\n
Login.c(118): \t\t\tintersection = this._intersectsWithPointer(item);\n
Login.c(118): \t\t\tif (!intersection) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Only put the placeholder inside the current Container,
skip all\n
Login.c(118): \t\t\t// items from other containers. This works because when
moving\n
Login.c(118): \t\t\t// an item from one container to another the\n
Login.c(118): \t\t\t// currentContainer is switched before the placeholder is
moved.\n
Login.c(118): \t\t\t//\n
Login.c(118): \t\t\t// Without this, moving items in "sub-sortables" can
cause\n
Login.c(118): \t\t\t// the placeholder to jitter between the outer and inner
container.\n
Login.c(118): \t\t\tif (item.instance !== this.currentContainer) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// cannot intersect with itself\n
Login.c(118): \t\t\t// no useless actions that have been done before\n
Login.c(118): \t\t\t// no action if the item moved is the parent of the item
checked\n
Login.c(118): \t\t\tif (itemElement !== this.currentItem[0] &&\n
Login.c(118): \t\t\t\tthis.placehol
Login.c(118): t=7495ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): der[intersection === 1 ? "next" : "prev"]()[0] !== itemElement
&&\n
Login.c(118): \t\t\t\t!$.contains(this.placeholder[0], itemElement) &&\n
Login.c(118): \t\t\t\t(this.options.type === "semi-dynamic" ? !
$.contains(this.element[0], itemElement)
Login.c(118): : true)\n
Login.c(118): \t\t\t) {\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.direction = intersection === 1 ? "down" : "up";\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (this.options.tolerance === "pointer" ||
this._intersectsWithSides(item)) {\n
Login.c(118): \t\t\t\t\tthis._rearrange(event, item);\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis._trigger("change", event, this._uiHash());\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Post events to containers\n
Login.c(118): \t\tthis._contactContainers(event);\n
Login.c(118): \n
Login.c(118): \t\t//Interconnect with droppables\n
Login.c(118): \t\tif($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.drag(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Call callbacks\n
Login.c(118): \t\tthis._trigger("sort", event, this._uiHash());\n
Login.c(118): \n
Login.c(118): \t\tthis.lastPositionAbs = this.positionAbs;\n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event, noPropagation) {\n
Login.c(118): \n
Login.c(118): \t\tif(!event) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//If we are using droppables, inform the manager about the
drop\n
Login.c(118): \t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\n
Login.c(118): \t\t\t$.ui.ddmanager.drop(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.options.revert) {\n
Login.c(118): \t\t\tvar that = this,\n
Login.c(118): \t\t\t\tcur = this.placeholder.offset(),\n
Login.c(118): \t\t\t\taxis = this.options.axis,\n
Login.c(118): \t\t\t\tanimation = {};\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !axis || axis === "x" ) {\n
Login.c(118): \t\t\t\tanimation.left = cur.left - this.offset.parent.left -
this.margins.left + (this.of
Login.c(118): fsetParent[0] === document.body ? 0 :
this.offsetParent[0].scrollLeft);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( !axis || axis === "y" ) {\n
Login.c(118): \t\t\t\tanimation.top = cur.top - this.offset.parent.top -
this.margins.top + (this.offset
Login.c(118): Parent[0] === document.body ? 0 :
this.offsetParent[0].scrollTop);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.reverting = true;\n
Login.c(118): \t\t\t$(this.helper).animate( animation,
parseInt(this.options.revert, 10) || 500, functio
Login.c(118): n() {\n
Login.c(118): \t\t\t\tthat._clear(event);\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis._clear(event, noPropagation);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcancel: function() {\n
Login.c(118): \n
Login.c(118): \t\tif(this.dragging) {\n
Login.c(118): \n
Login.c(118): \t\t\tthis._mouseUp({ target: null });\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.options.helper === "original") {\n
Login.c(118): \t\t\t\tthis.currentItem.css(this._storedCSS).removeClass("ui-
sortable-helper");\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.currentItem.show();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t//Post deactivating events to containers\n
Login.c(118): \t\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tthis.containers[i]._trigger("deactivate", null,
this._uiHash(this));\n
Login.c(118): \t\t\t\tif(this.containers[i].containerCache.over) {\n
Login.c(118): \t\t\t\t\tthis.containers[i]._trigger("out", null,
this._uiHash(this));\n
Login.c(118): \t\t\t\t\tthis.containers[i].containerCache.over = 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this.placeholder) {\n
Login.c(118): \t\t\t//$(this.placeholder[0]).remove(); would have been the
jQuery way - unfortunately, i
Login.c(118): t unbinds ALL events from the original node!\n
Login.c(118): \t\t\tif(this.placeholder[0].parentNode) {\n
Login.c(118):
\t\t\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif(this.options.helper !== "original" && this.helper &&
this.helper[0].parentNode) {
Login.c(118): \n
Login.c(118): \t\t\t\tthis.helper.remove();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t$.extend(this, {\n
Login.c(118): \t\t\t\thelper: null,\n
Login.c(118): \t\t\t\tdragging: false,\n
Login.c(118): \t\t\t\treverting: false,\n
Login.c(118): \t\t\t\t_noFinalSort: null\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.domPosition.prev) {\n
Login.c(118): \t\t\t\t$(this.domPosition.prev).after(this.currentItem);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$(this.domPosition.parent).prepend(this.currentItem);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tserialize: function(o) {\n
Login.c(118): \n
Login.c(118): \t\tvar items = this._getItemsAsjQuery(o && o.connected),\n
Login.c(118): \t\t\tstr = [];\n
Login.c(118): \t\to = o || {};\n
Login.c(118): \n
Login.c(118): \t\t$(items).each(function() {\n
Login.c(118): \t\t\tvar res = ($(o.item || this).attr(o.attribute || "id") ||
"").match(o.expression ||
Login.c(118): (/(.+)[\\-=_](.+)/));\n
Login.c(118): \t\t\tif (res) {\n
Login.c(118): \t\t\t\tstr.push((o.key || res[1]+"[]")+"="+(o.key &&
o.expression ? res[1] : res[2]));\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif(!str.length && o.key) {\n
Login.c(118): \t\t\tstr.push(o.key + "=");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn str.join("&");\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \ttoArray: function(o) {\n
Login.c(118): \n
Login.c(118): \t\tvar items = this._getItemsAsjQuery(o && o.connected),\n
Login.c(118): \t\t\tret = [];\n
Login.c(118): \n
Login.c(118): \t\to = o || {};\n
Login.c(118): \n
Login.c(118): \t\titems.each(function() { ret.push($(o.item ||
this).attr(o.attribute || "id") || ""); }
Login.c(118): );\n
Login.c(118): \t\treturn ret;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Be careful with the following core functions */\n
Login.c(118): \t_intersectsWith: function(item) {\n
Login.c(118): \n
Login.c(118): \t\tvar x1 = this.positionAbs.left,\n
Login.c(118): \t\t\tx2 = x1 + this.helperProportions.width,\n
Login.c(118): \t\t\ty1 = this.positionAbs.top,\n
Login.c(118): \t\t\ty2 = y1 + this.helperProportions.height,\n
Login.c(118): \t\t\tl = item.left,\n
Login.c(118): \t\t\tr = l + item.width,\n
Login.c(118): \t\t\tt = item.top,\n
Login.c(118): \t\t\tb = t + item.height,\n
Login.c(118): \t\t\tdyClick = this.offset.click.top,\n
Login.c(118): \t\t\tdxClick = this.offset.click.left,\n
Login.c(118): \t\t\tisOverElementHeight = ( this.options.axis === "x" ) ||
( ( y1 + dyClick ) > t && ( y
Login.c(118): 1 + dyClick ) < b ),\n
Login.c(118): \t\t\tisOverElementWidth = ( this.options.axis === "y" ) ||
( ( x1 + dxClick ) > l && ( x1
Login.c(118): + dxClick ) < r ),\n
Login.c(118): \t\t\tisOverElement = isOverElementHeight &&
isOverElementWidth;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.tolerance === "pointer" ||\n
Login.c(118): \t\t\tthis.options.forcePointerForContainers ||\n
Login.c(118): \t\t\t(this.options.tolerance !== "pointer" &&
this.helperProportions[this.floating ? "wid
Login.c(118): th" : "height"] > item[this.floating ? "width" : "height"])\n
Login.c(118): \t\t) {\n
Login.c(118): \t\t\treturn isOverElement;\n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\treturn (l < x1 + (this.helperProportions.width / 2) && //
Right Half\n
Login.c(118): \t\t\t\tx2 - (this.helperProportions.width / 2) < r && // Left
Half\n
Login.c(118): \t\t\t\tt < y1 + (this.helperProportions.height / 2) && // Bottom
Half\n
Login.c(118): \t\t\t\ty2 - (this.helperProportions.height / 2) < b ); // Top
Half\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_intersectsWithPointer: function(item) {\n
Login.c(118): \n
Login.c(118): \t\tvar isOverElementHeight = (this.options.axis === "x") ||
this._isOverAxis(this.positio
Login.c(118): nAbs.top + this.offset.click.top, item.top, item.height),\n
Login.c(118): \t\t\tisOverElementWidth = (this.options.axis === "y") ||
this._isOverAxis(this.positionAb
Login.c(118): s.left + this.offset.click.left, item.left, item.width),\n
Login.c(118): \t\t\tisOverElement = isOverElementHeight &&
isOverElementWidth,\n
Login.c(118): \t\t\tverticalDirection = this._getDragVerticalDirection(),\n
Login.c(118): \t\t\thorizontalDirection = this._getDragHorizontalDirection();\n
Login.c(118): \n
Login.c(118): \t\tif (!isOverElement) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this.floating ?\n
Login.c(118): \t\t\t( ((horizontalDirection && horizontalDirection === "right")
|| verticalDirection ===
Login.c(118): "down") ? 2 : 1 )\n
Login.c(118): \t\t\t: ( verticalDirection && (verticalDirection === "down" ?
2 : 1) );\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_intersectsWithSides: function(item) {\n
Login.c(118): \n
Login.c(118): \t\tvar isOverBottomHalf = this._isOverAxis(this.positionAbs.top
+ this.offset.click.top,
Login.c(118): item.top + (item.height/2), item.height),\n
Login.c(118): \t\t\tisOverRightHalf = this._isOverAxis(this.positionAbs.left +
this.offset.click.left, i
Login.c(118): tem.left + (item.width/2), item.width),\n
Login.c(118): \t\t\tverticalDirection = this._getDragVerticalDirection(),\n
Login.c(118): \t\t\thorizontalDirection = this._getDragHorizontalDirection();\n
Login.c(118): \n
Login.c(118): \t\tif (this.floating && horizontalDirection) {\n
Login.c(118): \t\t\treturn ((horizontalDirection === "right" &&
isOverRightHalf) || (horizontalDirection
Login.c(118): === "left" && !isOverRightHalf));\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn verticalDirection && ((verticalDirection === "down"
&& isOverBottomHalf) || (
Login.c(118): verticalDirection === "up" && !isOverBottomHalf));\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getDragVerticalDirection: function() {\n
Login.c(118): \t\tvar delta = this.positionAbs.top -
this.lastPositionAbs.top;\n
Login.c(118): \t\treturn delta !== 0 && (delta > 0 ? "down" : "up");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getDragHorizontalDirection: function() {\n
Login.c(118): \t\tvar delta = this.positionAbs.left -
this.lastPositionAbs.left;\n
Login.c(118): \t\treturn delta !== 0 && (delta > 0 ? "right" : "left");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function(event) {\n
Login.c(118): \t\tthis._refreshItems(event);\n
Login.c(118): \t\tthis._setHandleClassName();\n
Login.c(118): \t\tthis.refreshPositions();\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_connectWith: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \t\treturn options.connectWith.constructor === String ?
[options.connectWith] : options.co
Login.c(118): nnectWith;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getItemsAsjQuery: function(connected) {\n
Login.c(118): \n
Login.c(118): \t\tvar i, j, cur, inst,\n
Login.c(118): \t\t\titems = [],\n
Login.c(118): \t\t\tqueries = [],\n
Login.c(118): \t\t\tconnectWith = this._connectWith();\n
Login.c(118): \n
Login.c(118): \t\tif(connectWith && connected) {\n
Login.c(118): \t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tcur = $(connectWith[i]);\n
Login.c(118): \t\t\t\tfor ( j = cur.length - 1; j >= 0; j--){\n
Login.c(118): \t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\n
Login.c(118): \t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\n
Login.c(118): \t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ?
inst.options.items.call(inst.
Login.c(118): element) : $(inst.options.items, inst.element).not(".ui-sortable-
helper").not(".ui-sortabl
Login.c(118): e-placeholder"), inst]);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tqueries.push([$.isFunction(this.options.items) ?
this.options.items.call(this.element,
Login.c(118): null, { options: this.options, item: this.currentItem }) : $
(this.options.items, this.ele
Login.c(118): ment).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
this]);\n
Login.c(118): \n
Login.c(118): \t\tfunction addItems() {\n
Login.c(118): \t\t\titems.push( this );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tfor (i = queries.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\tqueries[i][0].each( addItems );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn $(items);\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeCurrentsFromItems: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar list = this.currentItem.find(":data(" + this.widgetName +
"-item)");\n
Login.c(118): \n
Login.c(118): \t\tthis.items = $.grep(this.items, function (item) {\n
Login.c(118): \t\t\tfor (var j=0; j < list.length; j++) {\n
Login.c(118): \t\t\t\tif(list[j] === item.item[0]) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshItems: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tthis.items = [];\n
Login.c(118): \t\tthis.containers = [this];\n
Login.c(118): \n
Login.c(118): \t\tvar i, j, cur, inst, targetData, _queries, item,
queriesLength,\n
Login.c(118): \t\t\titems = this.items,\n
Login.c(118): \t\t\tqueries = [[$.isFunction(this.options.items) ?
this.options.items.call(this.element[
Login.c(118): 0], event, { item: this.currentItem }) : $(this.options.items,
this.element), this]],\n
Login.c(118): \t\t\tconnectWith = this._connectWith();\n
Login.c(118): \n
Login.c(118): \t\tif(connectWith && this.ready) { //Shouldn't be run the first
time through due to massi
Login.c(118): ve slow-down\n
Login.c(118): \t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tcur = $(connectWith[i]);\n
Login.c(118): \t\t\t\tfor (j = cur.length - 1; j >= 0; j--){\n
Login.c(118): \t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\n
Login.c(118): \t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\n
Login.c(118): \t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ?
inst.options.items.call(inst.
Login.c(118): element[0], event, { item: this.currentItem }) : $
(inst.options.items, inst.element), inst
Login.c(118): ]);\n
Login.c(118): \t\t\t\t\t\tthis.containers.push(inst);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfor (i = queries.length - 1; i >= 0; i--) {\n
Login.c(118): \t\t\ttargetData = queries[i][1];\n
Login.c(118): \t\t\t_queries = queries[i][0];\n
Login.c(118): \n
Login.c(118): \t\t\tfor (j=0, queriesLength = _queries.length; j <
queriesLength; j++) {\n
Login.c(118): \t\t\t\titem = $(_queries[j]);\n
Login.c(118): \n
Login.c(118): \t\t\t\titem.data(this.widgetName + "-item", targetData); // Data
for target checking (mou
Login.c(118): se manager)\n
Login.c(118): \n
Login.c(118): \t\t\t\titems.push({\n
Login.c(118): \t\t\t\t\titem: item,\n
Login.c(118): \t\t\t\t\tinstance: targetData,\n
Login.c(118): \t\t\t\t\twidth: 0, height: 0,\n
Login.c(118): \t\t\t\t\tleft: 0, top: 0\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefreshPositions: function(fast) {\n
Login.c(118): \n
Login.c(118): \t\t//This has to be redone because due to the item being moved
out/into the offsetParent,
Login.c(118): the offsetParent's position will change\n
Login.c(118): \t\tif(this.offsetParent && this.helper) {\n
Login.c(118): \t\t\tthis.offset.parent = this._getParentOffset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar i, item, t, p;\n
Login.c(118): \n
Login.c(118): \t\tfor (i = this.items.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\titem = this.items[i];\n
Login.c(118): \n
Login.c(118): \t\t\t//We ignore calculating positions of all connected
containers when we're not over th
Login.c(118): em\n
Login.c(118): \t\t\tif(item.instance !== this.currentContainer &&
this.currentContainer && item.item[0]
Login.c(118): !== this.currentItem[0]) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tt = this.options.toleranceElement ? $
(this.options.toleranceElement, item.item) : it
Login.c(118): em.item;\n
Login.c(118): \n
Login.c(118): \t\t\tif (!fast) {\n
Login.c(118): \t\t\t\titem.width = t.outerWidth();\n
Login.c(118): \t\t\t\titem.height = t.outerHeight();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tp = t.offset();\n
Login.c(118): \t\t\titem.left = p.left;\n
Login.c(118): \t\t\titem.top = p.top;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.options.custom &&
this.options.custom.refreshContainers) {\n
Login.c(118): \t\t\tthis.options.custom.refreshContainers.call(this);\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tfor (i = this.containers.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tp = this.containers[i].element.offset();\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.left = p.left;\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.top = p.top;\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.width =
this.containers[i].element.outerWidth();
Login.c(118): \n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.height =
this.containers[i].element.outerHeight(
Login.c(118): );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createPlaceholder: function(that) {\n
Login.c(118): \t\tthat = that || this;\n
Login.c(118): \t\tvar className,\n
Login.c(118): \t\t\to = that.options;\n
Login.c(118): \n
Login.c(118): \t\tif(!o.placeholder || o.placeholder.constructor === String)
{\n
Login.c(118): \t\t\tclassName = o.placeholder;\n
Login.c(118): \t\t\to.placeholder = {\n
Login.c(118): \t\t\t\telement: function() {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tvar nodeName =
that.currentItem[0].nodeName.toLowerCase(),\n
Login.c(118): \t\t\t\t\t\telement = $( "<" + nodeName + ">",
that.document[0] )\n
Login.c(118): \t\t\t\t\t\t\t.addClass(className ||
that.currentItem[0].className+" ui-sortable-placehold
Login.c(118): er")\n
Login.c(118): \t\t\t\t\t\t\t.removeClass("ui-sortable-helper");\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif ( nodeName === "tr" ) {\n
Login.c(118): \t\t\t\t\t\tthat.currentItem.children().each(function() {\n
Login.c(118): \t\t\t\t\t\t\t$( "<td> </td>", that.document[0] )\n
Login.c(118): \t\t\t\t\t\t\t\t.attr( "colspan", $( this ).attr( "colspan" ) ||
1 )\n
Login.c(118): \t\t\t\t\t\t\t\t.appendTo( element );\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t} else if ( nodeName === "img" ) {\n
Login.c(118): \t\t\t\t\t\telement.attr( "src",
that.currentItem.attr( "src" ) );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif ( !className ) {\n
Login.c(118): \t\t\t\t\t\telement.css( "visibility", "hidden" );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\treturn element;\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tupdate: function(container, p) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// 1. If a classNam
Login.c(118): t=7515ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): e is set as 'placeholder option, we don't force sizes - the class
is responsible for that\n
Login.c(118): \t\t\t\t\t// 2. The option 'forcePlaceholderSize can be enabled
to force it even if a clas
Login.c(118): s name is specified\n
Login.c(118): \t\t\t\t\tif(className && !o.forcePlaceholderSize) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//If the element doesn't have a actual height by itself
(without styles coming f
Login.c(118): rom a stylesheet), it receives the inline height from the dragged
item\n
Login.c(118): \t\t\t\t\tif(!p.height())
{ p.height(that.currentItem.innerHeight() - parseInt(that.curren
Login.c(118): tItem.css("paddingTop")||0, 10) -
parseInt(that.currentItem.css("paddingBottom")||0, 10));
Login.c(118): }\n
Login.c(118): \t\t\t\t\tif(!p.width()) { p.width(that.currentItem.innerWidth()
- parseInt(that.currentIt
Login.c(118): em.css("paddingLeft")||0, 10) -
parseInt(that.currentItem.css("paddingRight")||0, 10)); }\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Create the placeholder\n
Login.c(118): \t\tthat.placeholder = $(o.placeholder.element.call(that.element,
that.currentItem));\n
Login.c(118): \n
Login.c(118): \t\t//Append it after the actual current item\n
Login.c(118): \t\tthat.currentItem.after(that.placeholder);\n
Login.c(118): \n
Login.c(118): \t\t//Update the size of the placeholder (TODO: Logic to fuzzy,
see line 316/317)\n
Login.c(118): \t\to.placeholder.update(that, that.placeholder);\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_contactContainers: function(event) {\n
Login.c(118): \t\tvar i, j, dist, itemWithLeastDistance, posProperty,
sizeProperty, cur, nearBottom, flo
Login.c(118): ating, axis,\n
Login.c(118): \t\t\tinnermostContainer = null,\n
Login.c(118): \t\t\tinnermostIndex = null;\n
Login.c(118): \n
Login.c(118): \t\t// get innermost container that intersects with item\n
Login.c(118): \t\tfor (i = this.containers.length - 1; i >= 0; i--) {\n
Login.c(118): \n
Login.c(118): \t\t\t// never consider a container that's located within the
item itself\n
Login.c(118): \t\t\tif($.contains(this.currentItem[0],
this.containers[i].element[0])) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(this._intersectsWith(this.containers[i].containerCache))
{\n
Login.c(118): \n
Login.c(118): \t\t\t\t// if we've already found a container and it's more
"inner" than this, then contin
Login.c(118): ue\n
Login.c(118): \t\t\t\tif(innermostContainer &&
$.contains(this.containers[i].element[0], innermostContai
Login.c(118): ner.element[0])) {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tinnermostContainer = this.containers[i];\n
Login.c(118): \t\t\t\tinnermostIndex = i;\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// container doesn't intersect. trigger "out" event if
necessary\n
Login.c(118): \t\t\t\tif(this.containers[i].containerCache.over) {\n
Login.c(118): \t\t\t\t\tthis.containers[i]._trigger("out", event,
this._uiHash(this));\n
Login.c(118): \t\t\t\t\tthis.containers[i].containerCache.over = 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// if no intersecting containers found, return\n
Login.c(118): \t\tif(!innermostContainer) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// move the item into the container if it's not there
already\n
Login.c(118): \t\tif(this.containers.length === 1) {\n
Login.c(118): \t\t\tif (!this.containers[innermostIndex].containerCache.over)
{\n
Login.c(118): \t\t\t\tthis.containers[innermostIndex]._trigger("over", event,
this._uiHash(this));\n
Login.c(118): \t\t\t\tthis.containers[innermostIndex].containerCache.over =
1;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t//When entering a new container, we will find the item with
the least distance and a
Login.c(118): ppend our item near it\n
Login.c(118): \t\t\tdist = 10000;\n
Login.c(118): \t\t\titemWithLeastDistance = null;\n
Login.c(118): \t\t\tfloating = innermostContainer.floating ||
this._isFloating(this.currentItem);\n
Login.c(118): \t\t\tposProperty = floating ? "left" : "top";\n
Login.c(118): \t\t\tsizeProperty = floating ? "width" : "height";\n
Login.c(118): \t\t\taxis = floating ? "clientX" : "clientY";\n
Login.c(118): \n
Login.c(118): \t\t\tfor (j = this.items.length - 1; j >= 0; j--) {\n
Login.c(118): \t\t\t\tif(!
$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0]))
Login.c(118): {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(this.items[j].item[0] === this.currentItem[0]) {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tcur = this.items[j].item.offset()[posProperty];\n
Login.c(118): \t\t\t\tnearBottom = false;\n
Login.c(118): \t\t\t\tif ( event[ axis ] - cur > this.items[ j ]
[ sizeProperty ] / 2 ) {\n
Login.c(118): \t\t\t\t\tnearBottom = true;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( Math.abs( event[ axis ] - cur ) < dist ) {\n
Login.c(118): \t\t\t\t\tdist = Math.abs( event[ axis ] - cur );\n
Login.c(118): \t\t\t\t\titemWithLeastDistance = this.items[ j ];\n
Login.c(118): \t\t\t\t\tthis.direction = nearBottom ? "up": "down";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t//Check if dropOnEmpty is enabled\n
Login.c(118): \t\t\tif(!itemWithLeastDistance && !this.options.dropOnEmpty) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.currentContainer ===
this.containers[innermostIndex]) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\titemWithLeastDistance ? this._rearrange(event,
itemWithLeastDistance, null, true) :
Login.c(118): this._rearrange(event, null,
this.containers[innermostIndex].element, true);\n
Login.c(118): \t\t\tthis._trigger("change", event, this._uiHash());\n
Login.c(118): \t\t\tthis.containers[innermostIndex]._trigger("change", event,
this._uiHash(this));\n
Login.c(118): \t\t\tthis.currentContainer = this.containers[innermostIndex];\n
Login.c(118): \n
Login.c(118): \t\t\t//Update the placeholder\n
Login.c(118): \t\t\tthis.options.placeholder.update(this.currentContainer,
this.placeholder);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.containers[innermostIndex]._trigger("over", event,
this._uiHash(this));\n
Login.c(118): \t\t\tthis.containers[innermostIndex].containerCache.over = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createHelper: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options,\n
Login.c(118): \t\t\thelper = $.isFunction(o.helper) ? $
(o.helper.apply(this.element[0], [event, this.cur
Login.c(118): rentItem])) : (o.helper === "clone" ? this.currentItem.clone() :
this.currentItem);\n
Login.c(118): \n
Login.c(118): \t\t//Add the helper to the DOM if that didn't happen already\n
Login.c(118): \t\tif(!helper.parents("body").length) {\n
Login.c(118): \t\t\t$(o.appendTo !== "parent" ? o.appendTo :
this.currentItem[0].parentNode)[0].appendCh
Login.c(118): ild(helper[0]);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(helper[0] === this.currentItem[0]) {\n
Login.c(118): \t\t\tthis._storedCSS = { width: this.currentItem[0].style.width,
height: this.currentItem
Login.c(118): [0].style.height, position: this.currentItem.css("position"),
top: this.currentItem.css("t
Login.c(118): op"), left: this.currentItem.css("left") };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!helper[0].style.width || o.forceHelperSize) {\n
Login.c(118): \t\t\thelper.width(this.currentItem.width());\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(!helper[0].style.height || o.forceHelperSize) {\n
Login.c(118): \t\t\thelper.height(this.currentItem.height());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn helper;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_adjustOffsetFromHelper: function(obj) {\n
Login.c(118): \t\tif (typeof obj === "string") {\n
Login.c(118): \t\t\tobj = obj.split(" ");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ($.isArray(obj)) {\n
Login.c(118): \t\t\tobj = {left: +obj[0], top: +obj[1] || 0};\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("left" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = obj.left + this.margins.left;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("right" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = this.helperProportions.width -
obj.right + this.margins.lef
Login.c(118): t;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("top" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = obj.top + this.margins.top;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("bottom" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = this.helperProportions.height -
obj.bottom + this.margins.to
Login.c(118): p;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getParentOffset: function() {\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t//Get the offsetParent and cache its position\n
Login.c(118): \t\tthis.offsetParent = this.helper.offsetParent();\n
Login.c(118): \t\tvar po = this.offsetParent.offset();\n
Login.c(118): \n
Login.c(118): \t\t// This is a special case where we need to modify a offset
calculated on start, since
Login.c(118): the following happened:\n
Login.c(118): \t\t// 1. The position of the helper is absolute, so it's
position is calculated based on
Login.c(118): the next positioned parent\n
Login.c(118): \t\t// 2. The actual offset parent is a child of the scroll
parent, and the scroll parent
Login.c(118): isn't the document, which means that\n
Login.c(118): \t\t// the scroll is included in the initial calculation of
the offset of the parent, a
Login.c(118): nd never recalculated upon drag\n
Login.c(118): \t\tif(this.cssPosition === "absolute" && this.scrollParent[0] !
== document && $.contains(
Login.c(118): this.scrollParent[0], this.offsetParent[0])) {\n
Login.c(118): \t\t\tpo.left += this.scrollParent.scrollLeft();\n
Login.c(118): \t\t\tpo.top += this.scrollParent.scrollTop();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// This needs to be actually done for all browsers, since
pageX/pageY includes this in
Login.c(118): formation\n
Login.c(118): \t\t// with an ugly IE fix\n
Login.c(118): \t\tif( this.offsetParent[0] === document.body ||
(this.offsetParent[0].tagName && this.of
Login.c(118): fsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {\n
Login.c(118): \t\t\tpo = { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: po.top +
(parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),\n
Login.c(118): \t\t\tleft: po.left +
(parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getRelativeOffset: function() {\n
Login.c(118): \n
Login.c(118): \t\tif(this.cssPosition === "relative") {\n
Login.c(118): \t\t\tvar p = this.currentItem.position();\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\ttop: p.top - (parseInt(this.helper.css("top"),10) || 0) +
this.scrollParent.scroll
Login.c(118): Top(),\n
Login.c(118): \t\t\t\tleft: p.left - (parseInt(this.helper.css("left"),10) ||
0) + this.scrollParent.scr
Login.c(118): ollLeft()\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheMargins: function() {\n
Login.c(118): \t\tthis.margins = {\n
Login.c(118): \t\t\tleft: (parseInt(this.currentItem.css("marginLeft"),10) ||
0),\n
Login.c(118): \t\t\ttop: (parseInt(this.currentItem.css("marginTop"),10) ||
0)\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheHelperProportions: function() {\n
Login.c(118): \t\tthis.helperProportions = {\n
Login.c(118): \t\t\twidth: this.helper.outerWidth(),\n
Login.c(118): \t\t\theight: this.helper.outerHeight()\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setContainment: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar ce, co, over,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \t\tif(o.containment === "parent") {\n
Login.c(118): \t\t\to.containment = this.helper[0].parentNode;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(o.containment === "document" || o.containment ===
"window") {\n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\t0 - this.offset.relative.left -
this.offset.parent.left,\n
Login.c(118): \t\t\t\t0 - this.offset.relative.top - this.offset.parent.top,\n
Login.c(118): \t\t\t\t$(o.containment === "document" ? document :
window).width() - this.helperProportio
Login.c(118): ns.width - this.margins.left,\n
Login.c(118): \t\t\t\t($(o.containment === "document" ? document :
window).height() || document.body.par
Login.c(118): entNode.scrollHeight) - this.helperProportions.height -
this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!(/^(document|window|parent)$/).test(o.containment)) {\n
Login.c(118): \t\t\tce = $(o.containment)[0];\n
Login.c(118): \t\t\tco = $(o.containment).offset();\n
Login.c(118): \t\t\tover = ($(ce).css("overflow") !== "hidden");\n
Login.c(118): \n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\tco.left + (parseInt($(ce).css("borderLeftWidth"),10) ||
0) + (parseInt($(ce).css("
Login.c(118): paddingLeft"),10) || 0) - this.margins.left,\n
Login.c(118): \t\t\t\tco.top + (parseInt($(ce).css("borderTopWidth"),10) || 0)
+ (parseInt($(ce).css("pa
Login.c(118): ddingTop"),10) || 0) - this.margins.top,\n
Login.c(118): \t\t\t\tco.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) :
ce.offsetWidth) - (parse
Login.c(118): Int($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($
(ce).css("paddingRight"),10) || 0)
Login.c(118): - this.helperProportions.width - this.margins.left,\n
Login.c(118): \t\t\t\tco.top+(over ?
Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (par
Login.c(118): seInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($
(ce).css("paddingBottom"),10) ||
Login.c(118): 0) - this.helperProportions.height - this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_convertPositionTo: function(d, pos) {\n
Login.c(118): \n
Login.c(118): \t\tif(!pos) {\n
Login.c(118): \t\t\tpos = this.position;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar mod = d === "absolute" ? 1 : -1,\n
Login.c(118): \t\t\tscroll = this.cssPosition === "absolute" && !
(this.scrollParent[0] !== document && $
Login.c(118): .contains(this.scrollParent[0], this.offsetParent[0])) ?
this.offsetParent : this.scrollPa
Login.c(118): rent,\n
Login.c(118): \t\t\tscrollIsRootNode = (/(html|
body)/i).test(scroll[0].tagName);\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative positione
Login.c(118): d nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t\t//
The offsetParent's offset w
Login.c(118): ithout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollTop() : ( scrollIsRoot
Login.c(118): Node ? 0 : scroll.scrollTop() ) ) * mod)\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative position
Login.c(118): ed nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t//
The offsetParent's offset w
Login.c(118): ithout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollLeft() : scrollIsRootN
Login.c(118): ode ? 0 : scroll.scrollLeft() ) * mod)\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_generatePosition: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar top, left,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tpageX = event.pageX,\n
Login.c(118): \t\t\tpageY = event.pageY,\n
Login.c(118): \t\t\tscroll = this.cssPosition === "absolute" && !
(this.scrollParent[0] !== document && $
Login.c(118): .contains(this.scrollParent[0], this.offsetParent[0])) ?
this.offsetParent : this.scrollPa
Login.c(118): rent, scrollIsRootNode = (/(html|
body)/i).test(scroll[0].tagName);\n
Login.c(118): \n
Login.c(118): \t\t// This is another very weird special case that only happens
for relative elements:\n
Login.c(118): \t\t// 1. If the css position is relative\n
Login.c(118): \t\t// 2. and the scroll parent is the document or similar to the
offset parent\n
Login.c(118): \t\t// we have to refresh the relative offset during the scroll
so there are no jumps\n
Login.c(118): \t\tif(this.cssPosition === "relative" && !
(this.scrollParent[0] !== document && this.scro
Login.c(118): llParent[0] !== this.offsetParent[0])) {\n
Login.c(118): \t\t\tthis.offset.relative = this._getRelativeOffset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position constraining -\n
Login.c(118): \t\t * Constrain the position to a mix of grid, containment.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\tif(this.originalPosition) { //If we are not dragging yet, we
won't check for options\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.containment) {\n
Login.c(118): \t\t\t\tif(event.pageX - this.offset.click.left <
this.containment[0]) {\n
Login.c(118): \t\t\t\t\tpageX = this.containment[0] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(event.pageY - this.offset.click.top <
this.containment[1]) {\n
Login.c(118): \t\t\t\t\tpageY = this.containment[1] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(event.pageX - this.offset.click.left >
this.containment[2]) {\n
Login.c(118): \t
Login.c(118): t=7530ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \t\t\t\tpageX = this.containment[2] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(event.pageY - this.offset.click.top >
this.containment[3]) {\n
Login.c(118): \t\t\t\t\tpageY = this.containment[3] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(o.grid) {\n
Login.c(118): \t\t\t\ttop = this.originalPageY + Math.round((pageY -
this.originalPageY) / o.grid[1]) *
Login.c(118): o.grid[1];\n
Login.c(118): \t\t\t\tpageY = this.containment ? ( (top - this.offset.click.top
>= this.containment[1] &
Login.c(118): & top - this.offset.click.top <= this.containment[3]) ? top :
((top - this.offset.click.to
Login.c(118): p >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) :
top;\n
Login.c(118): \n
Login.c(118): \t\t\t\tleft = this.originalPageX + Math.round((pageX -
this.originalPageX) / o.grid[0]) *
Login.c(118): o.grid[0];\n
Login.c(118): \t\t\t\tpageX = this.containment ? ( (left -
this.offset.click.left >= this.containment[0]
Login.c(118): && left - this.offset.click.left <= this.containment[2]) ?
left : ((left - this.offset.cl
Login.c(118): ick.left >= this.containment[0]) ? left - o.grid[0] : left +
o.grid[0])) : left;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.top -\t\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the
Login.c(118): element)\n
Login.c(118): \t\t\t\tthis.offset.relative.top\t-\t\t\t\t\t\t\t\t\t\t\t// Only
for relative positioned n
Login.c(118): odes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset witho
Login.c(118): ut borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollTop() : ( scrollIsRoot
Login.c(118): Node ? 0 : scroll.scrollTop() ) ))\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the e
Login.c(118): lement)\n
Login.c(118): \t\t\t\tthis.offset.relative.left\t-\t\t\t\t\t\t\t\t\t\t\t// Only
for relative positioned
Login.c(118): nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset with
Login.c(118): out borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollLeft() : scrollIsRootN
Login.c(118): ode ? 0 : scroll.scrollLeft() ))\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_rearrange: function(event, i, a, hardRefresh) {\n
Login.c(118): \n
Login.c(118): \t\ta ? a[0].appendChild(this.placeholder[0]) :
i.item[0].parentNode.insertBefore(this.pla
Login.c(118): ceholder[0], (this.direction === "down" ? i.item[0] :
i.item[0].nextSibling));\n
Login.c(118): \n
Login.c(118): \t\t//Various things done here to improve the performance:\n
Login.c(118): \t\t// 1. we create a setTimeout, that calls refreshPositions\n
Login.c(118): \t\t// 2. on the instance, we have a counter variable, that get's
higher after every appen
Login.c(118): d\n
Login.c(118): \t\t// 3. on the local scope, we copy the counter variable, and
check in the timeout, if i
Login.c(118): t's still the same\n
Login.c(118): \t\t// 4. this lets only the last addition to the timeout stack
through\n
Login.c(118): \t\tthis.counter = this.counter ? ++this.counter : 1;\n
Login.c(118): \t\tvar counter = this.counter;\n
Login.c(118): \n
Login.c(118): \t\tthis._delay(function() {\n
Login.c(118): \t\t\tif(counter === this.counter) {\n
Login.c(118): \t\t\t\tthis.refreshPositions(!hardRefresh); //Precompute after
each DOM insertion, NOT on
Login.c(118): mousemove\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_clear: function(event, noPropagation) {\n
Login.c(118): \n
Login.c(118): \t\tthis.reverting = false;\n
Login.c(118): \t\t// We delay all events that have to be triggered to after the
point where the placehol
Login.c(118): der has been removed and\n
Login.c(118): \t\t// everything else normalized again\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tdelayedTriggers = [];\n
Login.c(118): \n
Login.c(118): \t\t// We first have to update the dom position of the actual
currentItem\n
Login.c(118): \t\t// Note: don't do it if the current item is already removed
(by a user), or it gets re
Login.c(118): appended (see #4088)\n
Login.c(118): \t\tif(!this._noFinalSort && this.currentItem.parent().length)
{\n
Login.c(118): \t\t\tthis.placeholder.before(this.currentItem);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._noFinalSort = null;\n
Login.c(118): \n
Login.c(118): \t\tif(this.helper[0] === this.currentItem[0]) {\n
Login.c(118): \t\t\tfor(i in this._storedCSS) {\n
Login.c(118): \t\t\t\tif(this._storedCSS[i] === "auto" || this._storedCSS[i]
=== "static") {\n
Login.c(118): \t\t\t\t\tthis._storedCSS[i] = "";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.currentItem.css(this._storedCSS).removeClass("ui-
sortable-helper");\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.currentItem.show();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.fromOutside && !noPropagation) {\n
Login.c(118): \t\t\tdelayedTriggers.push(function(event)
{ this._trigger("receive", event, this._uiHash(
Login.c(118): this.fromOutside)); });\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif((this.fromOutside || this.domPosition.prev !==
this.currentItem.prev().not(".ui-sor
Login.c(118): table-helper")[0] || this.domPosition.parent !==
this.currentItem.parent()[0]) && !noPropa
Login.c(118): gation) {\n
Login.c(118): \t\t\tdelayedTriggers.push(function(event)
{ this._trigger("update", event, this._uiHash()
Login.c(118): ); }); //Trigger update callback if the DOM position has
changed\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Check if the items Container has Changed and trigger
appropriate\n
Login.c(118): \t\t// events.\n
Login.c(118): \t\tif (this !== this.currentContainer) {\n
Login.c(118): \t\t\tif(!noPropagation) {\n
Login.c(118): \t\t\t\tdelayedTriggers.push(function(event)
{ this._trigger("remove", event, this._uiHash
Login.c(118): ()); });\n
Login.c(118): \t\t\t\tdelayedTriggers.push((function(c) { return
function(event) { c._trigger("receive",
Login.c(118): event, this._uiHash(this)); }; }).call(this,
this.currentContainer));\n
Login.c(118): \t\t\t\tdelayedTriggers.push((function(c) { return
function(event) { c._trigger("update",
Login.c(118): event, this._uiHash(this)); }; }).call(this,
this.currentContainer));\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t//Post events to containers\n
Login.c(118): \t\tfunction delayEvent( type, instance, container ) {\n
Login.c(118): \t\t\treturn function( event ) {\n
Login.c(118): \t\t\t\tcontainer._trigger( type, event,
instance._uiHash( instance ) );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t\tfor (i = this.containers.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\tif (!noPropagation) {\n
Login.c(118): \t\t\t\tdelayedTriggers.push( delayEvent( "deactivate", this,
this.containers[ i ] ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif(this.containers[i].containerCache.over) {\n
Login.c(118): \t\t\t\tdelayedTriggers.push( delayEvent( "out", this,
this.containers[ i ] ) );\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.over = 0;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Do what was originally in plugins\n
Login.c(118): \t\tif ( this.storedCursor ) {\n
Login.c(118): \t\t\tthis.document.find( "body" ).css( "cursor",
this.storedCursor );\n
Login.c(118): \t\t\tthis.storedStylesheet.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(this._storedOpacity) {\n
Login.c(118): \t\t\tthis.helper.css("opacity", this._storedOpacity);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(this._storedZIndex) {\n
Login.c(118): \t\t\tthis.helper.css("zIndex", this._storedZIndex === "auto" ?
"" : this._storedZIndex);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.dragging = false;\n
Login.c(118): \t\tif(this.cancelHelperRemoval) {\n
Login.c(118): \t\t\tif(!noPropagation) {\n
Login.c(118): \t\t\t\tthis._trigger("beforeStop", event, this._uiHash());\n
Login.c(118): \t\t\t\tfor (i=0; i < delayedTriggers.length; i++) {\n
Login.c(118): \t\t\t\t\tdelayedTriggers[i].call(this, event);\n
Login.c(118): \t\t\t\t} //Trigger all delayed events\n
Login.c(118): \t\t\t\tthis._trigger("stop", event, this._uiHash());\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.fromOutside = false;\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!noPropagation) {\n
Login.c(118): \t\t\tthis._trigger("beforeStop", event, this._uiHash());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//$(this.placeholder[0]).remove(); would have been the jQuery
way - unfortunately, it
Login.c(118): unbinds ALL events from the original node!\n
Login.c(118):
\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n
Login.c(118): \n
Login.c(118): \t\tif(this.helper[0] !== this.currentItem[0]) {\n
Login.c(118): \t\t\tthis.helper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.helper = null;\n
Login.c(118): \n
Login.c(118): \t\tif(!noPropagation) {\n
Login.c(118): \t\t\tfor (i=0; i < delayedTriggers.length; i++) {\n
Login.c(118): \t\t\t\tdelayedTriggers[i].call(this, event);\n
Login.c(118): \t\t\t} //Trigger all delayed events\n
Login.c(118): \t\t\tthis._trigger("stop", event, this._uiHash());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.fromOutside = false;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trigger: function() {\n
Login.c(118): \t\tif ($.Widget.prototype._trigger.apply(this, arguments) ===
false) {\n
Login.c(118): \t\t\tthis.cancel();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_uiHash: function(_inst) {\n
Login.c(118): \t\tvar inst = _inst || this;\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\thelper: inst.helper,\n
Login.c(118): \t\t\tplaceholder: inst.placeholder || $([]),\n
Login.c(118): \t\t\tposition: inst.position,\n
Login.c(118): \t\t\toriginalPosition: inst.originalPosition,\n
Login.c(118): \t\t\toffset: inst.positionAbs,\n
Login.c(118): \t\t\titem: inst.currentItem,\n
Login.c(118): \t\t\tsender: _inst ? _inst.element : null\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Spinner 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/spinner/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function spinner_modifier( fn ) {\n
Login.c(118): \treturn function() {\n
Login.c(118): \t\tvar previous = this.element.val();\n
Login.c(118): \t\tfn.apply( this, arguments );\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t\tif ( previous !== this.element.val() ) {\n
Login.c(118): \t\t\tthis._trigger( "change" );\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var spinner = $.widget( "ui.spinner", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<input>",\n
Login.c(118): \twidgetEventPrefix: "spin",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tculture: null,\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tdown: "ui-icon-triangle-1-s",\n
Login.c(118): \t\t\tup: "ui-icon-triangle-1-n"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tincremental: true,\n
Login.c(118): \t\tmax: null,\n
Login.c(118): \t\tmin: null,\n
Login.c(118): \t\tnumberFormat: null,\n
Login.c(118): \t\tpage: 10,\n
Login.c(118): \t\tstep: 1,\n
Login.c(118): \n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tspin: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\t// handle string values that need to be parsed\n
Login.c(118): \t\tthis._setOption( "max", this.options.max );\n
Login.c(118): \t\tthis._setOption( "min", this.options.min );\n
Login.c(118): \t\tthis._setOption( "step", this.options.step );\n
Login.c(118): \n
Login.c(118): \t\t// Only format if there is a value, prevents the field from
being marked\n
Login.c(118): \t\t// as invalid in Firefox, see #9573.\n
Login.c(118): \t\tif ( this.value() !== "" ) {\n
Login.c(118): \t\t\t// Format the value, but don't constrain.\n
Login.c(118): \t\t\tthis._value( this.element.val(), true );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._draw();\n
Login.c(118): \t\tthis._on( this._events );\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \n
Login.c(118): \t\t// turning off autocomplete prevents the browser from
remembering the\n
Login.c(118): \t\t// value when navigating through history, so we re-enable
autocomplete\n
Login.c(118): \t\t// if the page is unloaded before the widget is destroyed.
#7790\n
Login.c(118): \t\tthis._on( this.window, {\n
Login.c(118): \t\t\tbeforeunload: function() {\n
Login.c(118): \t\t\t\tthis.element.removeAttr( "autocomplete" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateOptions: function() {\n
Login.c(118): \t\tvar options = {},\n
Login.c(118): \t\t\telement = this.element;\n
Login.c(118): \n
Login.c(118): \t\t$.each( [ "min", "max", "step" ], function( i, option ) {\n
Login.c(118): \t\t\tvar value = element.attr( option );\n
Login.c(118): \t\t\tif ( value !== undefined && value.length ) {\n
Login.c(118): \t\t\t\toptions[ option ] = value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\treturn options;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_events: {\n
Login.c(118): \t\tkeydown: function( event ) {\n
Login.c(118): \t\t\tif ( this._start( event ) && this._keydown( event ) ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\tkeyup: "_stop",\n
Login.c(118): \t\tfocus: function() {\n
Login.c(118): \t\t\tthis.previous = this.element.val();\n
Login.c(118): \t\t},\n
Login.c(118): \t\tblur: function( event ) {\n
Login.c(118): \t\t\tif ( this.cancelBlur ) {\n
Login.c(118): \t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._stop();\n
Login.c(118): \t\t\tthis._refresh();\n
Login.c(118): \t\t\tif ( this.previous !== this.element.val() ) {\n
Login.c(118): \t\t\t\tthis._trigger( "change", event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\tmousewheel: function( event, delta ) {\n
Login.c(118): \t\t\tif ( !delta ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( !this.spinning && !this._start( event ) ) {\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._spin( (delta > 0 ? 1 : -1) * this.options.step, event
);\n
Login.c(118): \t\t\tclearTimeout( this.mousewheelTimer );\n
Login.c(118): \t\t\tthis.mousewheelTimer = this._delay(function() {\n
Login.c(118): \t\t\t\tif ( this.spinning ) {\n
Login.c(118): \t\t\t\t\tthis._stop( event );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}, 100 );\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"mousedown .ui-spinner-button": function( event ) {\n
Login.c(118): \t\t\tvar previous;\n
Login.c(118): \n
Login.c(118): \t\t\t// We never want the buttons to have focus; whenever the
user is\n
Login.c(118): \t\t\t// interacting with the spinner, the focus should be on the
input.\n
Login.c(118): \t\t\t// If the input is focused then this.previous is properly
set from\n
Login.c(118): \t\t\t// when the input first received focus. If the input is not
focused\n
Login.c(118): \t\t\t// then we need to set this.previous based on the value
before spinning.\n
Login.c(118): \t\t\tprevious = this.element[0] ===
this.document[0].activeElement ?\n
Login.c(118): \t\t\t\tthis.previous : this.element.val();\n
Login.c(118): \t\t\tfunction checkFocus() {\n
Login.c(118): \t\t\t\tvar isActive = this.element[0] ===
this.document[0].activeElement;\n
Login.c(118): \t\t\t\tif ( !isActive ) {\n
Login.c(118): \t\t\t\t\tthis.element.focus();\n
Login.c(118): \t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t// support: IE\n
Login.c(118): \t\t\t\t\t// IE sets focus asynchronously, so we need to check if
focus\n
Login.c(118): \t\t\t\t\t// moved off of the input because the user clicked on
the button.\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// ensure focus is on (or stays on) the text field\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tcheckFocus.call( this );\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE\n
Login.c(118): \t\t\t// IE doesn't prevent moving focus even with
event.preventDefault()\n
Login.c(118): \t\t\t// so we set a flag to know when we should ignore the blur
event\n
Login.c(118): \t\t\t// and check (again) if focus moved off of the input.\n
Login.c(118): \t\t\tthis.cancelBlur = true;\n
Login.c(118): \t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\tcheckFocus.call( this );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this._start( event ) === false ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( "ui-
spinner-up" ) ? 1 : -1, e
Login.c(118): vent );\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"mouseup .ui-spinner-button": "_stop",\n
Login.c(118): \t\t"mouseenter .ui-spinner-button": function( event ) {\n
Login.c(118): \t\t\t// button will add ui-state-active if mouse was down while
mouseleave and kept down\n
Login.c(118): \t\t\tif ( !$( event.currentTarget ).hasClass( "ui-state-
active" ) ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this._start( event ) === false ) {\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( "ui-
spinner-up" ) ? 1 : -1, e
Login.c(118): vent );\n
Login.c(118): \t\t},\n
Login.c(118): \t\t// TODO: do we really want to consider this a stop?\n
Login.c(118): \t\t// shouldn't we just stop the repeater and wait until mouseup
before\n
Login.c(118): \t\t// we trigger the stop event?\n
Login.c(118): \t\t"mouseleave .ui-spinner-button": "_stop"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_draw: function() {\n
Login.c(118): \t\tvar uiSpinner = this.uiSpinner = this.element\n
Login.c(118): \t\t\t.addClass( "ui-spinn
Login.c(118): t=7556ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): er-input" )\n
Login.c(118): \t\t\t.attr( "autocomplete", "off" )\n
Login.c(118): \t\t\t.wrap( this._uiSpinnerHtml() )\n
Login.c(118): \t\t\t.parent()\n
Login.c(118): \t\t\t\t// add buttons\n
Login.c(118): \t\t\t\t.append( this._buttonHtml() );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.attr( "role", "spinbutton" );\n
Login.c(118): \n
Login.c(118): \t\t// button bindings\n
Login.c(118): \t\tthis.buttons = uiSpinner.find( ".ui-spinner-button" )\n
Login.c(118): \t\t\t.attr( "tabIndex", -1 )\n
Login.c(118): \t\t\t.button()\n
Login.c(118): \t\t\t.removeClass( "ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\t// IE 6 doesn't understand height: 50% for the buttons\n
Login.c(118): \t\t// unless the wrapper has an explicit height\n
Login.c(118): \t\tif ( this.buttons.height() > Math.ceil( uiSpinner.height() *
0.5 ) &&\n
Login.c(118): \t\t\t\tuiSpinner.height() > 0 ) {\n
Login.c(118): \t\t\tuiSpinner.height( uiSpinner.height() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// disable spinner if element was already disabled\n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis.disable();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keydown: function( event ) {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tkeyCode = $.ui.keyCode;\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\tcase keyCode.UP:\n
Login.c(118): \t\t\tthis._repeat( null, 1, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\tthis._repeat( null, -1, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\tcase keyCode.PAGE_UP:\n
Login.c(118): \t\t\tthis._repeat( null, options.page, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\tcase keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\tthis._repeat( null, -options.page, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_uiSpinnerHtml: function() {\n
Login.c(118): \t\treturn "<span class='ui-spinner ui-widget ui-widget-content
ui-corner-all'></span>";\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_buttonHtml: function() {\n
Login.c(118): \t\treturn "" +\n
Login.c(118): \t\t\t"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>"
+\n
Login.c(118): \t\t\t\t"<span class='ui-icon " + this.options.icons.up +
"'>▲</span>" +\n
Login.c(118): \t\t\t"</a>" +\n
Login.c(118): \t\t\t"<a class='ui-spinner-button ui-spinner-down ui-corner-
br'>" +\n
Login.c(118): \t\t\t\t"<span class='ui-icon " + this.options.icons.down +
"'>▼</span>" +\n
Login.c(118): \t\t\t"</a>";\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_start: function( event ) {\n
Login.c(118): \t\tif ( !this.spinning && this._trigger( "start", event ) ===
false ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.counter ) {\n
Login.c(118): \t\t\tthis.counter = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.spinning = true;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_repeat: function( i, steps, event ) {\n
Login.c(118): \t\ti = i || 500;\n
Login.c(118): \n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\tthis._repeat( 40, steps, event );\n
Login.c(118): \t\t}, i );\n
Login.c(118): \n
Login.c(118): \t\tthis._spin( steps * this.options.step, event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_spin: function( step, event ) {\n
Login.c(118): \t\tvar value = this.value() || 0;\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.counter ) {\n
Login.c(118): \t\t\tthis.counter = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvalue = this._adjustValue( value + step *
this._increment( this.counter ) );\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.spinning || this._trigger( "spin", event, { value:
value } ) !== false) {\n
Login.c(118): \t\t\tthis._value( value );\n
Login.c(118): \t\t\tthis.counter++;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_increment: function( i ) {\n
Login.c(118): \t\tvar incremental = this.options.incremental;\n
Login.c(118): \n
Login.c(118): \t\tif ( incremental ) {\n
Login.c(118): \t\t\treturn $.isFunction( incremental ) ?\n
Login.c(118): \t\t\t\tincremental( i ) :\n
Login.c(118): \t\t\t\tMath.floor( i * i * i / 50000 - i * i / 500 + 17 * i /
200 + 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn 1;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_precision: function() {\n
Login.c(118): \t\tvar precision = this._precisionOf( this.options.step );\n
Login.c(118): \t\tif ( this.options.min !== null ) {\n
Login.c(118): \t\t\tprecision = Math.max( precision,
this._precisionOf( this.options.min ) );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn precision;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_precisionOf: function( num ) {\n
Login.c(118): \t\tvar str = num.toString(),\n
Login.c(118): \t\t\tdecimal = str.indexOf( "." );\n
Login.c(118): \t\treturn decimal === -1 ? 0 : str.length - decimal - 1;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_adjustValue: function( value ) {\n
Login.c(118): \t\tvar base, aboveMin,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\t// make sure we're at a valid step\n
Login.c(118): \t\t// - find out where we are relative to the base (min or 0)\n
Login.c(118): \t\tbase = options.min !== null ? options.min : 0;\n
Login.c(118): \t\taboveMin = value - base;\n
Login.c(118): \t\t// - round to the nearest step\n
Login.c(118): \t\taboveMin = Math.round(aboveMin / options.step) *
options.step;\n
Login.c(118): \t\t// - rounding is based on 0, so adjust back to our base\n
Login.c(118): \t\tvalue = base + aboveMin;\n
Login.c(118): \n
Login.c(118): \t\t// fix precision from bad JS floating point math\n
Login.c(118): \t\tvalue = parseFloat( value.toFixed( this._precision() ) );\n
Login.c(118): \n
Login.c(118): \t\t// clamp the value\n
Login.c(118): \t\tif ( options.max !== null && value > options.max) {\n
Login.c(118): \t\t\treturn options.max;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( options.min !== null && value < options.min ) {\n
Login.c(118): \t\t\treturn options.min;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn value;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_stop: function( event ) {\n
Login.c(118): \t\tif ( !this.spinning ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tclearTimeout( this.mousewheelTimer );\n
Login.c(118): \t\tthis.counter = 0;\n
Login.c(118): \t\tthis.spinning = false;\n
Login.c(118): \t\tthis._trigger( "stop", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "culture" || key === "numberFormat" ) {\n
Login.c(118): \t\t\tvar prevValue = this._parse( this.element.val() );\n
Login.c(118): \t\t\tthis.options[ key ] = value;\n
Login.c(118): \t\t\tthis.element.val( this._format( prevValue ) );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "max" || key === "min" || key === "step" ) {\n
Login.c(118): \t\t\tif ( typeof value === "string" ) {\n
Login.c(118): \t\t\t\tvalue = this._parse( value );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis.buttons.first().find( ".ui-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.up )\n
Login.c(118): \t\t\t\t.addClass( value.up );\n
Login.c(118): \t\t\tthis.buttons.last().find( ".ui-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.down )\n
Login.c(118): \t\t\t\t.addClass( value.down );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.widget().toggleClass( "ui-state-disabled", !!
value );\n
Login.c(118): \t\t\tthis.element.prop( "disabled", !!value );\n
Login.c(118): \t\t\tthis.buttons.button( value ? "disable" : "enable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOptions: spinner_modifier(function( options ) {\n
Login.c(118): \t\tthis._super( options );\n
Login.c(118): \t}),\n
Login.c(118): \n
Login.c(118): \t_parse: function( val ) {\n
Login.c(118): \t\tif ( typeof val === "string" && val !== "" ) {\n
Login.c(118): \t\t\tval = window.Globalize && this.options.numberFormat ?\n
Login.c(118): \t\t\t\tGlobalize.parseFloat( val, 10, this.options.culture ) :
+val;\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn val === "" || isNaN( val ) ? null : val;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_format: function( value ) {\n
Login.c(118): \t\tif ( value === "" ) {\n
Login.c(118): \t\t\treturn "";\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn window.Globalize && this.options.numberFormat ?\n
Login.c(118): \t\t\tGlobalize.format( value, this.options.numberFormat,
this.options.culture ) :\n
Login.c(118): \t\t\tvalue;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tthis.element.attr({\n
Login.c(118): \t\t\t"aria-valuemin": this.options.min,\n
Login.c(118): \t\t\t"aria-valuemax": this.options.max,\n
Login.c(118): \t\t\t// TODO: what should we do with values that can't be
parsed?\n
Login.c(118): \t\t\t"aria-valuenow": this._parse( this.element.val() )\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisValid: function() {\n
Login.c(118): \t\tvar value = this.value();\n
Login.c(118): \n
Login.c(118): \t\t// null is invalid\n
Login.c(118): \t\tif ( value === null ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// if value gets adjusted, it's invalid\n
Login.c(118): \t\treturn value === this._adjustValue( value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// update the value without triggering change\n
Login.c(118): \t_value: function( value, allowAny ) {\n
Login.c(118): \t\tvar parsed;\n
Login.c(118): \t\tif ( value !== "" ) {\n
Login.c(118): \t\t\tparsed = this._parse( value );\n
Login.c(118): \t\t\tif ( parsed !== null ) {\n
Login.c(118): \t\t\t\tif ( !allowAny ) {\n
Login.c(118): \t\t\t\t\tparsed = this._adjustValue( parsed );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tvalue = this._format( parsed );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.element.val( value );\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-spinner-input" )\n
Login.c(118): \t\t\t.prop( "disabled", false )\n
Login.c(118): \t\t\t.removeAttr( "autocomplete" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemin" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemax" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuenow" );\n
Login.c(118): \t\tthis.uiSpinner.replaceWith( this.element );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstepUp: spinner_modifier(function( steps ) {\n
Login.c(118): \t\tthis._stepUp( steps );\n
Login.c(118): \t}),\n
Login.c(118): \t_stepUp: function( steps ) {\n
Login.c(118): \t\tif ( this._start() ) {\n
Login.c(118): \t\t\tthis._spin( (steps || 1) * this.options.step );\n
Login.c(118): \t\t\tthis._stop();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstepDown: spinner_modifier(function( steps ) {\n
Login.c(118): \t\tthis._stepDown( steps );\n
Login.c(118): \t}),\n
Login.c(118): \t_stepDown: function( steps ) {\n
Login.c(118): \t\tif ( this._start() ) {\n
Login.c(118): \t\t\tthis._spin( (steps || 1) * -this.options.step );\n
Login.c(118): \t\t\tthis._stop();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tpageUp: spinner_modifier(function( pages ) {\n
Login.c(118): \t\tthis._stepUp( (pages || 1) * this.options.page );\n
Login.c(118): \t}),\n
Login.c(118): \n
Login.c(118): \tpageDown: spinner_modifier(function( pages ) {\n
Login.c(118): \t\tthis._stepDown( (pages || 1) * this.options.page );\n
Login.c(118): \t}),\n
Login.c(118): \n
Login.c(118): \tvalue: function( newVal ) {\n
Login.c(118): \t\tif ( !arguments.length ) {\n
Login.c(118): \t\t\treturn this._parse( this.element.val() );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tspinner_modifier( this._value ).call( this, newVal );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.uiSpinner;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Tabs 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/tabs/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var tabs = $.widget( "ui.tabs", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdelay: 300,\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tactive: null,\n
Login.c(118): \t\tcollapsible: false,\n
Login.c(118): \t\tevent: "click",\n
Login.c(118): \t\theightStyle: "content",\n
Login.c(118): \t\thide: null,\n
Login.c(118): \t\tshow: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tbeforeActivate: null,\n
Login.c(118): \t\tbeforeLoad: null,\n
Login.c(118): \t\tload: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isLocal: (function() {\n
Login.c(118): \t\tvar rhash = /#.*$/;\n
Login.c(118): \n
Login.c(118): \t\treturn function( anchor ) {\n
Login.c(118): \t\t\tvar anchorUrl, locationUrl;\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE7\n
Login.c(118): \t\t\t// IE7 doesn't normalize the href property when set via
script (#9317)\n
Login.c(118): \t\t\tanchor = anchor.cloneNode( false );\n
Login.c(118): \n
Login.c(118): \t\t\tanchorUrl = anchor.href.replace( rhash, "" );\n
Login.c(118): \t\t\tlocationUrl = location.href.replace( rhash, "" );\n
Login.c(118): \n
Login.c(118): \t\t\t// decoding may throw an error if the URL isn't UTF-8
(#9518)\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tanchorUrl = decodeURIComponent( anchorUrl );\n
Login.c(118): \t\t\t} catch ( error ) {}\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tlocationUrl = decodeURIComponent( locationUrl );\n
Login.c(118): \t\t\t} catch ( error ) {}\n
Login.c(118): \n
Login.c(118): \t\t\treturn anchor.hash.length > 1 && anchorUrl ===
locationUrl;\n
Login.c(118): \t\t};\n
Login.c(118): \t})(),\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\tthis.running = false;\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-
all" )\n
Login.c(118): \t\t\t.toggleClass( "ui-tabs-collapsible",
options.collapsible );\n
Login.c(118): \n
Login.c(118): \t\tthis._processTabs();\n
Login.c(118): \t\toptions.active = this._initialActive();\n
Login.c(118): \n
Login.c(118): \t\t// Take disabling tabs via class attribute from HTML\n
Login.c(118): \t\t// into account and update option properly.\n
Login.c(118): \t\tif ( $.isArray( options.disabled ) ) {\n
Login.c(118): \t\t\toptions.disabled = $.unique( options.disabled.concat(\n
Login.c(118): \t\t\t\t$.map( this.tabs.filter( ".ui-state-disabled" ),
function( li ) {\n
Login.c(118): \t\t\t\t\treturn that.tabs.index( li );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t) ).sort();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// check for length avoids error when initializing empty
list\n
Login.c(118): \t\tif ( this.options.active !== false && this.anchors.length )
{\n
Login.c(118): \t\t\tthis.active = this._findActive( options.active );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.active = $();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.active.length ) {\n
Login.c(118): \t\t\tthis.load( options.active );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_initialActive: function() {\n
Login.c(118): \t\tvar active = this.options.active,\n
Login.c(118): \t\t\tcollapsible = this.options.collapsible,\n
Login.c(118): \t\t\tlocationHash = location.hash.substring( 1 );\n
Login.c(118): \n
Login.c(118): \t\tif ( active === null ) {\n
Login.c(118): \t\t\t// check the fragment identifier in the URL\n
Login.c(118): \t\t\tif ( locationHash ) {\n
Login.c(118): \t\t\t\tthis.tabs.each(function( i, tab ) {\n
Login.c(118): \t\t\t\t\tif ( $( tab ).attr( "aria-controls" ) ===
locationHash ) {\n
Login.c(118): \t\t\t\t\t\tactive = i;\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// check for a tab marked active via a class\n
Login.c(118): \t\t\tif ( active === null ) {\n
Login.c(118): \t\t\t\tactive = this.tabs.index( this.tabs.filter( ".ui-tabs-
active" ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// no active tab, set to false\n
Login.c(118): \t\t\tif ( active === null || active === -1 ) {\n
Login.c(118): \t\t\t\tactive = this.tabs.length ? 0 : false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// handle numbers: negative, out of range\n
Login.c(118): \t\tif ( active !== false ) {\n
Login.c(118): \t\t\tactive = this.tabs.index( this.tabs.eq( active ) );\n
Login.c(118): \t\t\tif ( active === -1 ) {\n
Login.c(118): \t\t\t\tactive = collapsible ? false : 0;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// don't allow collapsible: false and active: false\n
Login.c(118): \t\tif ( !collapsible && active === false &&
this.anchors.length ) {\n
Login.c(118): \t\t\tactive = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn active;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateEventData: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttab: this.active,\n
Login.c(118): \t\t\tpanel: !this.active.length ? $() :
this._getPanelForTab( this.active )\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_tabKeydown: function( event ) {\n
Login.c(118): \t\tvar focusedTab = $( this.document[0].activeElement ).closest(
"li" ),\n
Login.c(118): \t\t\tselectedIndex = this.tabs.index( focusedTab ),\n
Login.c(118): \t\t\tgoingForward = true;\n
Login.c(118): \n
Login.c(118): \t\tif ( this._handlePageNav( event ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\tselectedIndex++;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\tgoingForward = false;\n
Login.c(118): \t\t\t\tselectedIndex--;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\tselectedIndex = this.anchors.length - 1;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\tselectedIndex = 0;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.SPACE:\n
Login.c(118): \t\t\t\t// Activate only, no collapsing\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\tclearTimeout( this.activating );\n
Login.c(118): \t\t\t\tthis._activate( selectedIndex );\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\tcase $.ui.keyCode.ENTER:\n
Login.c(118): \t\t\t\t// Toggle (cancel delayed activation, allow collapsing)\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\tclearTimeout( this.activating );\n
Login.c(118): \t\t\t\t// Determine if we should collapse or activate\n
Login.c(118): \t\t\t\tthis._activate( selectedIndex === this.options.active ?
false : selectedIndex );\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\tdefault:\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Focus the appropriate tab, based on which key was
pressed\n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \t\tclearTimeout( this.activating );\n
Login.c(118): \t\tselectedIndex = this._focusNextTab( selectedIndex,
goingForward );\n
Login.c(118): \n
Login.c(118): \t\t// Navigating with control key will prevent automatic
activation\n
Login.c(118): \t\tif ( !event.ctrlKey ) {\n
Login.c(118): \t\t\t// Update aria-selected immediately so that AT thin
Login.c(118): t=7576ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): k the tab is already selected.\n
Login.c(118): \t\t\t// Otherwise AT may confuse the user by stating that they
need to activate the tab,\n
Login.c(118): \t\t\t// but the tab will already be activated by the time the
announcement finishes.\n
Login.c(118): \t\t\tfocusedTab.attr( "aria-selected", "false" );\n
Login.c(118): \t\t\tthis.tabs.eq( selectedIndex ).attr( "aria-selected", "true"
);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.activating = this._delay(function() {\n
Login.c(118): \t\t\t\tthis.option( "active", selectedIndex );\n
Login.c(118): \t\t\t}, this.delay );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_panelKeydown: function( event ) {\n
Login.c(118): \t\tif ( this._handlePageNav( event ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Ctrl+up moves focus to the current tab\n
Login.c(118): \t\tif ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tthis.active.focus();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Alt+page up/down moves focus to the previous/next tab (and
activates)\n
Login.c(118): \t_handlePageNav: function( event ) {\n
Login.c(118): \t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP )
{\n
Login.c(118): \t\t\tthis._activate( this._focusNextTab( this.options.active -
1, false ) );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN
) {\n
Login.c(118): \t\t\tthis._activate( this._focusNextTab( this.options.active +
1, true ) );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_findNextTab: function( index, goingForward ) {\n
Login.c(118): \t\tvar lastTabIndex = this.tabs.length - 1;\n
Login.c(118): \n
Login.c(118): \t\tfunction constrain() {\n
Login.c(118): \t\t\tif ( index > lastTabIndex ) {\n
Login.c(118): \t\t\t\tindex = 0;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( index < 0 ) {\n
Login.c(118): \t\t\t\tindex = lastTabIndex;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn index;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\twhile ( $.inArray( constrain(), this.options.disabled ) !==
-1 ) {\n
Login.c(118): \t\t\tindex = goingForward ? index + 1 : index - 1;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn index;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_focusNextTab: function( index, goingForward ) {\n
Login.c(118): \t\tindex = this._findNextTab( index, goingForward );\n
Login.c(118): \t\tthis.tabs.eq( index ).focus();\n
Login.c(118): \t\treturn index;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "active" ) {\n
Login.c(118): \t\t\t// _activate() will handle invalid values and update
this.options\n
Login.c(118): \t\t\tthis._activate( value );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\t// don't use the widget factory's disabled handling\n
Login.c(118): \t\t\tthis._setupDisabled( value );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value);\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "collapsible" ) {\n
Login.c(118): \t\t\tthis.element.toggleClass( "ui-tabs-collapsible", value );\n
Login.c(118): \t\t\t// Setting collapsible: false while collapsed; open first
panel\n
Login.c(118): \t\t\tif ( !value && this.options.active === false ) {\n
Login.c(118): \t\t\t\tthis._activate( 0 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "event" ) {\n
Login.c(118): \t\t\tthis._setupEvents( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "heightStyle" ) {\n
Login.c(118): \t\t\tthis._setupHeightStyle( value );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_sanitizeSelector: function( hash ) {\n
Login.c(118): \t\treturn hash ? hash.replace( /[!"$%&'()*+,.\\/:;<=>?@\\
[\\]\\^`{|}~]/g, "\\\\$&" ) : ""
Login.c(118): ;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tlis = this.tablist.children( ":has(a[href])" );\n
Login.c(118): \n
Login.c(118): \t\t// get disabled tabs from class attribute from HTML\n
Login.c(118): \t\t// this will get converted to a boolean if needed in
_refresh()\n
Login.c(118): \t\toptions.disabled = $.map( lis.filter( ".ui-state-disabled" ),
function( tab ) {\n
Login.c(118): \t\t\treturn lis.index( tab );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis._processTabs();\n
Login.c(118): \n
Login.c(118): \t\t// was collapsed or no tabs\n
Login.c(118): \t\tif ( options.active === false || !this.anchors.length ) {\n
Login.c(118): \t\t\toptions.active = false;\n
Login.c(118): \t\t\tthis.active = $();\n
Login.c(118): \t\t// was active, but active tab is gone\n
Login.c(118): \t\t} else if ( this.active.length && !
$.contains( this.tablist[ 0 ], this.active[ 0 ] ) )
Login.c(118): {\n
Login.c(118): \t\t\t// all remaining tabs are disabled\n
Login.c(118): \t\t\tif ( this.tabs.length === options.disabled.length ) {\n
Login.c(118): \t\t\t\toptions.active = false;\n
Login.c(118): \t\t\t\tthis.active = $();\n
Login.c(118): \t\t\t// activate previous tab\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis._activate( this._findNextTab( Math.max( 0,
options.active - 1 ), false ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t// was active, active tab still exists\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t// make sure active index is correct\n
Login.c(118): \t\t\toptions.active = this.tabs.index( this.active );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tthis._setupDisabled( this.options.disabled );\n
Login.c(118): \t\tthis._setupEvents( this.options.event );\n
Login.c(118): \t\tthis._setupHeightStyle( this.options.heightStyle );\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs.not( this.active ).attr({\n
Login.c(118): \t\t\t"aria-selected": "false",\n
Login.c(118): \t\t\t"aria-expanded": "false",\n
Login.c(118): \t\t\ttabIndex: -1\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.panels.not( this._getPanelForTab( this.active ) )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t"aria-hidden": "true"\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Make sure one tab is in the tab order\n
Login.c(118): \t\tif ( !this.active.length ) {\n
Login.c(118): \t\t\tthis.tabs.eq( 0 ).attr( "tabIndex", 0 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.active\n
Login.c(118): \t\t\t\t.addClass( "ui-tabs-active ui-state-active" )\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t\t\t"aria-expanded": "true",\n
Login.c(118): \t\t\t\t\ttabIndex: 0\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\tthis._getPanelForTab( this.active )\n
Login.c(118): \t\t\t\t.show()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-hidden": "false"\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_processTabs: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.tablist = this._getList()\n
Login.c(118): \t\t\t.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix
ui-widget-header ui-corne
Login.c(118): r-all" )\n
Login.c(118): \t\t\t.attr( "role", "tablist" )\n
Login.c(118): \n
Login.c(118): \t\t\t// Prevent users from focusing disabled tabs via click\n
Login.c(118): \t\t\t.delegate( "> li", "mousedown" + this.eventNamespace,
function( event ) {\n
Login.c(118): \t\t\t\tif ( $( this ).is( ".ui-state-disabled" ) ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t})\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE <9\n
Login.c(118): \t\t\t// Preventing the default action in mousedown doesn't
prevent IE\n
Login.c(118): \t\t\t// from focusing the element, so if the anchor gets
focused, blur.\n
Login.c(118): \t\t\t// We don't have to worry about focusing the previously
focused\n
Login.c(118): \t\t\t// element since clicking on a non-focusable element should
focus\n
Login.c(118): \t\t\t// the body anyway.\n
Login.c(118): \t\t\t.delegate( ".ui-tabs-anchor", "focus" +
this.eventNamespace, function() {\n
Login.c(118): \t\t\t\tif ( $( this ).closest( "li" ).is( ".ui-state-disabled" )
) {\n
Login.c(118): \t\t\t\t\tthis.blur();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs = this.tablist.find( "> li:has(a[href])" )\n
Login.c(118): \t\t\t.addClass( "ui-state-default ui-corner-top" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: "tab",\n
Login.c(118): \t\t\t\ttabIndex: -1\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.anchors = this.tabs.map(function() {\n
Login.c(118): \t\t\t\treturn $( "a", this )[ 0 ];\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-tabs-anchor" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: "presentation",\n
Login.c(118): \t\t\t\ttabIndex: -1\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.panels = $();\n
Login.c(118): \n
Login.c(118): \t\tthis.anchors.each(function( i, anchor ) {\n
Login.c(118): \t\t\tvar selector, panel, panelId,\n
Login.c(118): \t\t\t\tanchorId = $( anchor ).uniqueId().attr( "id" ),\n
Login.c(118): \t\t\t\ttab = $( anchor ).closest( "li" ),\n
Login.c(118): \t\t\t\toriginalAriaControls = tab.attr( "aria-controls" );\n
Login.c(118): \n
Login.c(118): \t\t\t// inline tab\n
Login.c(118): \t\t\tif ( that._isLocal( anchor ) ) {\n
Login.c(118): \t\t\t\tselector = anchor.hash;\n
Login.c(118): \t\t\t\tpanelId = selector.substring( 1 );\n
Login.c(118): \t\t\t\tpanel =
that.element.find( that._sanitizeSelector( selector ) );\n
Login.c(118): \t\t\t// remote tab\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// If the tab doesn't already have aria-controls,\n
Login.c(118): \t\t\t\t// generate an id by using a throw-away element\n
Login.c(118): \t\t\t\tpanelId = tab.attr( "aria-controls" ) || $
( {} ).uniqueId()[ 0 ].id;\n
Login.c(118): \t\t\t\tselector = "#" + panelId;\n
Login.c(118): \t\t\t\tpanel = that.element.find( selector );\n
Login.c(118): \t\t\t\tif ( !panel.length ) {\n
Login.c(118): \t\t\t\t\tpanel = that._createPanel( panelId );\n
Login.c(118): \t\t\t\t\tpanel.insertAfter( that.panels[ i - 1 ] || that.tablist
);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tpanel.attr( "aria-live", "polite" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( panel.length) {\n
Login.c(118): \t\t\t\tthat.panels = that.panels.add( panel );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( originalAriaControls ) {\n
Login.c(118): \t\t\t\ttab.data( "ui-tabs-aria-controls",
originalAriaControls );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\ttab.attr({\n
Login.c(118): \t\t\t\t"aria-controls": panelId,\n
Login.c(118): \t\t\t\t"aria-labelledby": anchorId\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tpanel.attr( "aria-labelledby", anchorId );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.panels\n
Login.c(118): \t\t\t.addClass( "ui-tabs-panel ui-widget-content ui-corner-
bottom" )\n
Login.c(118): \t\t\t.attr( "role", "tabpanel" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// allow overriding how to find the list for rare usage
scenarios (#7715)\n
Login.c(118): \t_getList: function() {\n
Login.c(118): \t\treturn this.tablist ||
this.element.find( "ol,ul" ).eq( 0 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createPanel: function( id ) {\n
Login.c(118): \t\treturn $( "<div>" )\n
Login.c(118): \t\t\t.attr( "id", id )\n
Login.c(118): \t\t\t.addClass( "ui-tabs-panel ui-widget-content ui-corner-
bottom" )\n
Login.c(118): \t\t\t.data( "ui-tabs-destroy", true );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupDisabled: function( disabled ) {\n
Login.c(118): \t\tif ( $.isArray( disabled ) ) {\n
Login.c(118): \t\t\tif ( !disabled.length ) {\n
Login.c(118): \t\t\t\tdisabled = false;\n
Login.c(118): \t\t\t} else if ( disabled.length === this.anchors.length ) {\n
Login.c(118): \t\t\t\tdisabled = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// disable tabs\n
Login.c(118): \t\tfor ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {\n
Login.c(118): \t\t\tif ( disabled === true || $.inArray( i, disabled ) !== -1 )
{\n
Login.c(118): \t\t\t\t$( li )\n
Login.c(118): \t\t\t\t\t.addClass( "ui-state-disabled" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-disabled", "true" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$( li )\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-disabled" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-disabled" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.options.disabled = disabled;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupEvents: function( event ) {\n
Login.c(118): \t\tvar events = {};\n
Login.c(118): \t\tif ( event ) {\n
Login.c(118): \t\t\t$.each( event.split(" "), function( index, eventName ) {\n
Login.c(118): \t\t\t\tevents[ eventName ] = "_eventHandler";\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118):
\t\tthis._off( this.anchors.add( this.tabs ).add( this.panels ) );\n
Login.c(118): \t\t// Always prevent the default action, even when disabled\n
Login.c(118): \t\tthis._on( true, this.anchors, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis._on( this.anchors, events );\n
Login.c(118): \t\tthis._on( this.tabs, { keydown: "_tabKeydown" } );\n
Login.c(118): \t\tthis._on( this.panels, { keydown: "_panelKeydown" } );\n
Login.c(118): \n
Login.c(118): \t\tthis._focusable( this.tabs );\n
Login.c(118): \t\tthis._hoverable( this.tabs );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupHeightStyle: function( heightStyle ) {\n
Login.c(118): \t\tvar maxHeight,\n
Login.c(118): \t\t\tparent = this.element.parent();\n
Login.c(118): \n
Login.c(118): \t\tif ( heightStyle === "fill" ) {\n
Login.c(118): \t\t\tmaxHeight = parent.height();\n
Login.c(118): \t\t\tmaxHeight -= this.element.outerHeight() -
this.element.height();\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.siblings( ":visible" ).each(function() {\n
Login.c(118): \t\t\t\tvar elem = $( this ),\n
Login.c(118): \t\t\t\t\tposition = elem.css( "position" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( position === "absolute" || position === "fixed" )
{\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmaxHeight -= elem.outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.children().not( this.panels ).each(function()
{\n
Login.c(118): \t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.panels.each(function() {\n
Login.c(118): \t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n
Login.c(118): \t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.css( "overflow", "auto" );\n
Login.c(118): \t\t} else if ( heightStyle === "auto" ) {\n
Login.c(118): \t\t\tmaxHeight = 0;\n
Login.c(118): \t\t\tthis.panels.each(function() {\n
Login.c(118): \t\t\t\tmaxHeight = Math.max( maxHeight, $
( this ).height( "" ).height() );\n
Login.c(118): \t\t\t}).height( maxHeight );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_eventHandler: function( event ) {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tactive = this.active,\n
Login.c(118): \t\t\tanchor = $( event.currentTarget ),\n
Login.c(118): \t\t\ttab = anchor.closest( "li" ),\n
Login.c(118): \t\t\tclickedIsActive = tab[ 0 ] === active[ 0 ],\n
Login.c(118): \t\t\tcollapsing = clickedIsActive && options.collapsible,\n
Login.c(118): \t\t\ttoShow = collapsing ? $() : this._getPanelForTab( tab ),\n
Login.c(118): \t\t\ttoHide = !active.length ? $() :
this._getPanelForTab( active ),\n
Login.c(118): \t\t\teventData = {\n
Login.c(118): \t\t\t\toldTab: active,\n
Login.c(118): \t\t\t\toldPanel: toHide,\n
Login.c(118): \t\t\t\tnewTab: collapsing ? $() : tab,\n
Login.c(118): \t\t\t\tnewPanel: toShow\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\tif ( tab.hasClass( "ui-state-disabled" ) ||\n
Login.c(118): \t\t\t\t// tab is already loading\n
Login.c(118): \t\t\t\ttab.hasClass( "ui-tabs-loading" ) ||\n
Login.c(118): \t\t\t\t// can't switch durning an animation\n
Login.c(118): \t\t\t\tthis.running ||\n
Login.c(118): \t\t\t\t// click on active header, but not collapsible\n
Login.c(118): \t\t\t\t( clickedIsActive && !options.collapsible ) ||\n
Login.c(118): \t\t\t\t// allow canceling activation\n
Login.c(118): \t\t\t\t( this._trigger( "beforeActivate", event, eventData ) ===
false ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\toptions.active = collapsing ? false :
this.tabs.index( tab );\n
Login.c(118): \n
Login.c(118): \t\tthis.active = clickedIsActive ? $() : tab;\n
Login.c(118): \t\tif ( this.xhr ) {\n
Login.c(118): \t\t\tthis.xhr.abort();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !toHide.length && !toShow.length ) {\n
Login.c(118): \t\t\t$.error( "jQuery UI Tabs: Mismatching fragment identifier."
);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( toShow.length ) {\n
Login.c(118): \t\t\tthis.load( this.tabs.index( tab ), event );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._toggle( event, eventData );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// handles show/hide for selecting tabs\n
Login.c(118): \t_toggle: function( event, eventData ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttoShow = eventData.newPanel,\n
Login.c(118): \t\t\ttoHide = eventData.oldPanel;\n
Login.c(118): \n
Login.c(118): \t\tthis.running = true;\n
Login.c(118): \n
Login.c(118): \t\tfunction complete() {\n
Login.c(118): \t\t\tthat.running = false;\n
Login.c(118): \t\t\tthat._trigger( "activate", event, eventData );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfunction show() {\n
Login.c(118): \t\t\teventData.newTab.closest( "li" ).addClass( "ui-tabs-active
ui-state-active" );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( toShow.length && that.options.show ) {\n
Login.c(118): \t\t\t\tthat._show( toShow, that.options.show, complete );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\ttoShow.show();\n
Login.c(118): \t\t\t\tcomplete();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// start out by hiding, then showing, then completing\n
Login.c(118): \t\tif ( toHide.length && this.options.hide ) {\n
Login.c(118): \t\t\tthis._hide( toHide, this.options.hide, function() {\n
Login.c(118): \t\t\t\teventData.oldTab.closest( "li" ).removeClass( "ui-tabs-
active ui-state-active" );\n
Login.c(118): \t\t\t\tshow();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\teventData.oldTab.closest( "li" ).removeClass( "ui-tabs-
active ui-state-active" );\n
Login.c(118): \t\t\ttoHide.hide();\n
Login.c(118): \t\t\tshow();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoHide.attr( "aria-hidden", "true" );\n
Login.c(118): \t\teventData.oldTab.attr({\n
Login.c(118): \t\t\t"aria-selected": "false",\n
Login.c(118): \t\t\t"aria-expanded": "false"\n
Login.c(118): \t\t});\n
Login.c(118): \t\t// If we're switching tabs, remove the old tab from the tab
order.\n
Login.c(118): \t\t// If we're opening from collapsed state, remove the previous
tab from the tab order.\n
Login.c(118): \t\t// If we're collapsing, then keep the collapsing tab in the
tab order.\n
Login.c(118): \t\tif ( toShow.length && toHide.length ) {\n
Login.c(118): \t\t\teventData.oldTab.attr( "tabIn
Login.c(118): t=7595ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): dex", -1 );\n
Login.c(118): \t\t} else if ( toShow.length ) {\n
Login.c(118): \t\t\tthis.tabs.filter(function() {\n
Login.c(118): \t\t\t\treturn $( this ).attr( "tabIndex" ) === 0;\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.attr( "tabIndex", -1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoShow.attr( "aria-hidden", "false" );\n
Login.c(118): \t\teventData.newTab.attr({\n
Login.c(118): \t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t"aria-expanded": "true",\n
Login.c(118): \t\t\ttabIndex: 0\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( index ) {\n
Login.c(118): \t\tvar anchor,\n
Login.c(118): \t\t\tactive = this._findActive( index );\n
Login.c(118): \n
Login.c(118): \t\t// trying to activate the already active panel\n
Login.c(118): \t\tif ( active[ 0 ] === this.active[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// trying to collapse, simulate a click on the current active
header\n
Login.c(118): \t\tif ( !active.length ) {\n
Login.c(118): \t\t\tactive = this.active;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tanchor = active.find( ".ui-tabs-anchor" )[ 0 ];\n
Login.c(118): \t\tthis._eventHandler({\n
Login.c(118): \t\t\ttarget: anchor,\n
Login.c(118): \t\t\tcurrentTarget: anchor,\n
Login.c(118): \t\t\tpreventDefault: $.noop\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_findActive: function( index ) {\n
Login.c(118): \t\treturn index === false ? $() : this.tabs.eq( index );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getIndex: function( index ) {\n
Login.c(118): \t\t// meta-function to give users option to provide a href
string instead of a numerical
Login.c(118): index.\n
Login.c(118): \t\tif ( typeof index === "string" ) {\n
Login.c(118): \t\t\tindex = this.anchors.index( this.anchors.filter( "[href$='"
+ index + "']" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn index;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tif ( this.xhr ) {\n
Login.c(118): \t\t\tthis.xhr.abort();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element.removeClass( "ui-tabs ui-widget ui-widget-
content ui-corner-all ui-tabs-c
Login.c(118): ollapsible" );\n
Login.c(118): \n
Login.c(118): \t\tthis.tablist\n
Login.c(118): \t\t\t.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-
clearfix ui-widget-header ui-co
Login.c(118): rner-all" )\n
Login.c(118): \t\t\t.removeAttr( "role" );\n
Login.c(118): \n
Login.c(118): \t\tthis.anchors\n
Login.c(118): \t\t\t.removeClass( "ui-tabs-anchor" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t.removeUniqueId();\n
Login.c(118): \n
Login.c(118): \t\tthis.tablist.unbind( this.eventNamespace );\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs.add( this.panels ).each(function() {\n
Login.c(118): \t\t\tif ( $.data( this, "ui-tabs-destroy" ) ) {\n
Login.c(118): \t\t\t\t$( this ).remove();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$( this )\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-default ui-state-active ui-
state-disabled " +\n
Login.c(118): \t\t\t\t\t\t"ui-corner-top ui-corner-bottom ui-widget-content ui-
tabs-active ui-tabs-panel
Login.c(118): " )\n
Login.c(118): \t\t\t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-live" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-busy" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-selected" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-labelledby" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-expanded" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "role" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs.each(function() {\n
Login.c(118): \t\t\tvar li = $( this ),\n
Login.c(118): \t\t\t\tprev = li.data( "ui-tabs-aria-controls" );\n
Login.c(118): \t\t\tif ( prev ) {\n
Login.c(118): \t\t\t\tli\n
Login.c(118): \t\t\t\t\t.attr( "aria-controls", prev )\n
Login.c(118): \t\t\t\t\t.removeData( "ui-tabs-aria-controls" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tli.removeAttr( "aria-controls" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.panels.show();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.heightStyle !== "content" ) {\n
Login.c(118): \t\t\tthis.panels.css( "height", "" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tenable: function( index ) {\n
Login.c(118): \t\tvar disabled = this.options.disabled;\n
Login.c(118): \t\tif ( disabled === false ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( index === undefined ) {\n
Login.c(118): \t\t\tdisabled = false;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tindex = this._getIndex( index );\n
Login.c(118): \t\t\tif ( $.isArray( disabled ) ) {\n
Login.c(118): \t\t\t\tdisabled = $.map( disabled, function( num ) {\n
Login.c(118): \t\t\t\t\treturn num !== index ? num : null;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tdisabled = $.map( this.tabs, function( li, num ) {\n
Login.c(118): \t\t\t\t\treturn num !== index ? num : null;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setupDisabled( disabled );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tdisable: function( index ) {\n
Login.c(118): \t\tvar disabled = this.options.disabled;\n
Login.c(118): \t\tif ( disabled === true ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( index === undefined ) {\n
Login.c(118): \t\t\tdisabled = true;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tindex = this._getIndex( index );\n
Login.c(118): \t\t\tif ( $.inArray( index, disabled ) !== -1 ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( $.isArray( disabled ) ) {\n
Login.c(118): \t\t\t\tdisabled = $.merge( [ index ], disabled ).sort();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tdisabled = [ index ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setupDisabled( disabled );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tload: function( index, event ) {\n
Login.c(118): \t\tindex = this._getIndex( index );\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttab = this.tabs.eq( index ),\n
Login.c(118): \t\t\tanchor = tab.find( ".ui-tabs-anchor" ),\n
Login.c(118): \t\t\tpanel = this._getPanelForTab( tab ),\n
Login.c(118): \t\t\teventData = {\n
Login.c(118): \t\t\t\ttab: tab,\n
Login.c(118): \t\t\t\tpanel: panel\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t// not remote\n
Login.c(118): \t\tif ( this._isLocal( anchor[ 0 ] ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.xhr = $.ajax( this._ajaxSettings( anchor, event,
eventData ) );\n
Login.c(118): \n
Login.c(118): \t\t// support: jQuery <1.8\n
Login.c(118): \t\t// jQuery <1.8 returns false if the request is canceled in
beforeSend,\n
Login.c(118): \t\t// but as of 1.8, $.ajax() always returns a jqXHR object.\n
Login.c(118): \t\tif ( this.xhr && this.xhr.statusText !== "canceled" ) {\n
Login.c(118): \t\t\ttab.addClass( "ui-tabs-loading" );\n
Login.c(118): \t\t\tpanel.attr( "aria-busy", "true" );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.xhr\n
Login.c(118): \t\t\t\t.success(function( response ) {\n
Login.c(118): \t\t\t\t\t// support: jQuery <1.8\n
Login.c(118): \t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n
Login.c(118): \t\t\t\t\tsetTimeout(function() {\n
Login.c(118): \t\t\t\t\t\tpanel.html( response );\n
Login.c(118): \t\t\t\t\t\tthat._trigger( "load", event, eventData );\n
Login.c(118): \t\t\t\t\t}, 1 );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.complete(function( jqXHR, status ) {\n
Login.c(118): \t\t\t\t\t// support: jQuery <1.8\n
Login.c(118): \t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n
Login.c(118): \t\t\t\t\tsetTimeout(function() {\n
Login.c(118): \t\t\t\t\t\tif ( status === "abort" ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.panels.stop( false, true );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\ttab.removeClass( "ui-tabs-loading" );\n
Login.c(118): \t\t\t\t\t\tpanel.removeAttr( "aria-busy" );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tif ( jqXHR === that.xhr ) {\n
Login.c(118): \t\t\t\t\t\t\tdelete that.xhr;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}, 1 );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_ajaxSettings: function( anchor, event, eventData ) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\turl: anchor.attr( "href" ),\n
Login.c(118): \t\t\tbeforeSend: function( jqXHR, settings ) {\n
Login.c(118): \t\t\t\treturn that._trigger( "beforeLoad", event,\n
Login.c(118): \t\t\t\t\t$.extend( { jqXHR: jqXHR, ajaxSettings: settings },
eventData ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getPanelForTab: function( tab ) {\n
Login.c(118): \t\tvar id = $( tab ).attr( "aria-controls" );\n
Login.c(118): \t\treturn this.element.find( this._sanitizeSelector( "#" +
id ) );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Tooltip 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/tooltip/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var tooltip = $.widget( "ui.tooltip", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tcontent: function() {\n
Login.c(118): \t\t\t// support: IE<9, Opera in jQuery <1.7\n
Login.c(118): \t\t\t// .text() can't accept undefined, so coerce to a string\n
Login.c(118): \t\t\tvar title = $( this ).attr( "title" ) || "";\n
Login.c(118): \t\t\t// Escape title, since we're going from an attribute to raw
HTML\n
Login.c(118): \t\t\treturn $( "<a>" ).text( title ).html();\n
Login.c(118): \t\t},\n
Login.c(118): \t\thide: true,\n
Login.c(118): \t\t// Disabled elements have inconsistent behavior across
browsers (#8661)\n
Login.c(118): \t\titems: "[title]:not([disabled])",\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left top+15",\n
Login.c(118): \t\t\tat: "left bottom",\n
Login.c(118): \t\t\tcollision: "flipfit flip"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tshow: true,\n
Login.c(118): \t\ttooltipClass: null,\n
Login.c(118): \t\ttrack: false,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\topen: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_addDescribedBy: function( elem, id ) {\n
Login.c(118): \t\tvar describedby = (elem.attr( "aria-describedby" ) ||
"").split( /\\s+/ );\n
Login.c(118): \t\tdescribedby.push( id );\n
Login.c(118): \t\telem\n
Login.c(118): \t\t\t.data( "ui-tooltip-id", id )\n
Login.c(118): \t\t\t.attr( "aria-describedby", $.trim( describedby.join( "
" ) ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeDescribedBy: function( elem ) {\n
Login.c(118): \t\tvar id = elem.data( "ui-tooltip-id" ),\n
Login.c(118): \t\t\tdescribedby = (elem.attr( "aria-describedby" ) ||
"").split( /\\s+/ ),\n
Login.c(118): \t\t\tindex = $.inArray( id, describedby );\n
Login.c(118): \n
Login.c(118): \t\tif ( index !== -1 ) {\n
Login.c(118): \t\t\tdescribedby.splice( index, 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\telem.removeData( "ui-tooltip-id" );\n
Login.c(118): \t\tdescribedby = $.trim( describedby.join( " " ) );\n
Login.c(118): \t\tif ( describedby ) {\n
Login.c(118): \t\t\telem.attr( "aria-describedby", describedby );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telem.removeAttr( "aria-describedby" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis._on({\n
Login.c(118): \t\t\tmouseover: "open",\n
Login.c(118): \t\t\tfocusin: "open"\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// IDs of generated tooltips, needed for destroy\n
Login.c(118): \t\tthis.tooltips = {};\n
Login.c(118): \t\t// IDs of parent tooltips where we removed the title
attribute\n
Login.c(118): \t\tthis.parents = {};\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis._disable();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Append the aria-live region so tooltips announce
correctly\n
Login.c(118): \t\tthis.liveRegion = $( "<div>" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: "log",\n
Login.c(118): \t\t\t\t"aria-live": "assertive",\n
Login.c(118): \t\t\t\t"aria-relevant": "additions"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-helper-hidden-accessible" )\n
Login.c(118): \t\t\t.appendTo( this.document[ 0 ].body );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis[ value ? "_disable" : "_enable" ]();\n
Login.c(118): \t\t\tthis.options[ key ] = value;\n
Login.c(118): \t\t\t// disable element style changes\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "content" ) {\n
Login.c(118): \t\t\t$.each( this.tooltips, function( id, element ) {\n
Login.c(118): \t\t\t\tthat._updateContent( element );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_disable: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t// close open tooltips\n
Login.c(118): \t\t$.each( this.tooltips, function( id, element ) {\n
Login.c(118): \t\t\tvar event = $.Event( "blur" );\n
Login.c(118): \t\t\tevent.target = event.currentTarget = element[0];\n
Login.c(118): \t\t\tthat.close( event, true );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// remove title attributes to prevent native tooltips\n
Login.c(118):
\t\tthis.element.find( this.options.items ).addBack().each(function() {\n
Login.c(118): \t\t\tvar element = $( this );\n
Login.c(118): \t\t\tif ( element.is( "[title]" ) ) {\n
Login.c(118): \t\t\t\telement\n
Login.c(118): \t\t\t\t\t.data( "ui-tooltip-title", element.attr( "title" ) )\n
Login.c(118): \t\t\t\t\t.removeAttr( "title" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_enable: function() {\n
Login.c(118): \t\t// restore title attributes\n
Login.c(118):
\t\tthis.element.find( this.options.items ).addBack().each(function() {\n
Login.c(118): \t\t\tvar element = $( this );\n
Login.c(118): \t\t\tif ( element.data( "ui-tooltip-title" ) ) {\n
Login.c(118): \t\t\t\telement.attr( "title", element.data( "ui-tooltip-title" )
);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \topen: function( event ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttarget = $( event ? event.target : this.element )\n
Login.c(118): \t\t\t\t// we need closest here due to mouseover bubbling,\n
Login.c(118): \t\t\t\t// but always pointing at the same event target\n
Login.c(118): \t\t\t\t.closest( this.options.items );\n
Login.c(118): \n
Login.c(118): \t\t// No element to show a tooltip for or the tooltip is already
open\n
Login.c(118): \t\tif ( !target.length || target.data( "ui-tooltip-id" ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( target.attr( "title" ) ) {\n
Login.c(118): \t\t\ttarget.data( "ui-tooltip-title",
target.attr( "title" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttarget.data( "ui-tooltip-open", true );\n
Login.c(118): \n
Login.c(118): \t\t// kill parent tooltips, custom or native, for hover\n
Login.c(118): \t\tif ( event && event.type === "mouseover" ) {\n
Login.c(118): \t\t\ttarget.parents().each(function() {\n
Login.c(118): \t\t\t\tvar parent = $( this ),\n
Login.c(118): \t\t\t\t\tblurEvent;\n
Login.c(118): \t\t\t\tif ( parent.data( "ui-tooltip-open" ) ) {\n
Login.c(118): \t\t\t\t\tblurEvent = $.Event( "blur" );\n
Login.c(118): \t\t\t\t\tblurEvent.target = blurEvent.currentTarget = this;\n
Login.c(118): \t\t\t\t\tthat.close( blurEvent, true );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( parent.attr( "title" ) ) {\n
Login.c(118): \t\t\t\t\tparent.uniqueId();\n
Login.c(118): \t\t\t\t\tthat.parents[ this.id ] = {\n
Login.c(118): \t\t\t\t\t\telement: this,\n
Login.c(118): \t\t\t\t\t\ttitle: parent.attr( "title" )\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t\t\tparent.attr( "title", "" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._updateContent( target, event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateContent: function( target, event ) {\n
Login.c(118): \t\tvar content,\n
Login.c(118): \t\t\tcontentOption = this.options.content,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\teventType = event ? event.type : null;\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof contentOption === "string" ) {\n
Login.c(118): \t\t\treturn this._open( event, target, contentOption );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tcontent = contentOption.call( target[0], function( response )
{\n
Login.c(118): \t\t\t// ignore async response if tooltip was closed already\n
Login.c(118): \t\t\tif ( !target.data( "ui-tooltip-open" ) ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t// IE may instantly serve a cached response for ajax
requests\n
Login.c(118): \t\t\t// delay this call to _open so the other call to _open runs
first\n
Login.c(118): \t\t\tthat._delay(function() {\n
Login.c(118): \t\t\t\t// jQuery creates a special event for focusin when it
doesn't\n
Login.c(118): \t\t\t\t// exist natively. To improve performance, the native
event\n
Login.c(118): \t\t\t\t// object is reused and the type is changed. Therefore,
we can't\n
Login.c(118): \t\t\t\t// rely on the type being correct after the event
finished\n
Login.c(118): \t\t\t\t// bubbling, so we set it back to the previous value.
(#8740)\n
Login.c(118): \t\t\t\tif ( event ) {\n
Login.c(118): \t\t\t\t\tevent.type = eventType;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._open( event, target, response );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\tif ( content ) {\n
Login.c(118): \t\t\tthis._open( event, target, content );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_open: function( event, target, content ) {\n
Login.c(118): \t\tvar tooltip, events, delayedShow, a11yContent,\n
Login.c(118): \t\t\tpositionOption = $.extend( {}, this.options.position );\n
Login.c(118): \n
Login.c(118): \t\tif ( !content ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Content can be updated multiple times. If the tooltip
already\n
Login.c(118): \t\t// exists, then just update the content and bail.\n
Login.c(118): \t\ttooltip = this._find( target );\n
Login.c(118): \t\tif ( tooltip.length ) {\n
Login.c(118): \t\t\ttooltip.find( ".ui-tooltip-content" ).html( content );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// if we have a title, clear it to prevent the native
tooltip\n
Login.c(118): \t\t// we have to check first to avoid defining a title if none
exists\n
Login.c(118): \t\t// (we don't want to cause an element to start matching
[title])\n
Login.c(118): \t\t//\n
Login.c(118): \t\t// We use removeAttr only for key events, to allow IE to
export the correct\n
Login.c(118): \t\t// accessible attributes. For mouse events, set to empty
string to avoid\n
Login.c(118): \t\t// native tooltip showing up (happens only when removing
inside mouseover).\n
Login.c(118): \t\tif ( target.is( "[title]" ) ) {\n
Login.c(118): \t\t\tif ( event && event.type === "mouseover" ) {\n
Login.c(118): \t\t\t\ttarget.attr( "title", "" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\ttarget.removeAttr( "title" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttooltip = this._tooltip( target );\n
Login.c(118): \t\tthis._addDescribedBy( target, tooltip.attr( "id" ) );\n
Login.c(118): \t\ttooltip.find( ".ui-tooltip-content" ).html( content
Login.c(118): t=7630ms: 5160-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): );\n
Login.c(118): \n
Login.c(118): \t\t// Support: Voiceover on OS X, JAWS on IE <= 9\n
Login.c(118): \t\t// JAWS announces deletions even when aria-
relevant="additions"\n
Login.c(118): \t\t// Voiceover will sometimes re-read the entire log region's
contents from the beginnin
Login.c(118): g\n
Login.c(118): \t\tthis.liveRegion.children().hide();\n
Login.c(118): \t\tif ( content.clone ) {\n
Login.c(118): \t\t\ta11yContent = content.clone();\n
Login.c(118):
\t\t\ta11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\ta11yContent = content;\n
Login.c(118): \t\t}\n
Login.c(118): \t\t$
( "<div>" ).html( a11yContent ).appendTo( this.liveRegion );\n
Login.c(118): \n
Login.c(118): \t\tfunction position( event ) {\n
Login.c(118): \t\t\tpositionOption.of = event;\n
Login.c(118): \t\t\tif ( tooltip.is( ":hidden" ) ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\ttooltip.position( positionOption );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.options.track && event && /^mouse/.test( event.type
) ) {\n
Login.c(118): \t\t\tthis._on( this.document, {\n
Login.c(118): \t\t\t\tmousemove: position\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\t// trigger once to override element-relative positioning\n
Login.c(118): \t\t\tposition( event );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\ttooltip.position( $.extend({\n
Login.c(118): \t\t\t\tof: target\n
Login.c(118): \t\t\t}, this.options.position ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.hiding = false;\n
Login.c(118): \t\tthis.closing = false;\n
Login.c(118): \t\ttooltip.hide();\n
Login.c(118): \n
Login.c(118): \t\tthis._show( tooltip, this.options.show );\n
Login.c(118): \t\t// Handle tracking tooltips that are shown with a delay
(#8644). As soon\n
Login.c(118): \t\t// as the tooltip is visible, position the tooltip using the
most recent\n
Login.c(118): \t\t// event.\n
Login.c(118): \t\tif ( this.options.show && this.options.show.delay ) {\n
Login.c(118): \t\t\tdelayedShow = this.delayedShow = setInterval(function() {\n
Login.c(118): \t\t\t\tif ( tooltip.is( ":visible" ) ) {\n
Login.c(118): \t\t\t\t\tposition( positionOption.of );\n
Login.c(118): \t\t\t\t\tclearInterval( delayedShow );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}, $.fx.interval );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "open", event, { tooltip: tooltip } );\n
Login.c(118): \n
Login.c(118): \t\tevents = {\n
Login.c(118): \t\t\tkeyup: function( event ) {\n
Login.c(118): \t\t\t\tif ( event.keyCode === $.ui.keyCode.ESCAPE ) {\n
Login.c(118): \t\t\t\t\tvar fakeEvent = $.Event(event);\n
Login.c(118): \t\t\t\t\tfakeEvent.currentTarget = target[0];\n
Login.c(118): \t\t\t\t\tthis.close( fakeEvent, true );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t// Only bind remove handler for delegated targets. Non-
delegated\n
Login.c(118): \t\t// tooltips will handle this in destroy.\n
Login.c(118): \t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\n
Login.c(118): \t\t\tevents.remove = function() {\n
Login.c(118): \t\t\t\tthis._removeTooltip( tooltip );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !event || event.type === "mouseover" ) {\n
Login.c(118): \t\t\tevents.mouseleave = "close";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !event || event.type === "focusin" ) {\n
Login.c(118): \t\t\tevents.focusout = "close";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._on( true, target, events );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttarget = $( event ? event.currentTarget : this.element ),\n
Login.c(118): \t\t\ttooltip = this._find( target );\n
Login.c(118): \n
Login.c(118): \t\t// disabling closes the tooltip, so we need to track when
we're closing\n
Login.c(118): \t\t// to avoid an infinite loop in case the tooltip becomes
disabled on close\n
Login.c(118): \t\tif ( this.closing ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Clear the interval for delayed tracking tooltips\n
Login.c(118): \t\tclearInterval( this.delayedShow );\n
Login.c(118): \n
Login.c(118): \t\t// only set title if we had one before (see comment in
_open())\n
Login.c(118): \t\t// If the title attribute has changed since open(), don't
restore\n
Login.c(118): \t\tif ( target.data( "ui-tooltip-title" ) && !
target.attr( "title" ) ) {\n
Login.c(118): \t\t\ttarget.attr( "title", target.data( "ui-tooltip-
title" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._removeDescribedBy( target );\n
Login.c(118): \n
Login.c(118): \t\tthis.hiding = true;\n
Login.c(118): \t\ttooltip.stop( true );\n
Login.c(118): \t\tthis._hide( tooltip, this.options.hide, function() {\n
Login.c(118): \t\t\tthat._removeTooltip( $( this ) );\n
Login.c(118): \t\t\tthis.hiding = false;\n
Login.c(118): \t\t\tthis.closing = false;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\ttarget.removeData( "ui-tooltip-open" );\n
Login.c(118): \t\tthis._off( target, "mouseleave focusout keyup" );\n
Login.c(118): \n
Login.c(118): \t\t// Remove 'remove' binding only on delegated targets\n
Login.c(118): \t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\n
Login.c(118): \t\t\tthis._off( target, "remove" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._off( this.document, "mousemove" );\n
Login.c(118): \n
Login.c(118): \t\tif ( event && event.type === "mouseleave" ) {\n
Login.c(118): \t\t\t$.each( this.parents, function( id, parent ) {\n
Login.c(118): \t\t\t\t$( parent.element ).attr( "title", parent.title );\n
Login.c(118): \t\t\t\tdelete that.parents[ id ];\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.closing = true;\n
Login.c(118): \t\tthis._trigger( "close", event, { tooltip: tooltip } );\n
Login.c(118): \t\tif ( !this.hiding ) {\n
Login.c(118): \t\t\tthis.closing = false;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_tooltip: function( element ) {\n
Login.c(118): \t\tvar tooltip = $( "<div>" )\n
Login.c(118): \t\t\t\t.attr( "role", "tooltip" )\n
Login.c(118): \t\t\t\t.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-
content " +\n
Login.c(118): \t\t\t\t\t( this.options.tooltipClass || "" ) ),\n
Login.c(118): \t\t\tid = tooltip.uniqueId().attr( "id" );\n
Login.c(118): \n
Login.c(118): \t\t$( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-tooltip-content" )\n
Login.c(118): \t\t\t.appendTo( tooltip );\n
Login.c(118): \n
Login.c(118): \t\ttooltip.appendTo( this.document[0].body );\n
Login.c(118): \t\tthis.tooltips[ id ] = element;\n
Login.c(118): \t\treturn tooltip;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_find: function( target ) {\n
Login.c(118): \t\tvar id = target.data( "ui-tooltip-id" );\n
Login.c(118): \t\treturn id ? $( "#" + id ) : $();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeTooltip: function( tooltip ) {\n
Login.c(118): \t\ttooltip.remove();\n
Login.c(118): \t\tdelete this.tooltips[ tooltip.attr( "id" ) ];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t// close open tooltips\n
Login.c(118): \t\t$.each( this.tooltips, function( id, element ) {\n
Login.c(118): \t\t\t// Delegate to close method to handle common cleanup\n
Login.c(118): \t\t\tvar event = $.Event( "blur" );\n
Login.c(118): \t\t\tevent.target = event.currentTarget = element[0];\n
Login.c(118): \t\t\tthat.close( event, true );\n
Login.c(118): \n
Login.c(118): \t\t\t// Remove immediately; destroying an open tooltip doesn't
use the\n
Login.c(118): \t\t\t// hide animation\n
Login.c(118): \t\t\t$( "#" + id ).remove();\n
Login.c(118): \n
Login.c(118): \t\t\t// Restore the title\n
Login.c(118): \t\t\tif ( element.data( "ui-tooltip-title" ) ) {\n
Login.c(118): \t\t\t\t// If the title attribute has changed since open(), don't
restore\n
Login.c(118): \t\t\t\tif ( !element.attr( "title" ) ) {\n
Login.c(118): \t\t\t\t\telement.attr( "title", element.data( "ui-tooltip-title"
) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\telement.removeData( "ui-tooltip-title" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.liveRegion.remove();\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \n
Login.c(118): }));
Login.c(118): t=7638ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"12832-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=7639ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): a\r\n
Login.c(118): t=7639ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7639ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7641ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7641ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 8a\r\n
Login.c(118): t=7641ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=7641ms: 4244-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): t=7642ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): /*! \n
Login.c(118): * jquery.event.drag - v 2.2\n
Login.c(118): * Copyright (c) 2010 Three Dub Media -
http://threedubmedia.com\n
Login.c(118): * Open Source MIT License -
http://threedubmedia.com/code/license\n
Login.c(118): */\n
Login.c(118): // Created: 2008-06-04 \n
Login.c(118): // Updated: 2012-05-21\n
Login.c(118): // REQUIRES: jquery 1.7.x\n
Login.c(118): \n
Login.c(118): ;(function( $ ){\n
Login.c(118): \n
Login.c(118): // add the jquery instance method\n
Login.c(118): $.fn.drag = function( str, arg, opts ){\n
Login.c(118): \t// figure out the event type\n
Login.c(118): \tvar type = typeof str == "string" ? str : "",\n
Login.c(118): \t// figure out the event handler...\n
Login.c(118): \tfn = $.isFunction( str ) ? str : $.isFunction( arg ) ? arg :
null;\n
Login.c(118): \t// fix the event type\n
Login.c(118): \tif ( type.indexOf("drag") !== 0 ) \n
Login.c(118): \t\ttype = "drag"+ type;\n
Login.c(118): \t// were options passed\n
Login.c(118): \topts = ( str == fn ? arg : opts ) || {};\n
Login.c(118): \t// trigger or bind event handler\n
Login.c(118): \treturn fn ? this.bind( type, opts, fn ) :
this.trigger( type );\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // local refs (increase compression)\n
Login.c(118): var $event = $.event, \n
Login.c(118): $special = $event.special,\n
Login.c(118): // configure the drag special event \n
Login.c(118): drag = $special.drag = {\n
Login.c(118): \t\n
Login.c(118): \t// these are the default settings\n
Login.c(118): \tdefaults: {\n
Login.c(118): \t\twhich: 1, // mouse button pressed to start drag sequence\n
Login.c(118): \t\tdistance: 0, // distance dragged before dragstart\n
Login.c(118): \t\tnot: ':input', // selector to suppress dragging on target
elements\n
Login.c(118): \t\thandle: null, // selector to match handle target elements\n
Login.c(118): \t\trelative: false, // true to use "position", false to use
"offset"\n
Login.c(118): \t\tdrop: true, // false to suppress drop events, true or
selector to allow\n
Login.c(118): \t\tclick: false // false to suppress click events after dragend
(no proxy)\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// the key name for stored drag data\n
Login.c(118): \tdatakey: "dragdata",\n
Login.c(118): \t\n
Login.c(118): \t// prevent bubbling for better performance\n
Login.c(118): \tnoBubble: true,\n
Login.c(118): \t\n
Login.c(118): \t// count bound related events\n
Login.c(118): \tadd: function( obj ){ \n
Login.c(118): \t\t// read the interaction data\n
Login.c(118): \t\tvar data = $.data( this, drag.datakey ),\n
Login.c(118): \t\t// read any passed options \n
Login.c(118): \t\topts = obj.data || {};\n
Login.c(118): \t\t// count another realted event\n
Login.c(118): \t\tdata.related += 1;\n
Login.c(118): \t\t// extend data options bound with this event\n
Login.c(118): \t\t// don't iterate "opts" in case it is a node \n
Login.c(118): \t\t$.each( drag.defaults, function( key, def ){\n
Login.c(118): \t\t\tif ( opts[ key ] !== undefined )\n
Login.c(118): \t\t\t\tdata[ key ] = opts[ key ];\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// forget unbound related events\n
Login.c(118): \tremove: function(){\n
Login.c(118): \t\t$.data( this, drag.datakey ).related -= 1;\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// configure interaction, capture settings\n
Login.c(118): \tsetup: function(){\n
Login.c(118): \t\t// check for related events\n
Login.c(118): \t\tif ( $.data( this, drag.datakey ) ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// initialize the drag data with copied defaults\n
Login.c(118): \t\tvar data = $.extend({ related:0 }, drag.defaults );\n
Login.c(118): \t\t// store the interaction data\n
Login.c(118): \t\t$.data( this, drag.datakey, data );\n
Login.c(118): \t\t// bind the mousedown event, which starts drag interactions\n
Login.c(118): \t\t$event.add( this, "touchstart mousedown", drag.init,
data );\n
Login.c(118): \t\t// prevent image dragging in IE...\n
Login.c(118): \t\tif ( this.attachEvent ) \n
Login.c(118): \t\t\tthis.attachEvent("ondragstart", drag.dontstart ); \n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// destroy configured interaction\n
Login.c(118): \tteardown: function(){\n
Login.c(118): \t\tvar data = $.data( this, drag.datakey ) || {};\n
Login.c(118): \t\t// check for related events\n
Login.c(118): \t\tif ( data.related ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// remove the stored data\n
Login.c(118): \t\t$.removeData( this, drag.datakey );\n
Login.c(118): \t\t// remove the mousedown event\n
Login.c(118): \t\t$event.remove( this, "touchstart mousedown", drag.init );\n
Login.c(118): \t\t// enable text selection\n
Login.c(118): \t\tdrag.textselect( true ); \n
Login.c(118): \t\t// un-prevent image dragging in IE...\n
Login.c(118): \t\tif ( this.detachEvent ) \n
Login.c(118): \t\t\tthis.detachEvent("ondragstart", drag.dontstart ); \n
Login.c(118): \t},\n
Login.c(118): \t\t\n
Login.c(118): \t// initialize the interaction\n
Login.c(118): \tinit: function( event ){ \n
Login.c(118): \t\t// sorry, only one touch at a time\n
Login.c(118): \t\tif ( drag.touched ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// the drag/drop interaction data\n
Login.c(118): \t\tvar dd = event.data, results;\n
Login.c(118): \t\t// check the which directive\n
Login.c(118): \t\tif ( event.which != 0 && dd.which > 0 && event.which !=
dd.which ) \n
Login.c(118): \t\t\treturn; \n
Login.c(118): \t\t// check for suppressed selector\n
Login.c(118): \t\tif ( $( event.target ).is( dd.not ) ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// check for handle selector\n
Login.c(118): \t\tif ( dd.handle && !$( event.target ).closest( dd.handle,
event.currentTarget ).length
Login.c(118): ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \n
Login.c(118): \t\tdrag.touched = event.type == 'touchstart' ? this : null;\n
Login.c(118): \t\tdd.propagates = 1;\n
Login.c(118): \t\tdd.mousedown = this;\n
Login.c(118): \t\tdd.interactions = [ drag.interaction( this, dd ) ];\n
Login.c(118): \t\tdd.target = event.target;\n
Login.c(118): \t\tdd.pageX = event.pageX;\n
Login.c(118): \t\tdd.pageY = event.pageY;\n
Login.c(118): \t\tdd.dragging = null;\n
Login.c(118): \t\t// handle draginit event... \n
Login.c(118): \t\tresults = drag.hijack( event, "draginit", dd );\n
Login.c(118): \t\t// early cancel\n
Login.c(118): \t\tif ( !dd.propagates )\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// flatten the result set\n
Login.c(118): \t\tresults = drag.flatten( results );\n
Login.c(118): \t\t// insert new interaction elements\n
Login.c(118): \t\tif ( results && results.length ){\n
Login.c(118): \t\t\tdd.interactions = [];\n
Login.c(118): \t\t\t$.each( results, function(){\n
Login.c(118): \t\t\t\tdd.interactions.push( drag.interaction( this, dd ) );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t\t// remember how many interactions are propagating\n
Login.c(118): \t\tdd.propagates = dd.interactions.length;\n
Login.c(118): \t\t// locate and init the drop targets\n
Login.c(118): \t\tif ( dd.drop !== false && $special.drop ) \n
Login.c(118): \t\t\t$special.drop.handler( event, dd );\n
Login.c(118): \t\t// disable text selection\n
Login.c(118): \t\tdrag.textselect( false ); \n
Login.c(118): \t\t// bind additional events...\n
Login.c(118): \t\tif ( drag.touched )\n
Login.c(118): \t\t\t$event.add( drag.touched, "touchmove touchend",
drag.handler, dd );\n
Login.c(118): \t\telse \n
Login.c(118): \t\t\t$event.add( document, "mousemove mouseup", drag.handler, dd
);\n
Login.c(118): \t\t// helps prevent text selection or scrolling\n
Login.c(118): \t\tif ( !drag.touched || dd.live )\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t},\t\n
Login.c(118): \t\n
Login.c(118): \t// returns an interaction object\n
Login.c(118): \tinteraction: function( elem, dd ){\n
Login.c(118): \t\tvar offset = $( elem )[ dd.relative ? "position" : "offset" ]
() || { top:0, left:0 };\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tdrag: elem, \n
Login.c(118): \t\t\tcallback: new drag.callback(), \n
Login.c(118): \t\t\tdroppable: [],\n
Login.c(118): \t\t\toffset: offset\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// handle drag-releatd DOM events\n
Login.c(118): \thandler: function( event ){ \n
Login.c(118): \t\t// read the data before hijacking anything\n
Login.c(118): \t\tvar dd = event.data;\t\n
Login.c(118): \t\t// handle various events\n
Login.c(118): \t\tswitch ( event.type ){\n
Login.c(118): \t\t\t// mousemove, check distance, start dragging\n
Login.c(118): \t\t\tcase !dd.dragging && 'touchmove': \n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tcase !dd.dragging && 'mousemove':\n
Login.c(118): \t\t\t\t// drag tolerance, x\xE2\x89\xA4 + y\xE2\x89\xA4 =
distance\xE2\x89\xA4\n
Login.c(118): \t\t\t\tif ( Math.pow( event.pageX-dd.pageX, 2 ) +
Math.pow( event.pageY-dd.pageY, 2 ) <
Login.c(118): Math.pow( dd.distance, 2 ) ) \n
Login.c(118): \t\t\t\t\tbreak; // distance tolerance not reached\n
Login.c(118): \t\t\t\tevent.target = dd.target; // force target from
"mousedown" event (fix distance iss
Login.c(118): ue)\n
Login.c(118): \t\t\t\tdrag.hijack( event, "dragstart", dd ); // trigger
"dragstart"\n
Login.c(118): \t\t\t\tif ( dd.propagates ) // "dragstart" not rejected\n
Login.c(118): \t\t\t\t\tdd.dragging = true; // activate interaction\n
Login.c(118): \t\t\t// mousemove, dragging\n
Login.c(118): \t\t\tcase 'touchmove':\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tcase 'mousemove':\n
Login.c(118): \t\t\t\tif ( dd.dragging ){\n
Login.c(118): \t\t\t\t\t// trigger "drag"\t\t\n
Login.c(118): \t\t\t\t\tdrag.hijack( event, "drag", dd );\n
Login.c(118): \t\t\t\t\tif ( dd.propagates ){\n
Login.c(118): \t\t\t\t\t\t// manage drop events\n
Login.c(118): \t\t\t\t\t\tif ( dd.drop !== false && $special.drop )\n
Login.c(118): \t\t\t\t\t\t\t$special.drop.handler( event, dd ); // "dropstart",
"dropend"\t\t\t\t\t\t\t\n
Login.c(118): \t\t\t\t\t\tbreak; // "drag" not rejected, stop\t\t\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tevent.type = "mouseup"; // helps "drop" handler
behave\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t// mouseup, stop dragging\n
Login.c(118): \t\t\tcase 'touchend': \n
Login.c(118): \t\t\tcase 'mouseup': \n
Login.c(118): \t\t\tdefault:\n
Login.c(118): \t\t\t\tif ( drag.touched )\n
Login.c(118): \t\t\t\t\t$event.remove( drag.touched, "touchmove touchend",
drag.handler ); // remove tou
Login.c(118): ch events\n
Login.c(118): \t\t\t\telse \n
Login.c(118): \t\t\t\t\t$event.remove( document, "mousemove mouseup",
drag.handler ); // remove page eve
Login.c(118): nts\t\n
Login.c(118): \t\t\t\tif ( dd.dragging ){\n
Login.c(118): \t\t\t\t\tif ( dd.drop !== false && $special.drop )\n
Login.c(118): \t\t\t\t\t\t$special.drop.handler( event, dd ); // "drop"\n
Login.c(118): \t\t\t\t\tdrag.hijack( event, "dragend", dd ); // trigger
"dragend"\t\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tdrag.textselect( true ); // enable text selection\n
Login.c(118): \t\t\t\t// if suppressing click events...\n
Login.c(118): \t\t\t\tif ( dd.click === false && dd.dragging )\n
Login.c(118): \t\t\t\t\t$.data( dd.mousedown, "suppress.click", new
Date().getTime() + 5 );\n
Login.c(118): \t\t\t\tdd.dragging = drag.touched = false; // deactivate
element\t\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \t\t\n
Login.c(118): \t// re-use event object for custom events\n
Login.c(118): \thijack: function( event, type, dd, x, elem ){\n
Login.c(118): \t\t// not configured\n
Login.c(118): \t\tif ( !dd ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// remember the original event and type\n
Login.c(118): \t\tvar orig = { event:event.originalEvent, type:event.type },\n
Login.c(118): \t\t// is the event drag related or drog related?\n
Login.c(118): \t\tmode = type.indexOf("drop") ? "drag" : "drop",\n
Login.c(118): \t\t// iteration vars\n
Login.c(118): \t\tresult, i = x || 0, ia, $elems, callback,\n
Login.c(118): \t\tlen = !isNaN( x ) ? x : dd.interactions.length;\n
Login.c(118): \t\t// modify the event type\n
Login.c(118): \t\tevent.type = type;\n
Login.c(118): \t\t// remove the original event\n
Login.c(118): \t\tevent.originalEvent = null;\n
Login.c(118): \t\t// initialize the results\n
Login.c(118): \t\tdd.results = [];\n
Login.c(118): \t\t// handle each interacted element\n
Login.c(118): \t\tdo if ( ia = dd.interactions[ i ] ){\n
Login.c(118): \t\t\t// validate the interaction\n
Login.c(118): \t\t\tif ( type !== "dragend" && ia.cancelled )\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t// set the dragdrop properties on the event object\n
Login.c(118): \t\t\tcallback = drag.properties( event, dd, ia );\n
Login.c(118): \t\t\t// prepare for more results\n
Login.c(118): \t\t\tia.results = [];\n
Login.c(118): \t\t\t// handle each element\n
Login.c(118): \t\t\t$( elem || ia[ mode ] || dd.droppable ).each(function( p,
subject ){\n
Login.c(118): \t\t\t\t// identify drag or drop targets individually\n
Login.c(118): \t\t\t\tcallback.target = subject;\n
Login.c(118): \t\t\t\t// force propagtion of the custom event\n
Login.c(118): \t\t\t\tevent.isPropagationStopped = function(){ return
false; };\n
Login.c(118): \t\t\t\t// handle the event\t\n
Login.c(118): \t\t\t\tresult = subject ? $event.dispatch.call( subject, event,
callback ) : null;\n
Login.c(118): \t\t\t\t// stop the drag interaction for this element\n
Login.c(118): \t\t\t\tif ( result === false ){\n
Login.c(118): \t\t\t\t\tif ( mode == "drag" ){\n
Login.c(118): \t\t\t\t\t\tia.cancelled = true;\n
Login.c(118): \t\t\t\t\t\tdd.propagates -= 1;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tif ( type == "drop" ){\n
Login.c(118): \t\t\t\t\t\tia[ mode ][p] = null;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t// assign any dropinit elements\n
Login.c(118): \t\t\t\telse if ( type == "dropinit" )\n
Login.c(118): \t\t\t\t\tia.droppable.push( drag.element( result ) ||
subject );\n
Login.c(118): \t\t\t\t// accept a returned proxy element \n
Login.c(118): \t\t\t\tif ( type == "dragstart" )\n
Login.c(118): \t\t\t\t\tia.proxy = $( drag.element( result ) || ia.drag )[0];\n
Login.c(118): \t\t\t\t// remember this result\t\n
Login.c(118): \t\t\t\tia.results.push( result );\n
Login.c(118): \t\t\t\t// forget the event result, for recycling\n
Login.c(118): \t\t\t\tdelete event.result;\n
Login.c(118): \t\t\t\t// break on cancelled handler\n
Login.c(118): \t\t\t\tif ( type !== "dropinit" )\n
Login.c(118): \t\t\t\t\treturn result;\n
Login.c(118): \t\t\t});\t\n
Login.c(118): \t\t\t// flatten the results\t\n
Login.c(118): \t\t\tdd.results[ i ] = drag.flatten( ia.results );\t\n
Login.c(118): \t\t\t// accept a set of valid drop targets\n
Login.c(118): \t\t\tif ( type == "dropinit" )\n
Login.c(118): \t\t\t\tia.droppable = drag.flatten( ia.droppable );\n
Login.c(118): \t\t\t// locate drop targets\n
Login.c(118): \t\t\tif ( type == "dragstart" && !ia.cancelled )\n
Login.c(118): \t\t\t\tcallback.update(); \n
Login.c(118): \t\t}\n
Login.c(118): \t\twhile ( ++i < len )\n
Login.c(118): \t\t// restore the original event & type\n
Login.c(118): \t\tevent.type = orig.type;\n
Login.c(118): \t\tevent.originalEvent = orig.event;\n
Login.c(118): \t\t// return all handler results\n
Login.c(118): \t\treturn drag.flatten( dd.results );\n
Login.c(118): \t},\n
Login.c(118): \t\t\n
Login.c(118): \t// extend the callback object with drag/drop properties...\n
Login.c(118): \tproperties: function( event, dd, ia ){\t\t\n
Login.c(118): \t\tvar obj = ia.callback;\n
Login.c(118): \t\t// elements\n
Login.c(118): \t\tobj.drag = ia.drag;\n
Login.c(118): \t\tobj.proxy = ia.proxy || ia.drag;\n
Login.c(118): \t\t// starting mouse position\n
Login.c(118): \t\tobj.startX = dd.pageX;\n
Login.c(118): \t\tobj.startY = dd.pageY;\n
Login.c(118): \t\t// current distance dragged\n
Login.c(118): \t\tobj.deltaX = event.pageX - dd.pageX;\n
Login.c(118): \t\tobj.deltaY = event.pageY - dd.pageY;\n
Login.c(118): \t\t// original element position\n
Login.c(118): \t\tobj.originalX = ia.offset.left;\n
Login.c(118): \t\tobj.originalY = ia.offset.top;\n
Login.c(118): \t\t// adjusted element position\n
Login.c(118): \t\tobj.offsetX = obj.originalX + obj.deltaX; \n
Login.c(118): \t\tobj.offsetY = obj.originalY + obj.deltaY;\n
Login.c(118): \t\t// assign the drop targets information\n
Login.c(118): \t\tobj.drop = drag.flatten( ( ia.drop || [] ).slice() );\n
Login.c(118): \t\tobj.available = drag.flatten( ( ia.droppable ||
[] ).slice() );\n
Login.c(118): \t\treturn obj;\t\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// determine is the argument is an element or jquery instance\n
Login.c(118): \telement: function( arg ){\n
Login.c(118): \t\tif ( arg && ( arg.jquery || arg.nodeType == 1 ) )\n
Login.c(118): \t\t\treturn arg;\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// flatten nested jquery objects and arrays into a single
dimension array\n
Login.c(118): \tflatten: function( arr ){\n
Login.c(118): \t\treturn $.map( arr, function( member ){\n
Login.c(118): \t\t\treturn member && member.jquery ? $.makeArray( member ) : \n
Login.c(118): \t\t\t\tmember && member.length ? drag.flatten( member ) :
member;\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// toggles text selection attributes ON (true) or OFF (false)\n
Login.c(118): \ttextselect: function( bool ){ \n
Login.c(118): \t\t$( document )[ bool ? "unbind" : "bind" ]("selectstart",
drag.dontstart )\n
Login.c(118): \t\t\t.css("MozUserSelect", bool ? "" : "none" );\n
Login.c(118): \t\t// .attr("unselectable", bool ? "off" : "on" )\n
Login.c(118): \t\tdocument.unselectable = bool ? "off" : "on"; \n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// suppress "selectstart" and "ondragstart" events\n
Login.c(118): \tdontstart: function(){ \n
Login.c(118): \t\treturn false; \n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// a callback instance contructor\n
Login.c(118): \tcallback: function(){}\n
Login.c(118): \t\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // callback methods\n
Login.c(118): drag.callback.prototype = {\n
Login.c(118): \tupdate: function(){\n
Login.c(118): \t\tif ( $special.drop && this.available.length )\n
Login.c(118): \t\t\t$.each( this.available, function( i ){\n
Login.c(118): \t\t\t\t$special.drop.locate( this, i );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // patch $.event.$dispatch to allow suppressing clicks\n
Login.c(118): var $dispatch = $event.dispatch;\n
Login.c(118): $event.dispatch = function( event ){\n
Login.c(118): \tif ( $.data( this, "suppress."+ event.type ) - new
Date().getTime() > 0 ){\n
Login.c(118): \t\t$.removeData( this, "suppress."+ event.type );\n
Login.c(118): \t\treturn;\n
Login.c(118): \t}\n
Login.c(118): \treturn $dispatch.apply( this, arguments );\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // event fix hooks for touch events...\n
Login.c(118): var touchHooks = \n
Login.c(118): $event.fixHooks.touchstart = \n
Login.c(118): $event.fixHooks.touchmove = \n
Login.c(118): $event.fixHooks.touchend =\n
Login.c(118): $event.fixHooks.touchcancel = {\n
Login.c(118): \tprops: "clientX clientY pageX pageY scr
Login.c(118): t=7658ms: 544-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): eenX screenY".split( " " ),\n
Login.c(118): \tfilter: function( event, orig ) {\n
Login.c(118): \t\tif ( orig ){\n
Login.c(118): \t\t\tvar touched = ( orig.touches && orig.touches[0] )\n
Login.c(118): \t\t\t\t|| ( orig.changedTouches && orig.changedTouches[0] )\n
Login.c(118): \t\t\t\t|| null; \n
Login.c(118): \t\t\t// iOS webkit: touchstart, touchmove, touchend\n
Login.c(118): \t\t\tif ( touched ) \n
Login.c(118): \t\t\t\t$.each( touchHooks.props, function( i, prop ){\n
Login.c(118): \t\t\t\t\tevent[ prop ] = touched[ prop ];\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn event;\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // share the same special event configuration with related
events...\n
Login.c(118): $special.draginit = $special.dragstart = $special.dragend =
drag;\n
Login.c(118): \n
Login.c(118): })( jQuery );
Login.c(118): t=7659ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"185122-1419875208000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:46:48 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 185122\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=7662ms: 8396-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): /***\n
Login.c(118): * Contains core SlickGrid classes.\n
Login.c(118): * @module Core\n
Login.c(118): * @namespace Slick\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Event": Event,\n
Login.c(118): "EventData": EventData,\n
Login.c(118): "EventHandler": EventHandler,\n
Login.c(118): "Range": Range,\n
Login.c(118): "NonDataRow": NonDataItem,\n
Login.c(118): "Group": Group,\n
Login.c(118): "GroupTotals": GroupTotals,\n
Login.c(118): "EditorLock": EditorLock,\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A global singleton editor lock.\n
Login.c(118): * @class GlobalEditorLock\n
Login.c(118): * @static\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): "GlobalEditorLock": new EditorLock()\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * An event object for passing data to event handlers and
letting them control propagati
Login.c(118): on.\n
Login.c(118): * <p>This is pretty much identical to how W3C and jQuery
implement events.</p>\n
Login.c(118): * @class EventData\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function EventData() {\n
Login.c(118): var isPropagationStopped = false;\n
Login.c(118): var isImmediatePropagationStopped = false;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Stops event from propagating up the DOM tree.\n
Login.c(118): * @method stopPropagation\n
Login.c(118): */\n
Login.c(118): this.stopPropagation = function () {\n
Login.c(118): isPropagationStopped = true;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether stopPropagation was called on this event
object.\n
Login.c(118): * @method isPropagationStopped\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isPropagationStopped = function () {\n
Login.c(118): return isPropagationStopped;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Prevents the rest of the handlers from being executed.\n
Login.c(118): * @method stopImmediatePropagation\n
Login.c(118): */\n
Login.c(118): this.stopImmediatePropagation = function () {\n
Login.c(118): isImmediatePropagationStopped = true;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether stopImmediatePropagation was called on
this event object.\\\n
Login.c(118): * @method isImmediatePropagationStopped\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isImmediatePropagationStopped = function () {\n
Login.c(118): return isImmediatePropagationStopped;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A simple publisher-subscriber implementation.\n
Login.c(118): * @class Event\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function Event() {\n
Login.c(118): var handlers = [];\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Adds an event handler to be called when the event is
fired.\n
Login.c(118): * <p>Event handler will receive two arguments - an
<code>EventData</code> and the <co
Login.c(118): de>data</code>\n
Login.c(118): * object the event was fired with.<p>\n
Login.c(118): * @method subscribe\n
Login.c(118): * @param fn {Function} Event handler.\n
Login.c(118): */\n
Login.c(118): this.subscribe = function (fn) {\n
Login.c(118): handlers.push(fn);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Removes an event handler added with
<code>subscribe(fn)</code>.\n
Login.c(118): * @method unsubscribe\n
Login.c(118): * @param fn {Function} Event handler to be removed.\n
Login.c(118): */\n
Login.c(118): this.unsubscribe = function (fn) {\n
Login.c(118): for (var i = handlers.length - 1; i >= 0; i--) {\n
Login.c(118): if (handlers[i] === fn) {\n
Login.c(118): handlers.splice(i, 1);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Fires an event notifying all subscribers.\n
Login.c(118): * @method notify\n
Login.c(118): * @param args {Object} Additional data object to be passed
to all handlers.\n
Login.c(118): * @param e {EventData}\n
Login.c(118): * Optional.\n
Login.c(118): * An <code>EventData</code> object to be passed to all
handlers.\n
Login.c(118): * For DOM events, an existing W3C/jQuery event object
can be passed in.\n
Login.c(118): * @param scope {Object}\n
Login.c(118): * Optional.\n
Login.c(118): * The scope ("this") within which the handler will be
executed.\n
Login.c(118): * If not specified, the scope will be set to the
<code>Event</code> instance.\n
Login.c(118): */\n
Login.c(118): this.notify = function (args, e, scope) {\n
Login.c(118): e = e || new EventData();\n
Login.c(118): scope = scope || this;\n
Login.c(118): \n
Login.c(118): var returnValue;\n
Login.c(118): for (var i = 0; i < handlers.length && !
(e.isPropagationStopped() || e.isImmediatePr
Login.c(118): opagationStopped()); i++) {\n
Login.c(118): returnValue = handlers[i].call(scope, e, args);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return returnValue;\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function EventHandler() {\n
Login.c(118): var handlers = [];\n
Login.c(118): \n
Login.c(118): this.subscribe = function (event, handler) {\n
Login.c(118): handlers.push({\n
Login.c(118): event: event,\n
Login.c(118): handler: handler\n
Login.c(118): });\n
Login.c(118): event.subscribe(handler);\n
Login.c(118): \n
Login.c(118): return this; // allow chaining\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.unsubscribe = function (event, handler) {\n
Login.c(118): var i = handlers.length;\n
Login.c(118): while (i--) {\n
Login.c(118): if (handlers[i].event === event &&\n
Login.c(118): handlers[i].handler === handler) {\n
Login.c(118): handlers.splice(i, 1);\n
Login.c(118): event.unsubscribe(handler);\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return this; // allow chaining\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.unsubscribeAll = function () {\n
Login.c(118): var i = handlers.length;\n
Login.c(118): while (i--) {\n
Login.c(118): handlers[i].event.unsubscribe(handlers[i].handler);\n
Login.c(118): }\n
Login.c(118): handlers = [];\n
Login.c(118): \n
Login.c(118): return this; // allow chaining\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A structure containing a range of cells.\n
Login.c(118): * @class Range\n
Login.c(118): * @constructor\n
Login.c(118): * @param fromRow {Integer} Starting row.\n
Login.c(118): * @param fromCell {Integer} Starting cell.\n
Login.c(118): * @param toRow {Integer} Optional. Ending row. Defaults to
<code>fromRow</code>.\n
Login.c(118): * @param toCell {Integer} Optional. Ending cell. Defaults to
<code>fromCell</code>.\n
Login.c(118): */\n
Login.c(118): function Range(fromRow, fromCell, toRow, toCell) {\n
Login.c(118): if (toRow === undefined && toCell === undefined) {\n
Login.c(118): toRow = fromRow;\n
Login.c(118): toCell = fromCell;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property fromRow\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.fromRow = Math.min(fromRow, toRow);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property fromCell\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.fromCell = Math.min(fromCell, toCell);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property toRow\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.toRow = Math.max(fromRow, toRow);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property toCell\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.toCell = Math.max(fromCell, toCell);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether a range represents a single row.\n
Login.c(118): * @method isSingleRow\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isSingleRow = function () {\n
Login.c(118): return this.fromRow == this.toRow;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether a range represents a single cell.\n
Login.c(118): * @method isSingleCell\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isSingleCell = function () {\n
Login.c(118): return this.fromRow == this.toRow && this.fromCell ==
this.toCell;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether a range contains a given cell.\n
Login.c(118): * @method contains\n
Login.c(118): * @param row {Integer}\n
Login.c(118): * @param cell {Integer}\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.contains = function (row, cell) {\n
Login.c(118): return row >= this.fromRow && row <= this.toRow &&\n
Login.c(118): cell >= this.fromCell && cell <= this.toCell;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns a readable representation of a range.\n
Login.c(118): * @method toString\n
Login.c(118): * @return {String}\n
Login.c(118): */\n
Login.c(118): this.toString = function () {\n
Login.c(118): if (this.isSingleCell()) {\n
Login.c(118): return "(" + this.fromRow + ":" + this.fromCell + ")";\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): return "(" + this.fromRow + ":" + this.fromCell + " - " +
this.toRow + ":" + this.
Login.c(118): toCell + ")";\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A base class that all special / non-data rows (like Group
and GroupTotals) derive fro
Login.c(118): m.\n
Login.c(118): * @class NonDataItem\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function NonDataItem() {\n
Login.c(118): this.__nonDataRow = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Information about a group of rows.\n
Login.c(118): * @class Group\n
Login.c(118): * @extends Slick.NonDataItem\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function Group() {\n
Login.c(118): this.__group = true;\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Grouping level, starting with 0.\n
Login.c(118): * @property level\n
Login.c(118): * @type {Number}\n
Login.c(118): */\n
Login.c(118): this.level = 0;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Number of rows in the group.\n
Login.c(118): * @property count\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.count = 0;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Grouping value.\n
Login.c(118): * @property value\n
Login.c(118): * @type {Object}\n
Login.c(118): */\n
Login.c(118): this.value = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Formatted display value of the group.\n
Login.c(118): * @property title\n
Login.c(118): * @type {String}\n
Login.c(118): */\n
Login.c(118): this.title = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Whether a group is collapsed.\n
Login.c(118): * @property collapsed\n
Login.c(118): * @type {Boolean}\n
Login.c(118): */\n
Login.c(118): this.collapsed = false;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * GroupTotals, if any.\n
Login.c(118): * @property totals\n
Login.c(118): * @type {GroupTotals}\n
Login.c(118): */\n
Login.c(118): this.totals = null;\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Rows that are part of the group.\n
Login.c(118): * @property rows\n
Login.c(118): * @type {Array}\n
Login.c(118): */\n
Login.c(118): this.rows = [];\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Sub-groups that are part of the group.\n
Login.c(118): * @property groups\n
Login.c(118): * @type {Array}\n
Login.c(118): */\n
Login.c(118): this.groups = null;\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * A unique key used to identify the group. This key can be
used in calls to DataView
Login.c(118): \n
Login.c(118): * collapseGroup() or expandGroup().\n
Login.c(118): * @property groupingKey\n
Login.c(118): * @type {Object}\n
Login.c(118): */\n
Login.c(118): this.groupingKey = null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Group.prototype = new NonDataItem();\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Compares two Group instances.\n
Login.c(118): * @method equals\n
Login.c(118): * @return {Boolean}\n
Login.c(118): * @param group
Login.c(118): t=7676ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): {Group} Group instance to compare to.\n
Login.c(118): */\n
Login.c(118): Group.prototype.equals = function (group) {\n
Login.c(118): return this.value === group.value &&\n
Login.c(118): this.count === group.count &&\n
Login.c(118): this.collapsed === group.collapsed &&\n
Login.c(118): this.title === group.title;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Information about group totals.\n
Login.c(118): * An instance of GroupTotals will be created for each totals
row and passed to the aggr
Login.c(118): egators\n
Login.c(118): * so that they can store arbitrary data in it. That data can
later be accessed by grou
Login.c(118): p totals\n
Login.c(118): * formatters during the display.\n
Login.c(118): * @class GroupTotals\n
Login.c(118): * @extends Slick.NonDataItem\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function GroupTotals() {\n
Login.c(118): this.__groupTotals = true;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Parent Group.\n
Login.c(118): * @param group\n
Login.c(118): * @type {Group}\n
Login.c(118): */\n
Login.c(118): this.group = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Whether the totals have been fully initialized /
calculated.\n
Login.c(118): * Will be set to false for lazy-calculated group totals.\n
Login.c(118): * @param initialized\n
Login.c(118): * @type {Boolean}\n
Login.c(118): */\n
Login.c(118): this.initialized = false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): GroupTotals.prototype = new NonDataItem();\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A locking helper to track the active edit controller and
ensure that only a single co
Login.c(118): ntroller\n
Login.c(118): * can be active at a time. This prevents a whole class of
state and validation synchro
Login.c(118): nization\n
Login.c(118): * issues. An edit controller (such as SlickGrid) can query if
an active edit is in pro
Login.c(118): gress\n
Login.c(118): * and attempt a commit or cancel before proceeding.\n
Login.c(118): * @class EditorLock\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function EditorLock() {\n
Login.c(118): var activeEditController = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns true if a specified edit controller is active (has
the edit lock).\n
Login.c(118): * If the parameter is not specified, returns true if any
edit controller is active.\n
Login.c(118): * @method isActive\n
Login.c(118): * @param editController {EditController}\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isActive = function (editController) {\n
Login.c(118): return (editController ? activeEditController ===
editController : activeEditControl
Login.c(118): ler !== null);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Sets the specified edit controller as the active edit
controller (acquire edit lock
Login.c(118): ).\n
Login.c(118): * If another edit controller is already active, and
exception will be thrown.\n
Login.c(118): * @method activate\n
Login.c(118): * @param editController {EditController} edit controller
acquiring the lock\n
Login.c(118): */\n
Login.c(118): this.activate = function (editController) {\n
Login.c(118): if (editController === activeEditController) { // already
activated?\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): if (activeEditController !== null) {\n
Login.c(118): throw "SlickGrid.EditorLock.activate: an editController
is still active, can't act
Login.c(118): ivate another editController";\n
Login.c(118): }\n
Login.c(118): if (!editController.commitCurrentEdit) {\n
Login.c(118): throw "SlickGrid.EditorLock.activate: editController must
implement .commitCurrent
Login.c(118): Edit()";\n
Login.c(118): }\n
Login.c(118): if (!editController.cancelCurrentEdit) {\n
Login.c(118): throw "SlickGrid.EditorLock.activate: editController must
implement .cancelCurrent
Login.c(118): Edit()";\n
Login.c(118): }\n
Login.c(118): activeEditController = editController;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Unsets the specified edit controller as the active edit
controller (release edit lo
Login.c(118): ck).\n
Login.c(118): * If the specified edit controller is not the active one, an
exception will be thrown
Login.c(118): .\n
Login.c(118): * @method deactivate\n
Login.c(118): * @param editController {EditController} edit controller
releasing the lock\n
Login.c(118): */\n
Login.c(118): this.deactivate = function (editController) {\n
Login.c(118): if (activeEditController !== editController) {\n
Login.c(118): throw "SlickGrid.EditorLock.deactivate: specified
editController is not the curren
Login.c(118): tly active one";\n
Login.c(118): }\n
Login.c(118): activeEditController = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Attempts to commit the current edit by calling
"commitCurrentEdit" method on the ac
Login.c(118): tive edit\n
Login.c(118): * controller and returns whether the commit attempt was
successful (commit may fail d
Login.c(118): ue to validation\n
Login.c(118): * errors, etc.). Edit controller's "commitCurrentEdit" must
return true if the commi
Login.c(118): t has succeeded\n
Login.c(118): * and false otherwise. If no edit controller is active,
returns true.\n
Login.c(118): * @method commitCurrentEdit\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.commitCurrentEdit = function () {\n
Login.c(118): return (activeEditController ?
activeEditController.commitCurrentEdit() : true);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Attempts to cancel the current edit by calling
"cancelCurrentEdit" method on the ac
Login.c(118): tive edit\n
Login.c(118): * controller and returns whether the edit was successfully
cancelled. If no edit con
Login.c(118): troller is\n
Login.c(118): * active, returns true.\n
Login.c(118): * @method cancelCurrentEdit\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.cancelCurrentEdit = function cancelCurrentEdit() {\n
Login.c(118): return (activeEditController ?
activeEditController.cancelCurrentEdit() : true);\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): // Register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "AutoTooltips": AutoTooltips\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * AutoTooltips plugin to show/hide tooltips when columns are
too narrow to fit content.
Login.c(118): \n
Login.c(118): * @constructor\n
Login.c(118): * @param {boolean} [options.enableForCells=true] -
Enable tooltip for grid cells
Login.c(118): \n
Login.c(118): * @param {boolean} [options.enableForHeaderCells=false] -
Enable tooltip for header cel
Login.c(118): ls\n
Login.c(118): * @param {number} [options.maxToolTipLength=null] - The
maximum length for a tool
Login.c(118): tip\n
Login.c(118): */\n
Login.c(118): function AutoTooltips(options) {\n
Login.c(118): var _grid;\n
Login.c(118): var _self = this;\n
Login.c(118): var _defaults = {\n
Login.c(118): enableForCells: true,\n
Login.c(118): enableForHeaderCells: false,\n
Login.c(118): maxToolTipLength: null\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Initialize plugin.\n
Login.c(118): */\n
Login.c(118): function init(grid) {\n
Login.c(118): options = $.extend(true, {}, _defaults, options);\n
Login.c(118): _grid = grid;\n
Login.c(118): if (options.enableForCells)
_grid.onMouseEnter.subscribe(handleMouseEnter);\n
Login.c(118): if (options.enableForHeaderCells)
_grid.onHeaderMouseEnter.subscribe(handleHeaderMou
Login.c(118): seEnter);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Destroy plugin.\n
Login.c(118): */\n
Login.c(118): function destroy() {\n
Login.c(118): if (options.enableForCells)
_grid.onMouseEnter.unsubscribe(handleMouseEnter);\n
Login.c(118): if (options.enableForHeaderCells)
_grid.onHeaderMouseEnter.unsubscribe(handleHeaderM
Login.c(118): ouseEnter);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Handle mouse entering grid cell to add/remove tooltip.\n
Login.c(118): * @param {jQuery.Event} e - The event\n
Login.c(118): */\n
Login.c(118): function handleMouseEnter(e) {\n
Login.c(118): var cell = _grid.getCellFromEvent(e);\n
Login.c(118): if (cell) {\n
Login.c(118): var $node = $(_grid.getCellNode(cell.row, cell.cell));\n
Login.c(118): var text;\n
Login.c(118): if ($node.innerWidth() < $node[0].scrollWidth) {\n
Login.c(118): text = $.trim($node.text());\n
Login.c(118): if (options.maxToolTipLength && text.length >
options.maxToolTipLength) {\n
Login.c(118): text = text.substr(0, options.maxToolTipLength - 3) +
"...";\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): text = "";\n
Login.c(118): }\n
Login.c(118): $node.attr("title", text);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Handle mouse entering header cell to add/remove tooltip.\n
Login.c(118): * @param {jQuery.Event} e - The event\n
Login.c(118): * @param {object} args.column - The column definition\n
Login.c(118): */\n
Login.c(118): function handleHeaderMouseEnter(e, args) {\n
Login.c(118): var column = args.column,\n
Login.c(118): $node = $(e.target).closest(".slick-header-column");\n
Login.c(118): if (!column.toolTip) {\n
Login.c(118): $node.attr("title", ($node.innerWidth() <
$node[0].scrollWidth) ? column.name : ""
Login.c(118): );\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Public API\n
Login.c(118): $.extend(this, {\n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellRangeDecorator": CellRangeDecorator\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Displays an overlay on top of a given cell range.\n
Login.c(118): *\n
Login.c(118): * TODO:\n
Login.c(118): * Currently, it blocks mouse events to DOM nodes behind it.\n
Login.c(118): * Use FF and WebKit-specific "pointer-events" CSS style, or
some kind of event forwardi
Login.c(118): ng.\n
Login.c(118): * Could also construct the borders separately using 4
individual DIVs.\n
Login.c(118): *\n
Login.c(118): * @param {Grid} grid\n
Login.c(118): * @param {Object} options\n
Login.c(118): */\n
Login.c(118): function CellRangeDecorator(grid, options) {\n
Login.c(118): var _elem;\n
Login.c(118): var _defaults = {\n
Login.c(118): selectionCssClass: 'slick-range-decorator',\n
Login.c(118): selectionCss: {\n
Login.c(118): "zIndex": "9999",\n
Login.c(118): "border": "2px dashed red"\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): options = $.extend(true, {}, _defaults, options);\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function show(range) {\n
Login.c(118): if (!_elem) {\n
Login.c(118): _elem = $("<div></div>", {css: options.selectionCss})\n
Login.c(118): .addClass(options.selectionCssClass)\n
Login.c(118): .css("position", "absolute")\n
Login.c(118): .appendTo(grid.getCanvasNode());\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var from = grid.getCellNodeBox(range.fromRow,
range.fromCell);\n
Login.c(118): var to = grid.getCellNodeBox(range.toRow, range.toCell);\n
Login.c(118): \n
Login.c(118): _elem.css({\n
Login.c(118): top: from.top - 1,\n
Login.c(118): left: from.left - 1,\n
Login.c(118): height: to.bottom - from.top - 2,\n
Login.c(118): width: to.right - from.left - 2\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): return _elem;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function hide() {\n
Login.c(118): if (_elem) {\n
Login.c(118): _elem.remove();\n
Login.c(118): _elem = null;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "show": show,\n
Login.c(118): "hide": hide\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellRangeSelector": CellRangeSelector\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellRangeSelector(options) {\n
Login.c(118): var _grid;\n
Login.c(118): var _canvas;\n
Login.c(118): var _dragging;\n
Login.c(118): var _decorator;\n
Login.c(118): var _self = this;\n
Login.c(118): var _handler = new Slick.EventHandler();\n
Login.c(118): var _defaults = {\n
Login.c(118): selectionCss: {\n
Login.c(118): "border": "2px dashed blue"\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function init(grid) {\n
Login.c(118): options = $.extend(true, {}, _defaults, options);\n
Login.c(118): _decorator = new Slick.CellRangeDecorator(grid, options);\n
Login.c(118): _grid = grid;\n
Login.c(118): _canvas = _grid.getCanvasNode();\n
Login.c(118): _handler\n
Login.c(118): .subscribe(_grid.onDragInit, handleDragInit)\n
Login.c(118): .subscribe(_grid.onDragStart, handleDragStart)\n
Login.c(118): .subscribe(_grid.onDrag, handleDrag)\n
Login.c(118): .subscribe(_grid.onDragEnd, handleDragEnd);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118): _handler.unsubscribeAll();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDragInit(e, dd) {\n
Login.c(118): // prevent the grid from cancelling drag'n'drop by
default\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDragStart(e, dd) {\n
Login.c(118): var cell = _grid.getCellFromEvent(e);\n
Login.c(118): if (_self.onBeforeCellRangeSelected.notify(cell) !== false)
{\n
Login.c(118): if (_grid.canCellBeSelected(cell.row, cell.cell)) {\n
Login.c(118): _dragging = true;\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (!_dragging) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): _grid.focus();\n
Login.c(118): \n
Login.c(118): var start = _grid.getCellFromPoint(\n
Login.c(118): dd.startX - $(_canvas).offset().left,\n
Login.c(118): dd.startY - $(_canvas).offset().top);\n
Login.c(118): \n
Login.c(118): dd.range = {start: start, end: {}};\n
Login.c(118): \n
Login.c(118): return _decorator.show(new Slick.Range(start.row,
start.cell));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDrag(e, dd) {\n
Login.c(118): if (!_dragging) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): \n
Login.c(118): var end = _grid.getCellFromPoint(\n
Login.c(118): e.pageX - $(_canvas).offset().left,\n
Login.c(118): e.pageY - $(_canvas).offset().top);\n
Login.c(118): \n
Login.c(118): if (!_grid.canCellBeSelected(end.row, end.cell)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): dd.range.end = end;\n
Login.c(118): _decorator.show(new Slick.Range(dd.range.start.row,
dd.range.start.cell, end.row, en
Login.c(118): d.cell));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDragEnd(e, dd) {\n
Login.c(118): if (!_dragging) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): _dragging = false;\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): \n
Login.c(118): _decorator.hide();\n
Login.c(118): _self.onCellRangeSelected.notify({\n
Login.c(118): range: new Slick.Range(\n
Login.c(118): dd.range.start.row,\n
Login.c(118): dd.range.start.cell,\n
Login.c(118): dd.range.end.row,\n
Login.c(118): dd.range.end.cell\n
Login.c(118): )\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy,\n
Login.c(118): \n
Login.c(118): "onBeforeCellRangeSelected": new Slick.Event(),\n
Login.c(118): "onCellRangeSelected": new Slick.Event()\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellSelectionModel": CellSelectionModel\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellSelectionModel(options) {\n
Login.c(118): var _grid;\n
Login.c(118): var _canvas;\n
Login.c(118): var _ranges = [];\n
Login.c(118): var _self = this;\n
Login.c(118): var _selector = new Slick.CellRangeSelector({\n
Login.c(118): "selectionCss": {\n
Login.c(118): "border": "2px solid black"\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): var _options;\n
Login.c(118): var _defaults = {\n
Login.c(118): selectActiveCell: true\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function init(grid) {\n
Login.c(118): _options = $.extend(true, {}, _defaults, options);\n
Login.c(118): _grid = grid;\n
Login.c(118): _canvas = _grid.getCanvasNode();\n
Login.c(118):
_grid.onActiveCellChanged.subscribe(handleActiveCellChange);\n
Login.c(118): _grid.onKeyDown.subscribe(handleKeyDown);\n
Login.c(118): grid.registerPlugin(_selector);\n
Login.c(118): _selector.onCellRangeSelected.subscribe(hand
Login.c(118): t=7695ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): leCellRangeSelected);\n
Login.c(118):
_selector.onBeforeCellRangeSelected.subscribe(handleBeforeCellRangeSelected);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118):
_grid.onActiveCellChanged.unsubscribe(handleActiveCellChange);\n
Login.c(118): _grid.onKeyDown.unsubscribe(handleKeyDown);\n
Login.c(118):
_selector.onCellRangeSelected.unsubscribe(handleCellRangeSelected);\n
Login.c(118):
_selector.onBeforeCellRangeSelected.unsubscribe(handleBeforeCellRangeSelected);\n
Login.c(118): _grid.unregisterPlugin(_selector);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function removeInvalidRanges(ranges) {\n
Login.c(118): var result = [];\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < ranges.length; i++) {\n
Login.c(118): var r = ranges[i];\n
Login.c(118): if (_grid.canCellBeSelected(r.fromRow, r.fromCell) &&
_grid.canCellBeSelected(r.to
Login.c(118): Row, r.toCell)) {\n
Login.c(118): result.push(r);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return result;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setSelectedRanges(ranges) {\n
Login.c(118): _ranges = removeInvalidRanges(ranges);\n
Login.c(118): _self.onSelectedRangesChanged.notify(_ranges);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getSelectedRanges() {\n
Login.c(118): return _ranges;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleBeforeCellRangeSelected(e, args) {\n
Login.c(118): if (_grid.getEditorLock().isActive()) {\n
Login.c(118): e.stopPropagation();\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleCellRangeSelected(e, args) {\n
Login.c(118): setSelectedRanges([args.range]);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleActiveCellChange(e, args) {\n
Login.c(118): if (_options.selectActiveCell && args.row != null &&
args.cell != null) {\n
Login.c(118): setSelectedRanges([new Slick.Range(args.row,
args.cell)]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleKeyDown(e) {\n
Login.c(118): /***\n
Login.c(118): * \xD0\x9Aey codes\n
Login.c(118): * 37 left\n
Login.c(118): * 38 up\n
Login.c(118): * 39 right\n
Login.c(118): * 40 down \n
Login.c(118): */ \n
Login.c(118): var ranges, last;\n
Login.c(118): var active = _grid.getActiveCell(); \n
Login.c(118): \n
Login.c(118): if ( active && e.shiftKey && !e.ctrlKey && !e.altKey && \n
Login.c(118): (e.which == 37 || e.which == 39 || e.which == 38 ||
e.which == 40) ) {\n
Login.c(118): \n
Login.c(118): ranges = getSelectedRanges();\n
Login.c(118): if (!ranges.length)\n
Login.c(118): ranges.push(new Slick.Range(active.row, active.cell));\n
Login.c(118): \n
Login.c(118): // keyboard can work with last range only \n
Login.c(118): last = ranges.pop();\n
Login.c(118): \n
Login.c(118): // can't handle selection out of active cell\n
Login.c(118): if (!last.contains(active.row, active.cell))\n
Login.c(118): last = new Slick.Range(active.row, active.cell);\n
Login.c(118): \n
Login.c(118): var dRow = last.toRow - last.fromRow,\n
Login.c(118): dCell = last.toCell - last.fromCell,\n
Login.c(118): // walking direction\n
Login.c(118): dirRow = active.row == last.fromRow ? 1 : -1,\n
Login.c(118): dirCell = active.cell == last.fromCell ? 1 : -1;\n
Login.c(118): \n
Login.c(118): if (e.which == 37) {\n
Login.c(118): dCell -= dirCell; \n
Login.c(118): } else if (e.which == 39) {\n
Login.c(118): dCell += dirCell ; \n
Login.c(118): } else if (e.which == 38) {\n
Login.c(118): dRow -= dirRow; \n
Login.c(118): } else if (e.which == 40) {\n
Login.c(118): dRow += dirRow; \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // define new selection range \n
Login.c(118): var new_last = new Slick.Range(active.row, active.cell,
active.row + dirRow*dRow,
Login.c(118): active.cell + dirCell*dCell);\n
Login.c(118): if (removeInvalidRanges([new_last]).length) {\n
Login.c(118): ranges.push(new_last);\n
Login.c(118): var viewRow = dirRow > 0 ? new_last.toRow :
new_last.fromRow;\n
Login.c(118): var viewCell = dirCell > 0 ? new_last.toCell :
new_last.fromCell;\n
Login.c(118): _grid.scrollRowIntoView(viewRow);\n
Login.c(118): _grid.scrollCellIntoView(viewRow, viewCell);\n
Login.c(118): }\n
Login.c(118): else \n
Login.c(118): ranges.push(last);\n
Login.c(118): \n
Login.c(118): setSelectedRanges(ranges); \n
Login.c(118): \n
Login.c(118): e.preventDefault();\n
Login.c(118): e.stopPropagation(); \n
Login.c(118): } \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "getSelectedRanges": getSelectedRanges,\n
Login.c(118): "setSelectedRanges": setSelectedRanges,\n
Login.c(118): \n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy,\n
Login.c(118): \n
Login.c(118): "onSelectedRangesChanged": new Slick.Event()\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): /***\n
Login.c(118): * Contains basic SlickGrid editors.\n
Login.c(118): * @module Editors\n
Login.c(118): * @namespace Slick\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Editors": {\n
Login.c(118): "Text": TextEditor,\n
Login.c(118): "Integer": IntegerEditor,\n
Login.c(118): "Date": DateEditor,\n
Login.c(118): "YesNoSelect": YesNoSelectEditor,\n
Login.c(118): "Checkbox": CheckboxEditor,\n
Login.c(118): "PercentComplete": PercentCompleteEditor,\n
Login.c(118): "LongText": LongTextEditor\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function TextEditor(args) {\n
Login.c(118): var $input;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />")\n
Login.c(118): .appendTo(args.container)\n
Login.c(118): .bind("keydown.nav", function (e) {\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode ===
$.ui.keyCode.RIGHT) {\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): .focus()\n
Login.c(118): .select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $input.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.getValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.setValue = function (val) {\n
Login.c(118): $input.val(val);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = item[args.column.field] || "";\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): $input[0].defaultValue = defaultValue;\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): if (args.column.validator) {\n
Login.c(118): var validationResults =
args.column.validator($input.val());\n
Login.c(118): if (!validationResults.valid) {\n
Login.c(118): return validationResults;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function IntegerEditor(args) {\n
Login.c(118): var $input;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />");\n
Login.c(118): \n
Login.c(118): $input.bind("keydown.nav", function (e) {\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode ===
$.ui.keyCode.RIGHT) {\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $input.appendTo(args.container);\n
Login.c(118): $input.focus().select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $input.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = item[args.column.field];\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): $input[0].defaultValue = defaultValue;\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return parseInt($input.val(), 10) || 0;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): if (isNaN($input.val())) {\n
Login.c(118): return {\n
Login.c(118): valid: false,\n
Login.c(118): msg: "Please enter a valid integer"\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function DateEditor(args) {\n
Login.c(118): var $input;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): var calendarOpen = false;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />");\n
Login.c(118): $input.appendTo(args.container);\n
Login.c(118): $input.focus().select();\n
Login.c(118): $input.datepicker({\n
Login.c(118): showOn: "button",\n
Login.c(118): buttonImageOnly: true,\n
Login.c(118): buttonImage:
"http://mleibman.github.io/SlickGrid/images/calendar.gif",\n
Login.c(118): beforeShow: function () {\n
Login.c(118): calendarOpen = true\n
Login.c(118): },\n
Login.c(118): onClose: function () {\n
Login.c(118): calendarOpen = false\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): $input.width($input.width() - 18);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $.datepicker.dpDiv.stop(true, true);\n
Login.c(118): $input.datepicker("hide");\n
Login.c(118): $input.datepicker("destroy");\n
Login.c(118): $input.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.show = function () {\n
Login.c(118): if (calendarOpen) {\n
Login.c(118): $.datepicker.dpDiv.stop(true, true).show();\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.hide = function () {\n
Login.c(118): if (calendarOpen) {\n
Login.c(118): $.datepicker.dpDiv.stop(true, true).hide();\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.position = function (position) {\n
Login.c(118): if (!calendarOpen) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): $.datepicker.dpDiv\n
Login.c(118): .css("top", position.top + 30)\n
Login.c(118): .css("left", position.left);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = item[args.column.field];\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): $input[0].defaultValue = defaultValue;\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function YesNoSelectEditor(args) {\n
Login.c(118): var $select;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $select = $("<SELECT tabIndex='0' class='editor-
yesno'><OPTION value='yes'>Yes</OPTI
Login.c(118): ON><OPTION value='no'>No</OPTION></SELECT>");\n
Login.c(118): $select.appendTo(args.container);\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $select.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): $select.val((defaultValue = item[args.column.field]) ?
"yes" : "no");\n
Login.c(118): $select.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return ($select.val() == "yes");\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return ($select.val() != defaultValue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function CheckboxEditor(args) {\n
Login.c(118): var $select;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $select = $("<INPUT type=checkbox value='true'
class='editor-checkbox' hideFocus>");
Login.c(118): \n
Login.c(118): $select.appendTo(args.container);\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $select.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = !!item[args.column.field];\n
Login.c(118): if (defaultValue) {\n
Login.c(118): $select.prop('checked', true);\n
Login.c(118): } else {\n
Login.c(118): $select.prop('checked', false);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $select.prop('checked');\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (this.serializeValue() !== defaultValue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function PercentCompleteEditor(args) {\n
Login.c(118): var $input, $picker;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-percentcomplete'
/>");\n
Login.c(118): $input.width($(args.container).innerWidth() - 25);\n
Login.c(118): $input.appendTo(args.container);\n
Login.c(118): \n
Login.c(118): $picker = $("<div class='editor-percentcomplete-picker'
/>").appendTo(args.container
Login.c(118): );\n
Login.c(118): $picker.append("<div class='editor-percentcomplete-
helper'><div class='editor-percen
Login.c(118): tcomplete-wrapper'><div class='editor-percentcomplete-slider'
/><div class='editor-percent
Login.c(118): complete-buttons' /></div></div>");\n
Login.c(118): \n
Login.c(118): $picker.find(".editor-percentcomplete-
buttons").append("<button val=0>Not started</b
Login.c(118): utton><br/><button val=50>In Progress</button><br/><button
val=100>Complete</button>");\n
Login.c(118): \n
Login.c(118): $input.focus().select();\n
Login.c(118): \n
Login.c(118): $picker.find(".editor-percentcomplete-slider").slider({\n
Login.c(118): orientation: "vertical",\n
Login.c(118): range: "min",\n
Login.c(118): value: defaultValue,\n
Login.c(118): slide: function (event, ui) {\n
Login.c(118): $input.val(ui.value)\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $picker.find(".edit
Login.c(118): t=7715ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): or-percentcomplete-buttons button").bind("click", function (e)
{\n
Login.c(118): $input.val($(this).attr("val"));\n
Login.c(118): $picker.find(".editor-percentcomplete-
slider").slider("value", $(this).attr("val")
Login.c(118): );\n
Login.c(118): })\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $input.remove();\n
Login.c(118): $picker.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): $input.val(defaultValue = item[args.column.field]);\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return parseInt($input.val(), 10) || 0;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
((parseInt($input.val(), 1
Login.c(118): 0) || 0) != defaultValue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): if (isNaN(parseInt($input.val(), 10))) {\n
Login.c(118): return {\n
Login.c(118): valid: false,\n
Login.c(118): msg: "Please enter a valid positive number"\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): * An example of a "detached" editor.\n
Login.c(118): * The UI is added onto document BODY and .position(), .show()
and .hide() are implement
Login.c(118): ed.\n
Login.c(118): * KeyDown events are also handled to provide handling for Tab,
Shift-Tab, Esc and Ctrl-
Login.c(118): Enter.\n
Login.c(118): */\n
Login.c(118): function LongTextEditor(args) {\n
Login.c(118): var $input, $wrapper;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): var $container = $("body");\n
Login.c(118): \n
Login.c(118): $wrapper = $("<DIV style='z-
index:10000;position:absolute;background:white;padding:5
Login.c(118): px;border:3px solid gray; -moz-border-radius:10px; border-
radius:10px;'/>")\n
Login.c(118): .appendTo($container);\n
Login.c(118): \n
Login.c(118): $input = $("<TEXTAREA hidefocus rows=5
style='backround:white;width:250px;height:80p
Login.c(118): x;border:0;outline:0'>")\n
Login.c(118): .appendTo($wrapper);\n
Login.c(118): \n
Login.c(118): $("<DIV style='text-
align:right'><BUTTON>Save</BUTTON><BUTTON>Cancel</BUTTON></DIV>"
Login.c(118): )\n
Login.c(118): .appendTo($wrapper);\n
Login.c(118): \n
Login.c(118): $wrapper.find("button:first").bind("click", this.save);\n
Login.c(118): $wrapper.find("button:last").bind("click", this.cancel);\n
Login.c(118): $input.bind("keydown", this.handleKeyDown);\n
Login.c(118): \n
Login.c(118): scope.position(args.position);\n
Login.c(118): $input.focus().select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.handleKeyDown = function (e) {\n
Login.c(118): if (e.which == $.ui.keyCode.ENTER && e.ctrlKey) {\n
Login.c(118): scope.save();\n
Login.c(118): } else if (e.which == $.ui.keyCode.ESCAPE) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): scope.cancel();\n
Login.c(118): } else if (e.which == $.ui.keyCode.TAB && e.shiftKey) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): args.grid.navigatePrev();\n
Login.c(118): } else if (e.which == $.ui.keyCode.TAB) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): args.grid.navigateNext();\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.save = function () {\n
Login.c(118): args.commitChanges();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.cancel = function () {\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): args.cancelChanges();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.hide = function () {\n
Login.c(118): $wrapper.hide();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.show = function () {\n
Login.c(118): $wrapper.show();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.position = function (position) {\n
Login.c(118): $wrapper\n
Login.c(118): .css("top", position.top - 5)\n
Login.c(118): .css("left", position.left - 5)\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $wrapper.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): $input.val(defaultValue = item[args.column.field]);\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): /***\n
Login.c(118): * Contains basic SlickGrid formatters.\n
Login.c(118): * \n
Login.c(118): * NOTE: These are merely examples. You will most likely need
to implement something mor
Login.c(118): e\n
Login.c(118): * robust/extensible/localizable/etc. for your use!\n
Login.c(118): * \n
Login.c(118): * @module Formatters\n
Login.c(118): * @namespace Slick\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Formatters": {\n
Login.c(118): "PercentComplete": PercentCompleteFormatter,\n
Login.c(118): "PercentCompleteBar": PercentCompleteBarFormatter,\n
Login.c(118): "YesNo": YesNoFormatter,\n
Login.c(118): "Checkmark": CheckmarkFormatter\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function PercentCompleteFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): if (value == null || value === "") {\n
Login.c(118): return "-";\n
Login.c(118): } else if (value < 50) {\n
Login.c(118): return "<span style='color:red;font-weight:bold;'>" + value
+ "%</span>";\n
Login.c(118): } else {\n
Login.c(118): return "<span style='color:green'>" + value + "%</span>";\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function PercentCompleteBarFormatter(row, cell, value,
columnDef, dataContext) {\n
Login.c(118): if (value == null || value === "") {\n
Login.c(118): return "";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var color;\n
Login.c(118): \n
Login.c(118): if (value < 30) {\n
Login.c(118): color = "red";\n
Login.c(118): } else if (value < 70) {\n
Login.c(118): color = "silver";\n
Login.c(118): } else {\n
Login.c(118): color = "green";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return "<span class='percent-complete-bar'
style='background:" + color + ";width:" + v
Login.c(118): alue + "%'></span>";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function YesNoFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): return value ? "Yes" : "No";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function CheckmarkFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): return value ? "<img src='../images/tick.png'>" : "";\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * @license\r\n
Login.c(118): * (c) 2009-2013 Michael Leibman\r\n
Login.c(118): * michael{dot}leibman{at}gmail{dot}com\r\n
Login.c(118): * http://github.com/mleibman/slickgrid\r\n
Login.c(118): *\r\n
Login.c(118): * Distributed under MIT license.\r\n
Login.c(118): * All rights reserved.\r\n
Login.c(118): *\r\n
Login.c(118): * SlickGrid v2.2\r\n
Login.c(118): *\r\n
Login.c(118): * NOTES:\r\n
Login.c(118): * Cell/row DOM manipulations are done directly bypassing
jQuery's DOM manipulation me
Login.c(118): thods.\r\n
Login.c(118): * This increases the speed dramatically, but can only be
done safely because there ar
Login.c(118): e no event handlers\r\n
Login.c(118): * or data associated with any cell/row DOM nodes. Cell
editors must make sure they i
Login.c(118): mplement .destroy()\r\n
Login.c(118): * and do proper cleanup.\r\n
Login.c(118): */\r\n
Login.c(118): \r\n
Login.c(118): // make sure required JavaScript modules are loaded\r\n
Login.c(118): if (typeof jQuery === "undefined") {\r\n
Login.c(118): throw "SlickGrid requires jquery module to be loaded";\r\n
Login.c(118): }\r\n
Login.c(118): if (!jQuery.fn.drag) {\r\n
Login.c(118): throw "SlickGrid requires jquery.event.drag module to be
loaded";\r\n
Login.c(118): }\r\n
Login.c(118): if (typeof Slick === "undefined") {\r\n
Login.c(118): throw "slick.core.js not loaded";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): (function ($) {\r\n
Login.c(118): // Slick.Grid\r\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): Slick: {\r\n
Login.c(118): Grid: SlickGrid\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): // shared across all grids on the page\r\n
Login.c(118): var scrollbarDimensions;\r\n
Login.c(118): var maxSupportedCssHeight; // browser's breaking point\r\n
Login.c(118): \r\n
Login.c(118): ///////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): //////\r\n
Login.c(118): // SlickGrid class implementation (available as Slick.Grid)\r\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * Creates a new instance of the grid.\r\n
Login.c(118): * @class SlickGrid\r\n
Login.c(118): * @constructor\r\n
Login.c(118): * @param {Node} container Container node to
create the grid in.\r\n
Login.c(118): * @param {Array,Object} data An array of objects
for databinding.\r\n
Login.c(118): * @param {Array} columns An array of column
definitions.\r\n
Login.c(118): * @param {Object} options Grid options.\r\n
Login.c(118): **/\r\n
Login.c(118): function SlickGrid(container, data, columns, options) {\r\n
Login.c(118): // settings\r\n
Login.c(118): var defaults = {\r\n
Login.c(118): explicitInitialization: false,\r\n
Login.c(118): rowHeight: 25,\r\n
Login.c(118): defaultColumnWidth: 80,\r\n
Login.c(118): enableAddRow: false,\r\n
Login.c(118): leaveSpaceForNewRows: false,\r\n
Login.c(118): editable: false,\r\n
Login.c(118): autoEdit: true,\r\n
Login.c(118): enableCellNavigation: true,\r\n
Login.c(118): enableColumnReorder: true,\r\n
Login.c(118): asyncEditorLoading: false,\r\n
Login.c(118): asyncEditorLoadDelay: 100,\r\n
Login.c(118): forceFitColumns: false,\r\n
Login.c(118): enableAsyncPostRender: false,\r\n
Login.c(118): asyncPostRenderDelay: 50,\r\n
Login.c(118): autoHeight: false,\r\n
Login.c(118): editorLock: Slick.GlobalEditorLock,\r\n
Login.c(118): showHeaderRow: false,\r\n
Login.c(118): headerRowHeight: 25,\r\n
Login.c(118): showTopPanel: false,\r\n
Login.c(118): topPanelHeight: 25,\r\n
Login.c(118): formatterFactory: null,\r\n
Login.c(118): editorFactory: null,\r\n
Login.c(118): cellFlashingCssClass: "flashing",\r\n
Login.c(118): selectedCellCssClass: "selected",\r\n
Login.c(118): multiSelect: true,\r\n
Login.c(118): enableTextSelectionOnCells: false,\r\n
Login.c(118): dataItemColumnValueExtractor: null,\r\n
Login.c(118): fullWidthRows: false,\r\n
Login.c(118): multiColumnSort: false,\r\n
Login.c(118): defaultFormatter: defaultFormatter,\r\n
Login.c(118): forceSyncScrolling: false,\r\n
Login.c(118): addNewRowCssClass: "new-row"\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var columnDefaults = {\r\n
Login.c(118): name: "",\r\n
Login.c(118): resizable: true,\r\n
Login.c(118): sortable: false,\r\n
Login.c(118): minWidth: 30,\r\n
Login.c(118): rerenderOnResize: false,\r\n
Login.c(118): headerCssClass: null,\r\n
Login.c(118): defaultSortAsc: true,\r\n
Login.c(118): focusable: true,\r\n
Login.c(118): selectable: true\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): // scroller\r\n
Login.c(118): var th; // virtual height\r\n
Login.c(118): var h; // real scrollable height\r\n
Login.c(118): var ph; // page height\r\n
Login.c(118): var n; // number of pages\r\n
Login.c(118): var cj; // "jumpiness" coefficient\r\n
Login.c(118): \r\n
Login.c(118): var page = 0; // current page\r\n
Login.c(118): var offset = 0; // current page offset\r\n
Login.c(118): var vScrollDir = 1;\r\n
Login.c(118): \r\n
Login.c(118): // private\r\n
Login.c(118): var initialized = false;\r\n
Login.c(118): var $container;\r\n
Login.c(118): var uid = "slickgrid_" + Math.round(1000000 *
Math.random());\r\n
Login.c(118): var self = this;\r\n
Login.c(118): var $focusSink, $focusSink2;\r\n
Login.c(118): var $headerScroller;\r\n
Login.c(118): var $headers;\r\n
Login.c(118): var $headerRow, $headerRowScroller, $headerRowSpacer;\r\n
Login.c(118): var $topPanelScroller;\r\n
Login.c(118): var $topPanel;\r\n
Login.c(118): var $viewport;\r\n
Login.c(118): var $canvas;\r\n
Login.c(118): var $style;\r\n
Login.c(118): var $boundAncestors;\r\n
Login.c(118): var stylesheet, columnCssRulesL, columnCssRulesR;\r\n
Login.c(118): var viewportH, viewportW;\r\n
Login.c(118): var canvasWidth;\r\n
Login.c(118): var viewportHasHScroll, viewportHasVScroll;\r\n
Login.c(118): var headerColumnWidthDiff = 0, headerColumnHeightDiff = 0, //
border+padding\r\n
Login.c(118): cellWidthDiff = 0, cellHeightDiff = 0;\r\n
Login.c(118): var absoluteColumnMinWidth;\r\n
Login.c(118): \r\n
Login.c(118): var tabbingDirection = 1;\r\n
Login.c(118): var activePosX;\r\n
Login.c(118): var activeRow, activeCell;\r\n
Login.c(118): var activeCellNode = null;\r\n
Login.c(118): var currentEditor = null;\r\n
Login.c(118): var serializedEditorValue;\r\n
Login.c(118): var editController;\r\n
Login.c(118): \r\n
Login.c(118): var rowsCache = {};\r\n
Login.c(118): var renderedRows = 0;\r\n
Login.c(118): var numVisibleRows;\r\n
Login.c(118): var prevScrollTop = 0;\r\n
Login.c(118): var scrollTop = 0;\r\n
Login.c(118): var lastRenderedScrollTop = 0;\r\n
Login.c(118): var lastRenderedScrollLeft = 0;\r\n
Login.c(118): var prevScrollLeft = 0;\r\n
Login.c(118): var scrollLeft = 0;\r\n
Login.c(118): \r\n
Login.c(118): var selectionModel;\r\n
Login.c(118): var selectedRows = [];\r\n
Login.c(118): \r\n
Login.c(118): var plugins = [];\r\n
Login.c(118): var cellCssClasses = {};\r\n
Login.c(118): \r\n
Login.c(118): var columnsById = {};\r\n
Login.c(118): var sortColumns = [];\r\n
Login.c(118): var columnPosLeft = [];\r\n
Login.c(118): var columnPosRight = [];\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): // async call handles\r\n
Login.c(118): var h_editorLoader = null;\r\n
Login.c(118): var h_render = null;\r\n
Login.c(118): var h_postrender = null;\r\n
Login.c(118): var postProcessedRows = {};\r\n
Login.c(118): var postProcessToRow = null;\r\n
Login.c(118): var postProcessFromRow = null;\r\n
Login.c(118): \r\n
Login.c(118): // perf counters\r\n
Login.c(118): var counter_rows_rendered = 0;\r\n
Login.c(118): var counter_rows_removed = 0;\r\n
Login.c(118): \r\n
Login.c(118): // These two variables work around a bug with inertial
scrolling in Webkit/Blink on Ma
Login.c(118): c.\r\n
Login.c(118): // See http://crbug.com/312427.\r\n
Login.c(118): var rowNodeFromLastMouseWheelEvent; // this node must not be
deleted while inertial s
Login.c(118): crolling\r\n
Login.c(118): var zombieRowNodeFromLastMouseWheelEvent; // node that was
hidden instead of getting
Login.c(118): deleted\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Initialization\r\n
Login.c(118): \r\n
Login.c(118): function init() {\r\n
Login.c(118): $container = $(container);\r\n
Login.c(118): if ($container.length < 1) {\r\n
Login.c(118): throw new Error("SlickGrid requires a valid container, "
+ container + " does not
Login.c(118): exist in the DOM.");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // calculate these only once and share between grid
instances\r\n
Login.c(118): maxSupportedCssHeight = maxSupportedCssHeight ||
getMaxSupportedCssHeight();\r\n
Login.c(118): scrollbarDimensions = scrollbarDimensions ||
measureScrollbar();\r\n
Login.c(118): \r\n
Login.c(118): options = $.extend({}, defaults, options);\r\n
Login.c(118): validateAndEnforceOptions();\r\n
Login.c(118): columnDefaults.width = options.defaultColumnWidth;\r\n
Login.c(118): \r\n
Login.c(118): columnsById = {};\r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): var m = columns[i] = $.extend({}, columnDefaults,
columns[i]);\r\n
Login.c(118): columnsById[m.id] = i;\r\n
Login.c(118): if (m.minWidth && m.width < m.minWidth) {\r\n
Login.c(118): m.width = m.minWidth;\r\n
Login.c(118): }\r\n
Login.c(118): if (m.maxWidth && m.width > m.maxWidth) {\r\n
Login.c(118): m.width = m.maxWidth;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // validate loaded JavaScript modules against requested
options\r\n
Login.c(118): if (options.enableColumnReorder && !$.fn.sortable) {\r\n
Login.c(118): throw new Error("SlickGrid's 'enableColumnReorde
Login.c(118): t=7734ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): r = true' option requires jquery-ui.sortable module to be
loaded");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): editController = {\r\n
Login.c(118): "commitCurrentEdit": commitCurrentEdit,\r\n
Login.c(118): "cancelCurrentEdit": cancelCurrentEdit\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): $container\r\n
Login.c(118): .empty()\r\n
Login.c(118): .css("overflow", "hidden")\r\n
Login.c(118): .css("outline", 0)\r\n
Login.c(118): .addClass(uid)\r\n
Login.c(118): .addClass("ui-widget");\r\n
Login.c(118): \r\n
Login.c(118): // set up a positioning container if needed\r\n
Login.c(118): if (!/relative|absolute|
fixed/.test($container.css("position"))) {\r\n
Login.c(118): $container.css("position", "relative");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $focusSink = $("<div tabIndex='0' hideFocus
style='position:fixed;width:0;height:0;t
Login.c(118): op:0;left:0;outline:0;'></div>").appendTo($container);\r\n
Login.c(118): \r\n
Login.c(118): $headerScroller = $("<div class='slick-header ui-state-
default' style='overflow:hidd
Login.c(118): en;position:relative;' />").appendTo($container);\r\n
Login.c(118): $headers = $("<div class='slick-header-columns'
style='left:-1000px' />").appendTo($
Login.c(118): headerScroller);\r\n
Login.c(118): $headers.width(getHeadersWidth());\r\n
Login.c(118): \r\n
Login.c(118): $headerRowScroller = $("<div class='slick-headerrow ui-
state-default' style='overflo
Login.c(118): w:hidden;position:relative;' />").appendTo($container);\r\n
Login.c(118): $headerRow = $("<div class='slick-headerrow-columns'
/>").appendTo($headerRowScrolle
Login.c(118): r);\r\n
Login.c(118): $headerRowSpacer = $("<div
style='display:block;height:1px;position:absolute;top:0;l
Login.c(118): eft:0;'></div>")\r\n
Login.c(118): .css("width", getCanvasWidth() +
scrollbarDimensions.width + "px")\r\n
Login.c(118): .appendTo($headerRowScroller);\r\n
Login.c(118): \r\n
Login.c(118): $topPanelScroller = $("<div class='slick-top-panel-scroller
ui-state-default' style=
Login.c(118): 'overflow:hidden;position:relative;'
/>").appendTo($container);\r\n
Login.c(118): $topPanel = $("<div class='slick-top-panel'
style='width:10000px' />").appendTo($top
Login.c(118): PanelScroller);\r\n
Login.c(118): \r\n
Login.c(118): if (!options.showTopPanel) {\r\n
Login.c(118): $topPanelScroller.hide();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!options.showHeaderRow) {\r\n
Login.c(118): $headerRowScroller.hide();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $viewport = $("<div class='slick-viewport'
style='width:100%;overflow:auto;outline:0
Login.c(118): ;position:relative;;'>").appendTo($container);\r\n
Login.c(118): $viewport.css("overflow-y", options.autoHeight ? "hidden" :
"auto");\r\n
Login.c(118): \r\n
Login.c(118): $canvas = $("<div class='grid-canvas'
/>").appendTo($viewport);\r\n
Login.c(118): \r\n
Login.c(118): $focusSink2 = $focusSink.clone().appendTo($container);\r\n
Login.c(118): \r\n
Login.c(118): if (!options.explicitInitialization) {\r\n
Login.c(118): finishInitialization();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function finishInitialization() {\r\n
Login.c(118): if (!initialized) {\r\n
Login.c(118): initialized = true;\r\n
Login.c(118): \r\n
Login.c(118): viewportW = parseFloat($.css($container[0], "width",
true));\r\n
Login.c(118): \r\n
Login.c(118): // header columns and cells may have different
padding/border skewing width calcul
Login.c(118): ations (box-sizing, hello?)\r\n
Login.c(118): // calculate the diff so we can set consistent sizes\r\n
Login.c(118): measureCellPaddingAndBorder();\r\n
Login.c(118): \r\n
Login.c(118): // for usability reasons, all text selection in SlickGrid
is disabled\r\n
Login.c(118): // with the exception of input and textarea elements
(selection must\r\n
Login.c(118): // be enabled there so that editors work as expected);
note that\r\n
Login.c(118): // selection in grid cells (grid body) is already
unavailable in\r\n
Login.c(118): // all browsers except IE\r\n
Login.c(118): disableSelection($headers); // disable all text selection
in header (including inp
Login.c(118): ut and textarea)\r\n
Login.c(118): \r\n
Login.c(118): if (!options.enableTextSelectionOnCells) {\r\n
Login.c(118): // disable text selection in grid cells except in input
and textarea elements\r\n
Login.c(118): // (this is IE-specific, because selectstart event will
only fire in IE)\r\n
Login.c(118): $viewport.bind("selectstart.ui", function (event) {\r\n
Login.c(118): return $(event.target).is("input,textarea");\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateColumnCaches();\r\n
Login.c(118): createColumnHeaders();\r\n
Login.c(118): setupColumnSort();\r\n
Login.c(118): createCssRules();\r\n
Login.c(118): resizeCanvas();\r\n
Login.c(118): bindAncestorScrollEvents();\r\n
Login.c(118): \r\n
Login.c(118): $container\r\n
Login.c(118): .bind("resize.slickgrid", resizeCanvas);\r\n
Login.c(118): $viewport\r\n
Login.c(118): //.bind("click", handleClick)\r\n
Login.c(118): .bind("scroll", handleScroll);\r\n
Login.c(118): $headerScroller\r\n
Login.c(118): .bind("contextmenu", handleHeaderContextMenu)\r\n
Login.c(118): .bind("click", handleHeaderClick)\r\n
Login.c(118): .delegate(".slick-header-column", "mouseenter",
handleHeaderMouseEnter)\r\n
Login.c(118): .delegate(".slick-header-column", "mouseleave",
handleHeaderMouseLeave);\r\n
Login.c(118): $headerRowScroller\r\n
Login.c(118): .bind("scroll", handleHeaderRowScroll);\r\n
Login.c(118): $focusSink.add($focusSink2)\r\n
Login.c(118): .bind("keydown", handleKeyDown);\r\n
Login.c(118): $canvas\r\n
Login.c(118): .bind("keydown", handleKeyDown)\r\n
Login.c(118): .bind("click", handleClick)\r\n
Login.c(118): .bind("dblclick", handleDblClick)\r\n
Login.c(118): .bind("contextmenu", handleContextMenu)\r\n
Login.c(118): .bind("draginit", handleDragInit)\r\n
Login.c(118): .bind("dragstart", {distance: 3},
handleDragStart)\r\n
Login.c(118): .bind("drag", handleDrag)\r\n
Login.c(118): .bind("dragend", handleDragEnd)\r\n
Login.c(118): .delegate(".slick-cell", "mouseenter",
handleMouseEnter)\r\n
Login.c(118): .delegate(".slick-cell", "mouseleave",
handleMouseLeave);\r\n
Login.c(118): \r\n
Login.c(118): // Work around http://crbug.com/312427.\r\n
Login.c(118): if (navigator.userAgent.toLowerCase().match(/webkit/)
&&\r\n
Login.c(118): navigator.userAgent.toLowerCase().match(/macintosh/))
{\r\n
Login.c(118): $canvas.bind("mousewheel", handleMouseWheel);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function registerPlugin(plugin) {\r\n
Login.c(118): plugins.unshift(plugin);\r\n
Login.c(118): plugin.init(self);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function unregisterPlugin(plugin) {\r\n
Login.c(118): for (var i = plugins.length; i >= 0; i--) {\r\n
Login.c(118): if (plugins[i] === plugin) {\r\n
Login.c(118): if (plugins[i].destroy) {\r\n
Login.c(118): plugins[i].destroy();\r\n
Login.c(118): }\r\n
Login.c(118): plugins.splice(i, 1);\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSelectionModel(model) {\r\n
Login.c(118): if (selectionModel) {\r\n
Login.c(118):
selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged);\r
Login.c(118): \n
Login.c(118): if (selectionModel.destroy) {\r\n
Login.c(118): selectionModel.destroy();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): selectionModel = model;\r\n
Login.c(118): if (selectionModel) {\r\n
Login.c(118): selectionModel.init(self);\r\n
Login.c(118):
selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getSelectionModel() {\r\n
Login.c(118): return selectionModel;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCanvasNode() {\r\n
Login.c(118): return $canvas[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function measureScrollbar() {\r\n
Login.c(118): var $c = $("<div style='position:absolute; top:-10000px;
left:-10000px; width:100px;
Login.c(118): height:100px; overflow:scroll;'></div>").appendTo("body");\r\n
Login.c(118): var dim = {\r\n
Login.c(118): width: $c.width() - $c[0].clientWidth,\r\n
Login.c(118): height: $c.height() - $c[0].clientHeight\r\n
Login.c(118): };\r\n
Login.c(118): $c.remove();\r\n
Login.c(118): return dim;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getHeadersWidth() {\r\n
Login.c(118): var headersWidth = 0;\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): var width = columns[i].width;\r\n
Login.c(118): headersWidth += width;\r\n
Login.c(118): }\r\n
Login.c(118): headersWidth += scrollbarDimensions.width;\r\n
Login.c(118): return Math.max(headersWidth, viewportW) + 1000;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCanvasWidth() {\r\n
Login.c(118): var availableWidth = viewportHasVScroll ? viewportW -
scrollbarDimensions.width : vi
Login.c(118): ewportW;\r\n
Login.c(118): var rowWidth = 0;\r\n
Login.c(118): var i = columns.length;\r\n
Login.c(118): while (i--) {\r\n
Login.c(118): rowWidth += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): return options.fullWidthRows ? Math.max(rowWidth,
availableWidth) : rowWidth;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateCanvasWidth(forceColumnWidthsUpdate) {\r\n
Login.c(118): var oldCanvasWidth = canvasWidth;\r\n
Login.c(118): canvasWidth = getCanvasWidth();\r\n
Login.c(118): \r\n
Login.c(118): if (canvasWidth != oldCanvasWidth) {\r\n
Login.c(118): $canvas.width(canvasWidth);\r\n
Login.c(118): $headerRow.width(canvasWidth);\r\n
Login.c(118): $headers.width(getHeadersWidth());\r\n
Login.c(118): viewportHasHScroll = (canvasWidth > viewportW -
scrollbarDimensions.width);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $headerRowSpacer.width(canvasWidth + (viewportHasVScroll ?
scrollbarDimensions.width
Login.c(118): : 0));\r\n
Login.c(118): \r\n
Login.c(118): if (canvasWidth != oldCanvasWidth ||
forceColumnWidthsUpdate) {\r\n
Login.c(118): applyColumnWidths();\r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function disableSelection($target) {\r\n
Login.c(118): if ($target && $target.jquery) {\r\n
Login.c(118): $target\r\n
Login.c(118): .attr("unselectable", "on")\r\n
Login.c(118): .css("MozUserSelect", "none")\r\n
Login.c(118): .bind("selectstart.ui", function () {\r\n
Login.c(118): return false;\r\n
Login.c(118): }); // from jquery:ui.core.js 1.7.2\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getMaxSupportedCssHeight() {\r\n
Login.c(118): var supportedHeight = 1000000;\r\n
Login.c(118): // FF reports the height back but still renders blank after
~6M px\r\n
Login.c(118): var testUpTo =
navigator.userAgent.toLowerCase().match(/firefox/) ? 6000000 : 100000
Login.c(118): 0000;\r\n
Login.c(118): var div = $("<div style='display:none'
/>").appendTo(document.body);\r\n
Login.c(118): \r\n
Login.c(118): while (true) {\r\n
Login.c(118): var test = supportedHeight * 2;\r\n
Login.c(118): div.css("height", test);\r\n
Login.c(118): if (test > testUpTo || div.height() !== test) {\r\n
Login.c(118): break;\r\n
Login.c(118): } else {\r\n
Login.c(118): supportedHeight = test;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): div.remove();\r\n
Login.c(118): return supportedHeight;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // TODO: this is static. need to handle page mutation.\r\n
Login.c(118): function bindAncestorScrollEvents() {\r\n
Login.c(118): var elem = $canvas[0];\r\n
Login.c(118): while ((elem = elem.parentNode) != document.body && elem !=
null) {\r\n
Login.c(118): // bind to scroll containers only\r\n
Login.c(118): if (elem == $viewport[0] || elem.scrollWidth !=
elem.clientWidth || elem.scrollHei
Login.c(118): ght != elem.clientHeight) {\r\n
Login.c(118): var $elem = $(elem);\r\n
Login.c(118): if (!$boundAncestors) {\r\n
Login.c(118): $boundAncestors = $elem;\r\n
Login.c(118): } else {\r\n
Login.c(118): $boundAncestors = $boundAncestors.add($elem);\r\n
Login.c(118): }\r\n
Login.c(118): $elem.bind("scroll." + uid,
handleActiveCellPositionChange);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function unbindAncestorScrollEvents() {\r\n
Login.c(118): if (!$boundAncestors) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): $boundAncestors.unbind("scroll." + uid);\r\n
Login.c(118): $boundAncestors = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateColumnHeader(columnId, title, toolTip) {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): var idx = getColumnIndex(columnId);\r\n
Login.c(118): if (idx == null) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnDef = columns[idx];\r\n
Login.c(118): var $header = $headers.children().eq(idx);\r\n
Login.c(118): if ($header) {\r\n
Login.c(118): if (title !== undefined) {\r\n
Login.c(118): columns[idx].name = title;\r\n
Login.c(118): }\r\n
Login.c(118): if (toolTip !== undefined) {\r\n
Login.c(118): columns[idx].toolTip = toolTip;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onBeforeHeaderCellDestroy, {\r\n
Login.c(118): "node": $header[0],\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $header\r\n
Login.c(118): .attr("title", toolTip || "")\r\n
Login.c(118): .children().eq(0).html(title);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onHeaderCellRendered, {\r\n
Login.c(118): "node": $header[0],\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getHeaderRow() {\r\n
Login.c(118): return $headerRow[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getHeaderRowColumn(columnId) {\r\n
Login.c(118): var idx = getColumnIndex(columnId);\r\n
Login.c(118): var $header = $headerRow.children().eq(idx);\r\n
Login.c(118): return $header && $header[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createColumnHeaders() {\r\n
Login.c(118): function onMouseEnter() {\r\n
Login.c(118): $(this).addClass("ui-state-hover");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function onMouseLeave() {\r\n
Login.c(118): $(this).removeClass("ui-state-hover");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $headers.find(".slick-header-column")\r\n
Login.c(118): .each(function() {\r\n
Login.c(118): var columnDef = $(this).data("column");\r\n
Login.c(118): if (columnDef) {\r\n
Login.c(118): trigger(self.onBeforeHeaderCellDestroy, {\r\n
Login.c(118): "node": this,\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): $headers.empty();\r\n
Login.c(118): $headers.width(getHeadersWidth());\r\n
Login.c(118): \r\n
Login.c(118): $headerRow.find(".slick-headerrow-column")\r\n
Login.c(118): .each(function() {\r\n
Login.c(118): var columnDef = $(this).data("column");\r\n
Login.c(118): if (columnDef) {\r\n
Login.c(118): trigger(self.onBeforeHeaderRowCellDestroy, {\r\n
Login.c(118): "node": this,\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): $headerRow.empty();\r\n
Login.c(118): \r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): var m = columns[i];\r\n
Login.c(118): \r\n
Login.c(118): var header = $("<div class='ui-state-default slick-
header-column' />")\r\n
Login.c(118): .html("<span class='slick-column-name'>" + m.name +
"</span>")\r\n
Login.c(118): .width(m.width - headerColumnWidthDiff)\r\n
Login.c(118): .attr("id", "" + uid + m.id)\r\n
Login.c(118): .attr("title", m.toolTip || "")\r\n
Login.c(118): .data("column", m)\r\n
Login.c(118): .addClass(m.headerCssClass || "")\r\n
Login.c(118): .appendTo($headers)
Login.c(118): t=7750ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): ;\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableColumnReorder || m.sortable) {\r\n
Login.c(118): header\r\n
Login.c(118): .on('mouseenter', onMouseEnter)\r\n
Login.c(118): .on('mouseleave', onMouseLeave);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (m.sortable) {\r\n
Login.c(118): header.addClass("slick-header-sortable");\r\n
Login.c(118): header.append("<span class='slick-sort-indicator'
/>");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onHeaderCellRendered, {\r\n
Login.c(118): "node": header[0],\r\n
Login.c(118): "column": m\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): if (options.showHeaderRow) {\r\n
Login.c(118): var headerRowCell = $("<div class='ui-state-default
slick-headerrow-column l" +
Login.c(118): i + " r" + i + "'></div>")\r\n
Login.c(118): .data("column", m)\r\n
Login.c(118): .appendTo($headerRow);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onHeaderRowCellRendered, {\r\n
Login.c(118): "node": headerRowCell[0],\r\n
Login.c(118): "column": m\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setSortColumns(sortColumns);\r\n
Login.c(118): setupColumnResize();\r\n
Login.c(118): if (options.enableColumnReorder) {\r\n
Login.c(118): setupColumnReorder();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setupColumnSort() {\r\n
Login.c(118): $headers.click(function (e) {\r\n
Login.c(118): // temporary workaround for a bug in jQuery 1.7.1
(http://bugs.jquery.com/ticket/1
Login.c(118): 1328)\r\n
Login.c(118): e.metaKey = e.metaKey || e.ctrlKey;\r\n
Login.c(118): \r\n
Login.c(118): if ($(e.target).hasClass("slick-resizable-handle")) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var $col = $(e.target).closest(".slick-header-
column");\r\n
Login.c(118): if (!$col.length) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var column = $col.data("column");\r\n
Login.c(118): if (column.sortable) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var sortOpts = null;\r\n
Login.c(118): var i = 0;\r\n
Login.c(118): for (; i < sortColumns.length; i++) {\r\n
Login.c(118): if (sortColumns[i].columnId == column.id) {\r\n
Login.c(118): sortOpts = sortColumns[i];\r\n
Login.c(118): sortOpts.sortAsc = !sortOpts.sortAsc;\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (e.metaKey && options.multiColumnSort) {\r\n
Login.c(118): if (sortOpts) {\r\n
Login.c(118): sortColumns.splice(i, 1);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): else {\r\n
Login.c(118): if ((!e.shiftKey && !e.metaKey) || !
options.multiColumnSort) {\r\n
Login.c(118): sortColumns = [];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!sortOpts) {\r\n
Login.c(118): sortOpts = { columnId: column.id, sortAsc:
column.defaultSortAsc };\r\n
Login.c(118): sortColumns.push(sortOpts);\r\n
Login.c(118): } else if (sortColumns.length == 0) {\r\n
Login.c(118): sortColumns.push(sortOpts);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setSortColumns(sortColumns);\r\n
Login.c(118): \r\n
Login.c(118): if (!options.multiColumnSort) {\r\n
Login.c(118): trigger(self.onSort, {\r\n
Login.c(118): multiColumnSort: false,\r\n
Login.c(118): sortCol: column,\r\n
Login.c(118): sortAsc: sortOpts.sortAsc}, e);\r\n
Login.c(118): } else {\r\n
Login.c(118): trigger(self.onSort, {\r\n
Login.c(118): multiColumnSort: true,\r\n
Login.c(118): sortCols: $.map(sortColumns, function(col) {\r\n
Login.c(118): return {sortCol:
columns[getColumnIndex(col.columnId)], sortAsc: col.sortA
Login.c(118): sc };\r\n
Login.c(118): })}, e);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setupColumnReorder() {\r\n
Login.c(118): $headers.filter(":ui-sortable").sortable("destroy");\r\n
Login.c(118): $headers.sortable({\r\n
Login.c(118): containment: "parent",\r\n
Login.c(118): distance: 3,\r\n
Login.c(118): axis: "x",\r\n
Login.c(118): cursor: "default",\r\n
Login.c(118): tolerance: "intersection",\r\n
Login.c(118): helper: "clone",\r\n
Login.c(118): placeholder: "slick-sortable-placeholder ui-state-default
slick-header-column",\r\n
Login.c(118): start: function (e, ui) {\r\n
Login.c(118): ui.placeholder.width(ui.helper.outerWidth() -
headerColumnWidthDiff);\r\n
Login.c(118): $(ui.helper).addClass("slick-header-column-
active");\r\n
Login.c(118): },\r\n
Login.c(118): beforeStop: function (e, ui) {\r\n
Login.c(118): $(ui.helper).removeClass("slick-header-column-
active");\r\n
Login.c(118): },\r\n
Login.c(118): stop: function (e) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): $(this).sortable("cancel");\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var reorderedIds = $headers.sortable("toArray");\r\n
Login.c(118): var reorderedColumns = [];\r\n
Login.c(118): for (var i = 0; i < reorderedIds.length; i++) {\r\n
Login.c(118):
reorderedColumns.push(columns[getColumnIndex(reorderedIds[i].replace(uid, ""))
Login.c(118): ]);\r\n
Login.c(118): }\r\n
Login.c(118): setColumns(reorderedColumns);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onColumnsReordered, {});\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): setupColumnResize();\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setupColumnResize() {\r\n
Login.c(118): var $col, j, c, pageX, columnElements, minPageX, maxPageX,
firstResizable, lastResiz
Login.c(118): able;\r\n
Login.c(118): columnElements = $headers.children();\r\n
Login.c(118): columnElements.find(".slick-resizable-
handle").remove();\r\n
Login.c(118): columnElements.each(function (i, e) {\r\n
Login.c(118): if (columns[i].resizable) {\r\n
Login.c(118): if (firstResizable === undefined) {\r\n
Login.c(118): firstResizable = i;\r\n
Login.c(118): }\r\n
Login.c(118): lastResizable = i;\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): if (firstResizable === undefined) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): columnElements.each(function (i, e) {\r\n
Login.c(118): if (i < firstResizable || (options.forceFitColumns && i
>= lastResizable)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): $col = $(e);\r\n
Login.c(118): $("<div class='slick-resizable-handle' />")\r\n
Login.c(118): .appendTo(e)\r\n
Login.c(118): .bind("dragstart", function (e, dd) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): pageX = e.pageX;\r\n
Login.c(118): $(this).parent().addClass("slick-header-column-
active");\r\n
Login.c(118): var shrinkLeewayOnRight = null,
stretchLeewayOnRight = null;\r\n
Login.c(118): // lock each column's width option to current
width\r\n
Login.c(118): columnElements.each(function (i, e) {\r\n
Login.c(118): columns[i].previousWidth = $(e).outerWidth();\r\n
Login.c(118): });\r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): shrinkLeewayOnRight = 0;\r\n
Login.c(118): stretchLeewayOnRight = 0;\r\n
Login.c(118): // colums on right affect maxPageX/minPageX\r\n
Login.c(118): for (j = i + 1; j < columnElements.length; j++)
{\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (stretchLeewayOnRight !== null) {\r\n
Login.c(118): if (c.maxWidth) {\r\n
Login.c(118): stretchLeewayOnRight += c.maxWidth -
c.previousWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): stretchLeewayOnRight = null;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): shrinkLeewayOnRight += c.previousWidth -
Math.max(c.minWidth || 0, abs
Login.c(118): oluteColumnMinWidth);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): var shrinkLeewayOnLeft = 0, stretchLeewayOnLeft =
0;\r\n
Login.c(118): for (j = 0; j <= i; j++) {\r\n
Login.c(118): // columns on left only affect minPageX\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (stretchLeewayOnLeft !== null) {\r\n
Login.c(118): if (c.maxWidth) {\r\n
Login.c(118): stretchLeewayOnLeft += c.maxWidth -
c.previousWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): stretchLeewayOnLeft = null;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): shrinkLeewayOnLeft += c.previousWidth -
Math.max(c.minWidth || 0, absolu
Login.c(118): teColumnMinWidth);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): if (shrinkLeewayOnRight === null) {\r\n
Login.c(118): shrinkLeewayOnRight = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): if (shrinkLeewayOnLeft === null) {\r\n
Login.c(118): shrinkLeewayOnLeft = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): if (stretchLeewayOnRight === null) {\r\n
Login.c(118): stretchLeewayOnRight = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): if (stretchLeewayOnLeft === null) {\r\n
Login.c(118): stretchLeewayOnLeft = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): maxPageX = pageX + Math.min(shrinkLeewayOnRight,
stretchLeewayOnLeft);\r\n
Login.c(118): minPageX = pageX - Math.min(shrinkLeewayOnLeft,
stretchLeewayOnRight);\r\n
Login.c(118): })\r\n
Login.c(118): .bind("drag", function (e, dd) {\r\n
Login.c(118): var actualMinWidth, d = Math.min(maxPageX,
Math.max(minPageX, e.pageX)) - pa
Login.c(118): geX, x;\r\n
Login.c(118): if (d < 0) { // shrink column\r\n
Login.c(118): x = d;\r\n
Login.c(118): for (j = i; j >= 0; j--) {\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): actualMinWidth = Math.max(c.minWidth || 0,
absoluteColumnMinWidth);\r\n
Login.c(118): if (x && c.previousWidth + x <
actualMinWidth) {\r\n
Login.c(118): x += c.previousWidth - actualMinWidth;\r\n
Login.c(118): c.width = actualMinWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): x = -d;\r\n
Login.c(118): for (j = i + 1; j < columnElements.length; j++)
{\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (x && c.maxWidth && (c.maxWidth -
c.previousWidth < x)) {\r\n
Login.c(118): x -= c.maxWidth - c.previousWidth;\r\n
Login.c(118): c.width = c.maxWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): } else { // stretch column\r\n
Login.c(118): x = d;\r\n
Login.c(118): for (j = i; j >= 0; j--) {\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (x && c.maxWidth && (c.maxWidth -
c.previousWidth < x)) {\r\n
Login.c(118): x -= c.maxWidth - c.previousWidth;\r\n
Login.c(118): c.width = c.maxWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): x = -d;\r\n
Login.c(118): for (j = i + 1; j < columnElements.length; j++)
{\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): actualMinWidth = Math.max(c.minWidth || 0,
absoluteColumnMinWidth);\r
Login.c(118): \n
Login.c(118): if (x && c.previousWidth + x <
actualMinWidth) {\r\n
Login.c(118): x += c.previousWidth -
actualMinWidth;\r\n
Login.c(118): c.width = actualMinWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): if (options.syncColumnCellResize) {\r\n
Login.c(118): applyColumnWidths();\r\n
Login.c(118): }\r\n
Login.c(118): })\r\n
Login.c(118): .bind("dragend", function (e, dd) {\r\n
Login.c(118): var newWidth;\r\n
Login.c(118): $(this).parent().removeClass("slick-header-column-
active");\r\n
Login.c(118): for (j = 0; j < columnElements.length; j++) {\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): newWidth = $(columnElements[j]).outerWidth();\r\n
Login.c(118): \r\n
Login.c(118): if (c.previousWidth !== newWidth &&
c.rerenderOnResize) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): updateCanvasWidth(true);\r\n
Login.c(118): render();\r\n
Login.c(118): trigger(self.onColumnsResized, {});\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getVBoxDelta($el) {\r\n
Login.c(118): var p = ["borderTopWidth", "borderBottomWidth",
"paddingTop", "paddingBottom"];\r\n
Login.c(118): var delta = 0;\r\n
Login.c(118): $.each(p, function (n, val) {\r\n
Login.c(118): delta += parseFloat($el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): return delta;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function measureCellPaddingAndBorder() {\r\n
Login.c(118): var el;\r\n
Login.c(118): var h = ["borderLeftWidth", "borderRightWidth",
"paddingLeft", "paddingRight"];\r\n
Login.c(118): var v = ["borderTopWidth", "borderBottomWidth",
"paddingTop", "paddingBottom"];\r\n
Login.c(118): \r\n
Login.c(118): el = $("<div class='ui-state-default slick-header-column'
style='visibility:hidden'>
Login.c(118): -</div>").appendTo($headers);\r\n
Login.c(118): headerColumnWidthDiff = headerColumnHeightDiff = 0;\r\n
Login.c(118): if (el.css("box-sizing") != "border-box" && el.css("-moz-
box-sizing") != "border-box
Login.c(118): " && el.css("-webkit-box-sizing") != "border-box") {\r\n
Login.c(118): $.each(h, function (n, val) {\r\n
Login.c(118): headerColumnWidthDiff += parseFloat(el.css(val)) ||
0;\r\n
Login.c(118): });\r\n
Login.c(118): $.each(v, function (n, val) {\r\n
Login.c(118): headerColumnHeigh
Login.c(118): t=7780ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): tDiff += parseFloat(el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): el.remove();\r\n
Login.c(118): \r\n
Login.c(118): var r = $("<div class='slick-row'
/>").appendTo($canvas);\r\n
Login.c(118): el = $("<div class='slick-cell' id=''
style='visibility:hidden'>-</div>").appendTo(r
Login.c(118): );\r\n
Login.c(118): cellWidthDiff = cellHeightDiff = 0;\r\n
Login.c(118): if (el.css("box-sizing") != "border-box" && el.css("-moz-
box-sizing") != "border-box
Login.c(118): " && el.css("-webkit-box-sizing") != "border-box") {\r\n
Login.c(118): $.each(h, function (n, val) {\r\n
Login.c(118): cellWidthDiff += parseFloat(el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): $.each(v, function (n, val) {\r\n
Login.c(118): cellHeightDiff += parseFloat(el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): r.remove();\r\n
Login.c(118): \r\n
Login.c(118): absoluteColumnMinWidth = Math.max(headerColumnWidthDiff,
cellWidthDiff);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createCssRules() {\r\n
Login.c(118): $style = $("<style type='text/css' rel='stylesheet'
/>").appendTo($("head"));\r\n
Login.c(118): var rowHeight = (options.rowHeight - cellHeightDiff);\r\n
Login.c(118): var rules = [\r\n
Login.c(118): "." + uid + " .slick-header-column { left:
1000px; }",\r\n
Login.c(118): "." + uid + " .slick-top-panel { height:" +
options.topPanelHeight + "px; }",\r\n
Login.c(118): "." + uid + " .slick-headerrow-columns { height:" +
options.headerRowHeight + "px;
Login.c(118): }",\r\n
Login.c(118): "." + uid + " .slick-cell { height:" + rowHeight +
"px; }",\r\n
Login.c(118): "." + uid + " .slick-row { height:" + options.rowHeight +
"px; }"\r\n
Login.c(118): ];\r\n
Login.c(118): \r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): rules.push("." + uid + " .l" + i + " { }");\r\n
Login.c(118): rules.push("." + uid + " .r" + i + " { }");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if ($style[0].styleSheet) { // IE\r\n
Login.c(118): $style[0].styleSheet.cssText = rules.join(" ");\r\n
Login.c(118): } else {\r\n
Login.c(118):
$style[0].appendChild(document.createTextNode(rules.join(" ")));\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnCssRules(idx) {\r\n
Login.c(118): if (!stylesheet) {\r\n
Login.c(118): var sheets = document.styleSheets;\r\n
Login.c(118): for (var i = 0; i < sheets.length; i++) {\r\n
Login.c(118): if ((sheets[i].ownerNode || sheets[i].owningElement) ==
$style[0]) {\r\n
Login.c(118): stylesheet = sheets[i];\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!stylesheet) {\r\n
Login.c(118): throw new Error("Cannot find stylesheet.");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // find and cache column CSS rules\r\n
Login.c(118): columnCssRulesL = [];\r\n
Login.c(118): columnCssRulesR = [];\r\n
Login.c(118): var cssRules = (stylesheet.cssRules ||
stylesheet.rules);\r\n
Login.c(118): var matches, columnIdx;\r\n
Login.c(118): for (var i = 0; i < cssRules.length; i++) {\r\n
Login.c(118): var selector = cssRules[i].selectorText;\r\n
Login.c(118): if (matches = /\\.l\\d+/.exec(selector)) {\r\n
Login.c(118): columnIdx = parseInt(matches[0].substr(2,
matches[0].length - 2), 10);\r\n
Login.c(118): columnCssRulesL[columnIdx] = cssRules[i];\r\n
Login.c(118): } else if (matches = /\\.r\\d+/.exec(selector)) {\r\n
Login.c(118): columnIdx = parseInt(matches[0].substr(2,
matches[0].length - 2), 10);\r\n
Login.c(118): columnCssRulesR[columnIdx] = cssRules[i];\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): "left": columnCssRulesL[idx],\r\n
Login.c(118): "right": columnCssRulesR[idx]\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function removeCssRules() {\r\n
Login.c(118): $style.remove();\r\n
Login.c(118): stylesheet = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function destroy() {\r\n
Login.c(118): getEditorLock().cancelCurrentEdit();\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onBeforeDestroy, {});\r\n
Login.c(118): \r\n
Login.c(118): var i = plugins.length;\r\n
Login.c(118): while(i--) {\r\n
Login.c(118): unregisterPlugin(plugins[i]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableColumnReorder) {\r\n
Login.c(118): $headers.filter(":ui-
sortable").sortable("destroy");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): unbindAncestorScrollEvents();\r\n
Login.c(118): $container.unbind(".slickgrid");\r\n
Login.c(118): removeCssRules();\r\n
Login.c(118): \r\n
Login.c(118): $canvas.unbind("draginit dragstart dragend drag");\r\n
Login.c(118): $container.empty().removeClass(uid);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // General\r\n
Login.c(118): \r\n
Login.c(118): function trigger(evt, args, e) {\r\n
Login.c(118): e = e || new Slick.EventData();\r\n
Login.c(118): args = args || {};\r\n
Login.c(118): args.grid = self;\r\n
Login.c(118): return evt.notify(args, e, self);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getEditorLock() {\r\n
Login.c(118): return options.editorLock;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getEditController() {\r\n
Login.c(118): return editController;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnIndex(id) {\r\n
Login.c(118): return columnsById[id];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function autosizeColumns() {\r\n
Login.c(118): var i, c,\r\n
Login.c(118): widths = [],\r\n
Login.c(118): shrinkLeeway = 0,\r\n
Login.c(118): total = 0,\r\n
Login.c(118): prevTotal,\r\n
Login.c(118): availWidth = viewportHasVScroll ? viewportW -
scrollbarDimensions.width : viewpo
Login.c(118): rtW;\r\n
Login.c(118): \r\n
Login.c(118): for (i = 0; i < columns.length; i++) {\r\n
Login.c(118): c = columns[i];\r\n
Login.c(118): widths.push(c.width);\r\n
Login.c(118): total += c.width;\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): shrinkLeeway += c.width - Math.max(c.minWidth,
absoluteColumnMinWidth);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // shrink\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): while (total > availWidth && shrinkLeeway) {\r\n
Login.c(118): var shrinkProportion = (total - availWidth) /
shrinkLeeway;\r\n
Login.c(118): for (i = 0; i < columns.length && total > availWidth; i+
+) {\r\n
Login.c(118): c = columns[i];\r\n
Login.c(118): var width = widths[i];\r\n
Login.c(118): if (!c.resizable || width <= c.minWidth || width <=
absoluteColumnMinWidth) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): var absMinWidth = Math.max(c.minWidth,
absoluteColumnMinWidth);\r\n
Login.c(118): var shrinkSize = Math.floor(shrinkProportion * (width -
absMinWidth)) || 1;\r\n
Login.c(118): shrinkSize = Math.min(shrinkSize, width -
absMinWidth);\r\n
Login.c(118): total -= shrinkSize;\r\n
Login.c(118): shrinkLeeway -= shrinkSize;\r\n
Login.c(118): widths[i] -= shrinkSize;\r\n
Login.c(118): }\r\n
Login.c(118): if (prevTotal <= total) { // avoid infinite loop\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // grow\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): while (total < availWidth) {\r\n
Login.c(118): var growProportion = availWidth / total;\r\n
Login.c(118): for (i = 0; i < columns.length && total < availWidth; i+
+) {\r\n
Login.c(118): c = columns[i];\r\n
Login.c(118): var currentWidth = widths[i];\r\n
Login.c(118): var growSize;\r\n
Login.c(118): \r\n
Login.c(118): if (!c.resizable || c.maxWidth <= currentWidth) {\r\n
Login.c(118): growSize = 0;\r\n
Login.c(118): } else {\r\n
Login.c(118): growSize = Math.min(Math.floor(growProportion *
currentWidth) - currentWidth,
Login.c(118): (c.maxWidth - currentWidth) || 1000000) || 1;\r\n
Login.c(118): }\r\n
Login.c(118): total += growSize;\r\n
Login.c(118): widths[i] += growSize;\r\n
Login.c(118): }\r\n
Login.c(118): if (prevTotal >= total) { // avoid infinite loop\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var reRender = false;\r\n
Login.c(118): for (i = 0; i < columns.length; i++) {\r\n
Login.c(118): if (columns[i].rerenderOnResize && columns[i].width !=
widths[i]) {\r\n
Login.c(118): reRender = true;\r\n
Login.c(118): }\r\n
Login.c(118): columns[i].width = widths[i];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): updateCanvasWidth(true);\r\n
Login.c(118): if (reRender) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function applyColumnHeaderWidths() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): var h;\r\n
Login.c(118): for (var i = 0, headers = $headers.children(), ii =
headers.length; i < ii; i++) {\r
Login.c(118): \n
Login.c(118): h = $(headers[i]);\r\n
Login.c(118): if (h.width() !== columns[i].width -
headerColumnWidthDiff) {\r\n
Login.c(118): h.width(columns[i].width - headerColumnWidthDiff);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateColumnCaches();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function applyColumnWidths() {\r\n
Login.c(118): var x = 0, w, rule;\r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): w = columns[i].width;\r\n
Login.c(118): \r\n
Login.c(118): rule = getColumnCssRules(i);\r\n
Login.c(118): rule.left.style.left = x + "px";\r\n
Login.c(118): rule.right.style.right = (canvasWidth - x - w) +
"px";\r\n
Login.c(118): \r\n
Login.c(118): x += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSortColumn(columnId, ascending) {\r\n
Login.c(118): setSortColumns([{ columnId: columnId, sortAsc:
ascending}]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSortColumns(cols) {\r\n
Login.c(118): sortColumns = cols;\r\n
Login.c(118): \r\n
Login.c(118): var headerColumnEls = $headers.children();\r\n
Login.c(118): headerColumnEls\r\n
Login.c(118): .removeClass("slick-header-column-sorted")\r\n
Login.c(118): .find(".slick-sort-indicator")\r\n
Login.c(118): .removeClass("slick-sort-indicator-asc slick-sort-
indicator-desc");\r\n
Login.c(118): \r\n
Login.c(118): $.each(sortColumns, function(i, col) {\r\n
Login.c(118): if (col.sortAsc == null) {\r\n
Login.c(118): col.sortAsc = true;\r\n
Login.c(118): }\r\n
Login.c(118): var columnIndex = getColumnIndex(col.columnId);\r\n
Login.c(118): if (columnIndex != null) {\r\n
Login.c(118): headerColumnEls.eq(columnIndex)\r\n
Login.c(118): .addClass("slick-header-column-sorted")\r\n
Login.c(118): .find(".slick-sort-indicator")\r\n
Login.c(118): .addClass(col.sortAsc ? "slick-sort-indicator-
asc" : "slick-sort-indicat
Login.c(118): or-desc");\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getSortColumns() {\r\n
Login.c(118): return sortColumns;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleSelectedRangesChanged(e, ranges) {\r\n
Login.c(118): selectedRows = [];\r\n
Login.c(118): var hash = {};\r\n
Login.c(118): for (var i = 0; i < ranges.length; i++) {\r\n
Login.c(118): for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j+
+) {\r\n
Login.c(118): if (!hash[j]) { // prevent duplicates\r\n
Login.c(118): selectedRows.push(j);\r\n
Login.c(118): hash[j] = {};\r\n
Login.c(118): }\r\n
Login.c(118): for (var k = ranges[i].fromCell; k <= ranges[i].toCell;
k++) {\r\n
Login.c(118): if (canCellBeSelected(j, k)) {\r\n
Login.c(118): hash[j][columns[k].id] =
options.selectedCellCssClass;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setCellCssStyles(options.selectedCellCssClass, hash);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onSelectedRowsChanged, {rows:
getSelectedRows()}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumns() {\r\n
Login.c(118): return columns;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateColumnCaches() {\r\n
Login.c(118): // Pre-calculate cell boundaries.\r\n
Login.c(118): columnPosLeft = [];\r\n
Login.c(118): columnPosRight = [];\r\n
Login.c(118): var x = 0;\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): columnPosLeft[i] = x;\r\n
Login.c(118): columnPosRight[i] = x + columns[i].width;\r\n
Login.c(118): x += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setColumns(columnDefinitions) {\r\n
Login.c(118): columns = columnDefinitions;\r\n
Login.c(118): \r\n
Login.c(118): columnsById = {};\r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): var m = columns[i] = $.extend({}, columnDefaults,
columns[i]);\r\n
Login.c(118): columnsById[m.id] = i;\r\n
Login.c(118): if (m.minWidth && m.width < m.minWidth) {\r\n
Login.c(118): m.width = m.minWidth;\r\n
Login.c(118): }\r\n
Login.c(118): if (m.maxWidth && m.width > m.maxWidth) {\r\n
Login.c(118): m.width = m.maxWidth;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateColumnCaches();\r\n
Login.c(118): \r\n
Login.c(118): if (initialized) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): createColumnHeaders();\r\n
Login.c(118): removeCssRules();\r\n
Login.c(118): createCssRules();\r\n
Login.c(118): resizeCanvas();\r\n
Login.c(118): applyColumnWidths();\r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getOptions() {\r\n
Login.c(118): return options;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setOptions(args) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableAddRow !== args.enableAddRow) {\r\n
Login.c(118): invalidateRow(getDataLength());\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): options = $.extend(options, args);\r\n
Login.c(118): validateAndEnforceOptions();\r\n
Login.c(118): \r\n
Login.c(118): $viewport.css("overflow-y", options.autoHeight ? "hidden" :
"auto");\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function validateAndEnforceOptions() {\r\n
Login.c(118): if (options.autoHeight) {\r\n
Login.c(118): options.leaveSpaceForNewRows = false;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setData(newData, scrollToTop) {\r\n
Login.c(118): data = newData;\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): updateRowCount();\r\n
Login.c(118): if (scrollToTop) {\r\n
Login.c(118): scrollTo(0);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getData() {\r\n
Login.c(118): return data;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataLength() {\r\n
Login.c(118): if (data.getLength) {\r\n
Login.c(118): return data.getLength();\r\n
Login.c(118): } else {\r\n
Login.c(118): return data.length;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataLengthIncludingAddNew() {\r\n
Login.c(118): return getDataLength() + (options.enableAddRow ? 1 :
0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataItem(i) {\r\n
Login.c(118): if (data.getItem) {\r\n
Login.c(118): return data.getItem(i);\r\n
Login.c(118): } else {\r\n
Login.c(118): return data[i];\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getTopPanel() {\r\n
Login.c(118): return $topPanel[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setTopPanelVisibility(visible) {\r\n
Login.c(118): if (options.showTopPanel != visible) {\r\n
Login.c(118): options.showTopPanel = visible;\r\n
Login.c(118): if (visible) {\r\n
Login.c(118): $topPanelScroller.slideDown("fast", resizeCanvas);\r\n
Login.c(118): } else {\r\n
Login.c(118): $topPanelScroller.slideUp("fast", resizeCanvas);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setHeaderRowVisibility(visible) {\r\n
Login.c(118): if (options.showHeaderRow != visible) {\r\n
Login.c(118): options.showHeaderRow = visible;\r\n
Login.c(118): if (visible) {\r\n
Login.c(118): $headerRowScroller.sli
Login.c(118): t=7798ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): deDown("fast", resizeCanvas);\r\n
Login.c(118): } else {\r\n
Login.c(118): $headerRowScroller.slideUp("fast", resizeCanvas);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getContainerNode() {\r\n
Login.c(118): return $container.get(0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Rendering / Scrolling\r\n
Login.c(118): \r\n
Login.c(118): function getRowTop(row) {\r\n
Login.c(118): return options.rowHeight * row - offset;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getRowFromPosition(y) {\r\n
Login.c(118): return Math.floor((y + offset) / options.rowHeight);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollTo(y) {\r\n
Login.c(118): y = Math.max(y, 0);\r\n
Login.c(118): y = Math.min(y, th - viewportH + (viewportHasHScroll ?
scrollbarDimensions.height :
Login.c(118): 0));\r\n
Login.c(118): \r\n
Login.c(118): var oldOffset = offset;\r\n
Login.c(118): \r\n
Login.c(118): page = Math.min(n - 1, Math.floor(y / ph));\r\n
Login.c(118): offset = Math.round(page * cj);\r\n
Login.c(118): var newScrollTop = y - offset;\r\n
Login.c(118): \r\n
Login.c(118): if (offset != oldOffset) {\r\n
Login.c(118): var range = getVisibleRange(newScrollTop);\r\n
Login.c(118): cleanupRows(range);\r\n
Login.c(118): updateRowPositions();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (prevScrollTop != newScrollTop) {\r\n
Login.c(118): vScrollDir = (prevScrollTop + oldOffset < newScrollTop +
offset) ? 1 : -1;\r\n
Login.c(118): $viewport[0].scrollTop = (lastRenderedScrollTop =
scrollTop = prevScrollTop = newS
Login.c(118): crollTop);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onViewportChanged, {});\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function defaultFormatter(row, cell, value, columnDef,
dataContext) {\r\n
Login.c(118): if (value == null) {\r\n
Login.c(118): return "";\r\n
Login.c(118): } else {\r\n
Login.c(118): return (value +
"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"
Login.c(118): );\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getFormatter(row, column) {\r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): \r\n
Login.c(118): // look up by id, then index\r\n
Login.c(118): var columnOverrides = rowMetadata &&\r\n
Login.c(118): rowMetadata.columns &&\r\n
Login.c(118): (rowMetadata.columns[column.id] ||
rowMetadata.columns[getColumnIndex(column.id)
Login.c(118): ]);\r\n
Login.c(118): \r\n
Login.c(118): return (columnOverrides && columnOverrides.formatter)
||\r\n
Login.c(118): (rowMetadata && rowMetadata.formatter) ||\r\n
Login.c(118): column.formatter ||\r\n
Login.c(118): (options.formatterFactory &&
options.formatterFactory.getFormatter(column)) ||\r
Login.c(118): \n
Login.c(118): options.defaultFormatter;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getEditor(row, cell) {\r\n
Login.c(118): var column = columns[cell];\r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): var columnMetadata = rowMetadata &&
rowMetadata.columns;\r\n
Login.c(118): \r\n
Login.c(118): if (columnMetadata && columnMetadata[column.id] &&
columnMetadata[column.id].editor
Login.c(118): !== undefined) {\r\n
Login.c(118): return columnMetadata[column.id].editor;\r\n
Login.c(118): }\r\n
Login.c(118): if (columnMetadata && columnMetadata[cell] &&
columnMetadata[cell].editor !== undefi
Login.c(118): ned) {\r\n
Login.c(118): return columnMetadata[cell].editor;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return column.editor || (options.editorFactory &&
options.editorFactory.getEditor(co
Login.c(118): lumn));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataItemValueForColumn(item, columnDef) {\r\n
Login.c(118): if (options.dataItemColumnValueExtractor) {\r\n
Login.c(118): return options.dataItemColumnValueExtractor(item,
columnDef);\r\n
Login.c(118): }\r\n
Login.c(118): return item[columnDef.field];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function appendRowHtml(stringArray, row, range, dataLength)
{\r\n
Login.c(118): var d = getDataItem(row);\r\n
Login.c(118): var dataLoading = row < dataLength && !d;\r\n
Login.c(118): var rowCss = "slick-row" +\r\n
Login.c(118): (dataLoading ? " loading" : "") +\r\n
Login.c(118): (row === activeRow ? " active" : "") +\r\n
Login.c(118): (row % 2 == 1 ? " odd" : " even");\r\n
Login.c(118): \r\n
Login.c(118): if (!d) {\r\n
Login.c(118): rowCss += " " + options.addNewRowCssClass;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var metadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): \r\n
Login.c(118): if (metadata && metadata.cssClasses) {\r\n
Login.c(118): rowCss += " " + metadata.cssClasses;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("<div class='ui-widget-content " + rowCss
+ "' style='top:" + getRo
Login.c(118): wTop(row) + "px'>");\r\n
Login.c(118): \r\n
Login.c(118): var colspan, m;\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): m = columns[i];\r\n
Login.c(118): colspan = 1;\r\n
Login.c(118): if (metadata && metadata.columns) {\r\n
Login.c(118): var columnData = metadata.columns[m.id] ||
metadata.columns[i];\r\n
Login.c(118): colspan = (columnData && columnData.colspan) || 1;\r\n
Login.c(118): if (colspan === "*") {\r\n
Login.c(118): colspan = ii - i;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // Do not render cells outside of the viewport.\r\n
Login.c(118): if (columnPosRight[Math.min(ii - 1, i + colspan - 1)] >
range.leftPx) {\r\n
Login.c(118): if (columnPosLeft[i] > range.rightPx) {\r\n
Login.c(118): // All columns to the right are outside the
range.\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): appendCellHtml(stringArray, row, i, colspan, d);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (colspan > 1) {\r\n
Login.c(118): i += (colspan - 1);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("</div>");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function appendCellHtml(stringArray, row, cell, colspan,
item) {\r\n
Login.c(118): var m = columns[cell];\r\n
Login.c(118): var cellCss = "slick-cell l" + cell + " r" +
Math.min(columns.length - 1, cell + col
Login.c(118): span - 1) +\r\n
Login.c(118): (m.cssClass ? " " + m.cssClass : "");\r\n
Login.c(118): if (row === activeRow && cell === activeCell) {\r\n
Login.c(118): cellCss += (" active");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // TODO: merge them together in the setter\r\n
Login.c(118): for (var key in cellCssClasses) {\r\n
Login.c(118): if (cellCssClasses[key][row] && cellCssClasses[key][row]
[m.id]) {\r\n
Login.c(118): cellCss += (" " + cellCssClasses[key][row][m.id]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("<div class='" + cellCss + "'>");\r\n
Login.c(118): \r\n
Login.c(118): // if there is a corresponding row (if not, this is the Add
New row or this data has
Login.c(118): n't been loaded yet)\r\n
Login.c(118): if (item) {\r\n
Login.c(118): var value = getDataItemValueForColumn(item, m);\r\n
Login.c(118): stringArray.push(getFormatter(row, m)(row, cell, value,
m, item));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("</div>");\r\n
Login.c(118): \r\n
Login.c(118): rowsCache[row].cellRenderQueue.push(cell);\r\n
Login.c(118): rowsCache[row].cellColSpans[cell] = colspan;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function cleanupRows(rangeToKeep) {\r\n
Login.c(118): for (var i in rowsCache) {\r\n
Login.c(118): if (((i = parseInt(i, 10)) !== activeRow) && (i <
rangeToKeep.top || i > rangeToKe
Login.c(118): ep.bottom)) {\r\n
Login.c(118): removeRowFromCache(i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidate() {\r\n
Login.c(118): updateRowCount();\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidateAllRows() {\r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): removeRowFromCache(row);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function removeRowFromCache(row) {\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (rowNodeFromLastMouseWheelEvent == cacheEntry.rowNode)
{\r\n
Login.c(118): cacheEntry.rowNode.style.display = 'none';\r\n
Login.c(118): zombieRowNodeFromLastMouseWheelEvent =
rowNodeFromLastMouseWheelEvent;\r\n
Login.c(118): } else {\r\n
Login.c(118): $canvas[0].removeChild(cacheEntry.rowNode);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): delete rowsCache[row];\r\n
Login.c(118): delete postProcessedRows[row];\r\n
Login.c(118): renderedRows--;\r\n
Login.c(118): counter_rows_removed++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidateRows(rows) {\r\n
Login.c(118): var i, rl;\r\n
Login.c(118): if (!rows || !rows.length) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): vScrollDir = 0;\r\n
Login.c(118): for (i = 0, rl = rows.length; i < rl; i++) {\r\n
Login.c(118): if (currentEditor && activeRow === rows[i]) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): if (rowsCache[rows[i]]) {\r\n
Login.c(118): removeRowFromCache(rows[i]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidateRow(row) {\r\n
Login.c(118): invalidateRows([row]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateCell(row, cell) {\r\n
Login.c(118): var cellNode = getCellNode(row, cell);\r\n
Login.c(118): if (!cellNode) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var m = columns[cell], d = getDataItem(row);\r\n
Login.c(118): if (currentEditor && activeRow === row && activeCell ===
cell) {\r\n
Login.c(118): currentEditor.loadValue(d);\r\n
Login.c(118): } else {\r\n
Login.c(118): cellNode.innerHTML = d ? getFormatter(row, m)(row, cell,
getDataItemValueForColumn
Login.c(118): (d, m), m, d) : "";\r\n
Login.c(118): invalidatePostProcessingResults(row);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateRow(row) {\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): \r\n
Login.c(118): var d = getDataItem(row);\r\n
Login.c(118): \r\n
Login.c(118): for (var columnIdx in cacheEntry.cellNodesByColumnIdx)
{\r\n
Login.c(118): if (!
cacheEntry.cellNodesByColumnIdx.hasOwnProperty(columnIdx)) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): columnIdx = columnIdx | 0;\r\n
Login.c(118): var m = columns[columnIdx],\r\n
Login.c(118): node =
cacheEntry.cellNodesByColumnIdx[columnIdx];\r\n
Login.c(118): \r\n
Login.c(118): if (row === activeRow && columnIdx === activeCell &&
currentEditor) {\r\n
Login.c(118): currentEditor.loadValue(d);\r\n
Login.c(118): } else if (d) {\r\n
Login.c(118): node.innerHTML = getFormatter(row, m)(row, columnIdx,
getDataItemValueForColumn(
Login.c(118): d, m), m, d);\r\n
Login.c(118): } else {\r\n
Login.c(118): node.innerHTML = "";\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): invalidatePostProcessingResults(row);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getViewportHeight() {\r\n
Login.c(118): return parseFloat($.css($container[0], "height", true))
-\r\n
Login.c(118): parseFloat($.css($container[0], "paddingTop", true))
-\r\n
Login.c(118): parseFloat($.css($container[0], "paddingBottom", true))
-\r\n
Login.c(118): parseFloat($.css($headerScroller[0], "height")) -
getVBoxDelta($headerScroller)
Login.c(118): -\r\n
Login.c(118): (options.showTopPanel ? options.topPanelHeight +
getVBoxDelta($topPanelScroller)
Login.c(118): : 0) -\r\n
Login.c(118): (options.showHeaderRow ? options.headerRowHeight +
getVBoxDelta($headerRowScroll
Login.c(118): er) : 0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function resizeCanvas() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): if (options.autoHeight) {\r\n
Login.c(118): viewportH = options.rowHeight *
getDataLengthIncludingAddNew();\r\n
Login.c(118): } else {\r\n
Login.c(118): viewportH = getViewportHeight();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): numVisibleRows = Math.ceil(viewportH /
options.rowHeight);\r\n
Login.c(118): viewportW = parseFloat($.css($container[0], "width",
true));\r\n
Login.c(118): if (!options.autoHeight) {\r\n
Login.c(118): $viewport.height(viewportH);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): autosizeColumns();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateRowCount();\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): // Since the width has changed, force the render() to
reevaluate virtually rendered
Login.c(118): cells.\r\n
Login.c(118): lastRenderedScrollLeft = -1;\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateRowCount() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): \r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): var numberOfRows = dataLengthIncludingAddNew +\r\n
Login.c(118): (options.leaveSpaceForNewRows ? numVisibleRows - 1 :
0);\r\n
Login.c(118): \r\n
Login.c(118): var oldViewportHasVScroll = viewportHasVScroll;\r\n
Login.c(118): // with autoHeight, we do not need to accommodate the
vertical scroll bar\r\n
Login.c(118): viewportHasVScroll = !options.autoHeight && (numberOfRows *
options.rowHeight > view
Login.c(118): portH);\r\n
Login.c(118): \r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): \r\n
Login.c(118): // remove the rows that are now outside of the data
range\r\n
Login.c(118): // this helps avoid redundant calls to .removeRow() when
the size of the data decrea
Login.c(118): sed by thousands of rows\r\n
Login.c(118): var l = dataLengthIncludingAddNew - 1;\r\n
Login.c(118): for (var i in rowsCache) {\r\n
Login.c(118): if (i >= l) {\r\n
Login.c(118): removeRowFromCache(i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellNode && activeRow > l) {\r\n
Login.c(118): resetActiveCell();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var oldH = h;\r\n
Login.c(118): th = Math.max(options.rowHeight * numberOfRows, viewportH -
scrollbarDimensions.heig
Login.c(118): ht);\r\n
Login.c(118): if (th < maxSupportedCssHeight) {\r\n
Login.c(118): // just one page\r\n
Login.c(118): h = ph = th;\r\n
Login.c(118): n = 1;\r\n
Login.c(118): cj = 0;\r\n
Login.c(118): } else {\r\n
Login.c(118): // break into pages\r\n
Login.c(118): h = maxSupportedCssHeight;\r\n
Login.c(118): ph = h / 100;\r\n
Login.c(118): n = Math.floor(th / ph);\r\n
Login.c(118): cj = (th - h) / (n - 1);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (h !== oldH) {\r\n
Login.c(118): $canvas.css("height", h);\r\n
Login.c(118): scrollTop = $viewport[0].scrollTop;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var oldScrollTopInRange = (scrollTop + offset <= th -
viewportH);\r\n
Login.c(118): \r\n
Login.c(118): if (th == 0 || scrollTop == 0) {\r\n
Login.c(118): page = offset = 0;\r\n
Login.c(118): } else if (oldScrollTopInRange) {\r\n
Login.c(118): // maintain virtual position\r\n
Login.c(118): scrollTo(scrollTop + offset);\r\n
Login.c(118): } else {\r\n
Login.c(118): // scroll to bottom\r\n
Login.c(118): scrollTo(th - viewportH);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (h != oldH && options.autoHeight) {\r\n
Login.c(118): resizeCanvas();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns && oldViewportHasVScroll !=
viewportHasVScroll) {\r\n
Login.c(118): autosizeColumns();\r\n
Login.c(118): }\r\n
Login.c(118): updateCanvasWidth(false);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getVisibleRange(viewportTop, viewportLeft) {\r\n
Login.c(118): if (viewportTop == null) {\r\n
Login.c(118): viewportTop = scrollTop;\r\n
Login.c(118): }\r\n
Login.c(118): if (viewportLeft == null) {\r\n
Login.c(118): viewportLeft = scrollLeft;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r
Login.c(118): t=7815ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): \n
Login.c(118): top: getRowFromPosition(viewportTop),\r\n
Login.c(118): bottom: getRowFromPosition(viewportTop + viewportH) +
1,\r\n
Login.c(118): leftPx: viewportLeft,\r\n
Login.c(118): rightPx: viewportLeft + viewportW\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getRenderedRange(viewportTop, viewportLeft) {\r\n
Login.c(118): var range = getVisibleRange(viewportTop, viewportLeft);\r\n
Login.c(118): var buffer = Math.round(viewportH / options.rowHeight);\r\n
Login.c(118): var minBuffer = 3;\r\n
Login.c(118): \r\n
Login.c(118): if (vScrollDir == -1) {\r\n
Login.c(118): range.top -= buffer;\r\n
Login.c(118): range.bottom += minBuffer;\r\n
Login.c(118): } else if (vScrollDir == 1) {\r\n
Login.c(118): range.top -= minBuffer;\r\n
Login.c(118): range.bottom += buffer;\r\n
Login.c(118): } else {\r\n
Login.c(118): range.top -= minBuffer;\r\n
Login.c(118): range.bottom += minBuffer;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): range.top = Math.max(0, range.top);\r\n
Login.c(118): range.bottom = Math.min(getDataLengthIncludingAddNew() - 1,
range.bottom);\r\n
Login.c(118): \r\n
Login.c(118): range.leftPx -= viewportW;\r\n
Login.c(118): range.rightPx += viewportW;\r\n
Login.c(118): \r\n
Login.c(118): range.leftPx = Math.max(0, range.leftPx);\r\n
Login.c(118): range.rightPx = Math.min(canvasWidth, range.rightPx);\r\n
Login.c(118): \r\n
Login.c(118): return range;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function ensureCellNodesInRowsCache(row) {\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (cacheEntry) {\r\n
Login.c(118): if (cacheEntry.cellRenderQueue.length) {\r\n
Login.c(118): var lastChild = cacheEntry.rowNode.lastChild;\r\n
Login.c(118): while (cacheEntry.cellRenderQueue.length) {\r\n
Login.c(118): var columnIdx = cacheEntry.cellRenderQueue.pop();\r\n
Login.c(118): cacheEntry.cellNodesByColumnIdx[columnIdx] =
lastChild;\r\n
Login.c(118): lastChild = lastChild.previousSibling;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cleanUpCells(range, row) {\r\n
Login.c(118): var totalCellsRemoved = 0;\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): \r\n
Login.c(118): // Remove cells outside the range.\r\n
Login.c(118): var cellsToRemove = [];\r\n
Login.c(118): for (var i in cacheEntry.cellNodesByColumnIdx) {\r\n
Login.c(118): // I really hate it when people mess with
Array.prototype.\r\n
Login.c(118): if (!cacheEntry.cellNodesByColumnIdx.hasOwnProperty(i))
{\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // This is a string, so it needs to be cast back to a
number.\r\n
Login.c(118): i = i | 0;\r\n
Login.c(118): \r\n
Login.c(118): var colspan = cacheEntry.cellColSpans[i];\r\n
Login.c(118): if (columnPosLeft[i] > range.rightPx ||\r\n
Login.c(118): columnPosRight[Math.min(columns.length - 1, i + colspan
- 1)] < range.leftPx) {\r
Login.c(118): \n
Login.c(118): if (!(row == activeRow && i == activeCell)) {\r\n
Login.c(118): cellsToRemove.push(i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var cellToRemove;\r\n
Login.c(118): while ((cellToRemove = cellsToRemove.pop()) != null) {\r\n
Login.c(118):
cacheEntry.rowNode.removeChild(cacheEntry.cellNodesByColumnIdx[cellToRemove]);\r\n
Login.c(118): delete cacheEntry.cellColSpans[cellToRemove];\r\n
Login.c(118): delete cacheEntry.cellNodesByColumnIdx[cellToRemove];\r\n
Login.c(118): if (postProcessedRows[row]) {\r\n
Login.c(118): delete postProcessedRows[row][cellToRemove];\r\n
Login.c(118): }\r\n
Login.c(118): totalCellsRemoved++;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cleanUpAndRenderCells(range) {\r\n
Login.c(118): var cacheEntry;\r\n
Login.c(118): var stringArray = [];\r\n
Login.c(118): var processedRows = [];\r\n
Login.c(118): var cellsAdded;\r\n
Login.c(118): var totalCellsAdded = 0;\r\n
Login.c(118): var colspan;\r\n
Login.c(118): \r\n
Login.c(118): for (var row = range.top, btm = range.bottom; row <= btm;
row++) {\r\n
Login.c(118): cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // cellRenderQueue populated in renderRows() needs to be
cleared first\r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): \r\n
Login.c(118): cleanUpCells(range, row);\r\n
Login.c(118): \r\n
Login.c(118): // Render missing cells.\r\n
Login.c(118): cellsAdded = 0;\r\n
Login.c(118): \r\n
Login.c(118): var metadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): metadata = metadata && metadata.columns;\r\n
Login.c(118): \r\n
Login.c(118): var d = getDataItem(row);\r\n
Login.c(118): \r\n
Login.c(118): // TODO: shorten this loop (index? heuristics? binary
search?)\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): // Cells to the right are outside the range.\r\n
Login.c(118): if (columnPosLeft[i] > range.rightPx) {\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // Already rendered.\r\n
Login.c(118): if ((colspan = cacheEntry.cellColSpans[i]) != null)
{\r\n
Login.c(118): i += (colspan > 1 ? colspan - 1 : 0);\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): colspan = 1;\r\n
Login.c(118): if (metadata) {\r\n
Login.c(118): var columnData = metadata[columns[i].id] ||
metadata[i];\r\n
Login.c(118): colspan = (columnData && columnData.colspan) ||
1;\r\n
Login.c(118): if (colspan === "*") {\r\n
Login.c(118): colspan = ii - i;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (columnPosRight[Math.min(ii - 1, i + colspan - 1)] >
range.leftPx) {\r\n
Login.c(118): appendCellHtml(stringArray, row, i, colspan, d);\r\n
Login.c(118): cellsAdded++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): i += (colspan > 1 ? colspan - 1 : 0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (cellsAdded) {\r\n
Login.c(118): totalCellsAdded += cellsAdded;\r\n
Login.c(118): processedRows.push(row);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!stringArray.length) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var x = document.createElement("div");\r\n
Login.c(118): x.innerHTML = stringArray.join("");\r\n
Login.c(118): \r\n
Login.c(118): var processedRow;\r\n
Login.c(118): var node;\r\n
Login.c(118): while ((processedRow = processedRows.pop()) != null) {\r\n
Login.c(118): cacheEntry = rowsCache[processedRow];\r\n
Login.c(118): var columnIdx;\r\n
Login.c(118): while ((columnIdx = cacheEntry.cellRenderQueue.pop()) !=
null) {\r\n
Login.c(118): node = x.lastChild;\r\n
Login.c(118): cacheEntry.rowNode.appendChild(node);\r\n
Login.c(118): cacheEntry.cellNodesByColumnIdx[columnIdx] = node;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function renderRows(range) {\r\n
Login.c(118): var parentNode = $canvas[0],\r\n
Login.c(118): stringArray = [],\r\n
Login.c(118): rows = [],\r\n
Login.c(118): needToReselectCell = false,\r\n
Login.c(118): dataLength = getDataLength();\r\n
Login.c(118): \r\n
Login.c(118): for (var i = range.top, ii = range.bottom; i <= ii; i++)
{\r\n
Login.c(118): if (rowsCache[i]) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): renderedRows++;\r\n
Login.c(118): rows.push(i);\r\n
Login.c(118): \r\n
Login.c(118): // Create an entry right away so that appendRowHtml()
can\r\n
Login.c(118): // start populatating it.\r\n
Login.c(118): rowsCache[i] = {\r\n
Login.c(118): "rowNode": null,\r\n
Login.c(118): \r\n
Login.c(118): // ColSpans of rendered cells (by column idx).\r\n
Login.c(118): // Can also be used for checking whether a cell has
been rendered.\r\n
Login.c(118): "cellColSpans": [],\r\n
Login.c(118): \r\n
Login.c(118): // Cell nodes (by column idx). Lazy-populated by
ensureCellNodesInRowsCache().\r
Login.c(118): \n
Login.c(118): "cellNodesByColumnIdx": [],\r\n
Login.c(118): \r\n
Login.c(118): // Column indices of cell nodes that have been
rendered, but not yet indexed in\r
Login.c(118): \n
Login.c(118): // cellNodesByColumnIdx. These are in the same order
as cell nodes added at the
Login.c(118): \r\n
Login.c(118): // end of the row.\r\n
Login.c(118): "cellRenderQueue": []\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): appendRowHtml(stringArray, i, range, dataLength);\r\n
Login.c(118): if (activeCellNode && activeRow === i) {\r\n
Login.c(118): needToReselectCell = true;\r\n
Login.c(118): }\r\n
Login.c(118): counter_rows_rendered++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!rows.length) { return; }\r\n
Login.c(118): \r\n
Login.c(118): var x = document.createElement("div");\r\n
Login.c(118): x.innerHTML = stringArray.join("");\r\n
Login.c(118): \r\n
Login.c(118): for (var i = 0, ii = rows.length; i < ii; i++) {\r\n
Login.c(118): rowsCache[rows[i]].rowNode =
parentNode.appendChild(x.firstChild);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (needToReselectCell) {\r\n
Login.c(118): activeCellNode = getCellNode(activeRow, activeCell);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function startPostProcessing() {\r\n
Login.c(118): if (!options.enableAsyncPostRender) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): clearTimeout(h_postrender);\r\n
Login.c(118): h_postrender = setTimeout(asyncPostProcessRows,
options.asyncPostRenderDelay);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidatePostProcessingResults(row) {\r\n
Login.c(118): delete postProcessedRows[row];\r\n
Login.c(118): postProcessFromRow = Math.min(postProcessFromRow, row);\r\n
Login.c(118): postProcessToRow = Math.max(postProcessToRow, row);\r\n
Login.c(118): startPostProcessing();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateRowPositions() {\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): rowsCache[row].rowNode.style.top = getRowTop(row) +
"px";\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function render() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): var visible = getVisibleRange();\r\n
Login.c(118): var rendered = getRenderedRange();\r\n
Login.c(118): \r\n
Login.c(118): // remove rows no longer in the viewport\r\n
Login.c(118): cleanupRows(rendered);\r\n
Login.c(118): \r\n
Login.c(118): // add new rows & missing cells in existing rows\r\n
Login.c(118): if (lastRenderedScrollLeft != scrollLeft) {\r\n
Login.c(118): cleanUpAndRenderCells(rendered);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // render missing rows\r\n
Login.c(118): renderRows(rendered);\r\n
Login.c(118): \r\n
Login.c(118): postProcessFromRow = visible.top;\r\n
Login.c(118): postProcessToRow = Math.min(getDataLengthIncludingAddNew()
- 1, visible.bottom);\r\n
Login.c(118): startPostProcessing();\r\n
Login.c(118): \r\n
Login.c(118): lastRenderedScrollTop = scrollTop;\r\n
Login.c(118): lastRenderedScrollLeft = scrollLeft;\r\n
Login.c(118): h_render = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderRowScroll() {\r\n
Login.c(118): var scrollLeft = $headerRowScroller[0].scrollLeft;\r\n
Login.c(118): if (scrollLeft != $viewport[0].scrollLeft) {\r\n
Login.c(118): $viewport[0].scrollLeft = scrollLeft;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleScroll() {\r\n
Login.c(118): scrollTop = $viewport[0].scrollTop;\r\n
Login.c(118): scrollLeft = $viewport[0].scrollLeft;\r\n
Login.c(118): var vScrollDist = Math.abs(scrollTop - prevScrollTop);\r\n
Login.c(118): var hScrollDist = Math.abs(scrollLeft -
prevScrollLeft);\r\n
Login.c(118): \r\n
Login.c(118): if (hScrollDist) {\r\n
Login.c(118): prevScrollLeft = scrollLeft;\r\n
Login.c(118): $headerScroller[0].scrollLeft = scrollLeft;\r\n
Login.c(118): $topPanelScroller[0].scrollLeft = scrollLeft;\r\n
Login.c(118): $headerRowScroller[0].scrollLeft = scrollLeft;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (vScrollDist) {\r\n
Login.c(118): vScrollDir = prevScrollTop < scrollTop ? 1 : -1;\r\n
Login.c(118): prevScrollTop = scrollTop;\r\n
Login.c(118): \r\n
Login.c(118): // switch virtual pages if needed\r\n
Login.c(118): if (vScrollDist < viewportH) {\r\n
Login.c(118): scrollTo(scrollTop + offset);\r\n
Login.c(118): } else {\r\n
Login.c(118): var oldOffset = offset;\r\n
Login.c(118): if (h == viewportH) {\r\n
Login.c(118): page = 0;\r\n
Login.c(118): } else {\r\n
Login.c(118): page = Math.min(n - 1, Math.floor(scrollTop * ((th -
viewportH) / (h - viewpor
Login.c(118): tH)) * (1 / ph)));\r\n
Login.c(118): }\r\n
Login.c(118): offset = Math.round(page * cj);\r\n
Login.c(118): if (oldOffset != offset) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (hScrollDist || vScrollDist) {\r\n
Login.c(118): if (h_render) {\r\n
Login.c(118): clearTimeout(h_render);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (Math.abs(lastRenderedScrollTop - scrollTop) > 20
||\r\n
Login.c(118): Math.abs(lastRenderedScrollLeft - scrollLeft) > 20)
{\r\n
Login.c(118): if (options.forceSyncScrolling || (\r\n
Login.c(118): Math.abs(lastRenderedScrollTop - scrollTop) <
viewportH &&\r\n
Login.c(118): Math.abs(lastRenderedScrollLeft - scrollLeft) <
viewportW)) {\r\n
Login.c(118): render();\r\n
Login.c(118): } else {\r\n
Login.c(118): h_render = setTimeout(render, 50);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onViewportChanged, {});\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onScroll, {scrollLeft: scrollLeft, scrollTop:
scrollTop});\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function asyncPostProcessRows() {\r\n
Login.c(118): var dataLength = getDataLength();\r\n
Login.c(118): while (postProcessFromRow <= postProcessToRow) {\r\n
Login.c(118): var row = (vScrollDir >= 0) ? postProcessFromRow++ :
postProcessToRow--;\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry || row >= dataLength) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!postProcessedRows[row]) {\r\n
Login.c(118): postProcessedRows[row] = {};\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): for (var columnIdx in cacheEntry.cellNodesByColumnIdx)
{\r\n
Login.c(118): if (!
cacheEntry.cellNodesByColumnIdx.hasOwnProperty(columnIdx)) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): columnIdx = columnIdx | 0;\r\n
Login.c(118): \r\n
Login.c(118): var m = columns[columnIdx];\r\n
Login.c(118): if (m.asyncPostRender && !postProcessedRows[row]
[columnIdx]) {\r\n
Login.c(118): var node =
cacheEntry.cellNodesByColumnIdx[columnIdx];\r\n
Login.c(118): if (node) {\r\n
Login.c(118): m.asyncPostRender(node, row, getDataItem(row),
m);\r\n
Login.c(118): }\r\n
Login.c(118): postProcessedRows[row][columnIdx] = true;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): h_postrender = setTimeout(asyncPostProcessRows,
options.asyncPostRenderDelay);\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateCellCssStylesOnRenderedRows(addedHash,
removedHash) {\r\n
Login.c(118): var node, columnId, addedRowHash, removedRowHash;\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): removedRowHash = removedHash && removedHash[row];\r\n
Login.c(118): addedRowHash = addedHash && addedHash[row];\r\n
Login.c(118): \r\n
Login.c(118): if (removedRowHash) {\r\n
Login.c(118): for (columnId in removedRowHash) {\r\n
Login.c(118): if (!addedRowHash || removedRowHash[columnId] !=
addedRowHash[columnId]) {\r\n
Login.c(118): node = getCellNode(row,
getColumnIndex(columnId));\r\n
Login.c(118): if (node) {\r\n
Login.c(118): $
(node).removeClass(removedRowHash[columnId]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (addedRowHas
Login.c(118): t=7838ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): h) {\r\n
Login.c(118): for (columnId in addedRowHash) {\r\n
Login.c(118): if (!removedRowHash || removedRowHash[columnId] !=
addedRowHash[columnId]) {\r
Login.c(118): \n
Login.c(118): node = getCellNode(row,
getColumnIndex(columnId));\r\n
Login.c(118): if (node) {\r\n
Login.c(118): $(node).addClass(addedRowHash[columnId]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addCellCssStyles(key, hash) {\r\n
Login.c(118): if (cellCssClasses[key]) {\r\n
Login.c(118): throw "addCellCssStyles: cell CSS hash with key '" + key
+ "' already exists.";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): cellCssClasses[key] = hash;\r\n
Login.c(118): updateCellCssStylesOnRenderedRows(hash, null);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onCellCssStylesChanged, { "key": key, "hash":
hash });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function removeCellCssStyles(key) {\r\n
Login.c(118): if (!cellCssClasses[key]) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateCellCssStylesOnRenderedRows(null,
cellCssClasses[key]);\r\n
Login.c(118): delete cellCssClasses[key];\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onCellCssStylesChanged, { "key": key, "hash":
null });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setCellCssStyles(key, hash) {\r\n
Login.c(118): var prevHash = cellCssClasses[key];\r\n
Login.c(118): \r\n
Login.c(118): cellCssClasses[key] = hash;\r\n
Login.c(118): updateCellCssStylesOnRenderedRows(hash, prevHash);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onCellCssStylesChanged, { "key": key, "hash":
hash });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellCssStyles(key) {\r\n
Login.c(118): return cellCssClasses[key];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function flashCell(row, cell, speed) {\r\n
Login.c(118): speed = speed || 100;\r\n
Login.c(118): if (rowsCache[row]) {\r\n
Login.c(118): var $cell = $(getCellNode(row, cell));\r\n
Login.c(118): \r\n
Login.c(118): function toggleCellClass(times) {\r\n
Login.c(118): if (!times) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): setTimeout(function () {\r\n
Login.c(118): $cell.queue(function () {\r\n
Login.c(118):
$cell.toggleClass(options.cellFlashingCssClass).dequeue();\r\n
Login.c(118): toggleCellClass(times - 1);\r\n
Login.c(118): });\r\n
Login.c(118): },\r\n
Login.c(118): speed);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): toggleCellClass(4);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Interactivity\r\n
Login.c(118): \r\n
Login.c(118): function handleMouseWheel(e) {\r\n
Login.c(118): var rowNode = $(e.target).closest(".slick-row")[0];\r\n
Login.c(118): if (rowNode != rowNodeFromLastMouseWheelEvent) {\r\n
Login.c(118): if (zombieRowNodeFromLastMouseWheelEvent &&
zombieRowNodeFromLastMouseWheelEvent !
Login.c(118): = rowNode) {\r\n
Login.c(118):
$canvas[0].removeChild(zombieRowNodeFromLastMouseWheelEvent);\r\n
Login.c(118): zombieRowNodeFromLastMouseWheelEvent = null;\r\n
Login.c(118): }\r\n
Login.c(118): rowNodeFromLastMouseWheelEvent = rowNode; \r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDragInit(e, dd) {\r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || !cellExists(cell.row, cell.cell)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var retval = trigger(self.onDragInit, dd, e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return retval;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // if nobody claims to be handling drag'n'drop by stopping
immediate propagation,\r\n
Login.c(118): // cancel out of it\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDragStart(e, dd) {\r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || !cellExists(cell.row, cell.cell)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var retval = trigger(self.onDragStart, dd, e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return retval;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDrag(e, dd) {\r\n
Login.c(118): return trigger(self.onDrag, dd, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDragEnd(e, dd) {\r\n
Login.c(118): trigger(self.onDragEnd, dd, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleKeyDown(e) {\r\n
Login.c(118): trigger(self.onKeyDown, {row: activeRow, cell: activeCell},
e);\r\n
Login.c(118): var handled = e.isImmediatePropagationStopped();\r\n
Login.c(118): \r\n
Login.c(118): if (!handled) {\r\n
Login.c(118): if (!e.shiftKey && !e.altKey && !e.ctrlKey) {\r\n
Login.c(118): if (e.which == 27) {\r\n
Login.c(118): if (!getEditorLock().isActive()) {\r\n
Login.c(118): return; // no editing mode to cancel, allow
bubbling and default processing
Login.c(118): (exit without cancelling the event)\r\n
Login.c(118): }\r\n
Login.c(118): cancelEditAndSetFocus();\r\n
Login.c(118): } else if (e.which == 34) {\r\n
Login.c(118): navigatePageDown();\r\n
Login.c(118): handled = true; \r\n
Login.c(118): } else if (e.which == 33) {\r\n
Login.c(118): navigatePageUp();\r\n
Login.c(118): handled = true;\r\n
Login.c(118): } else if (e.which == 37) {\r\n
Login.c(118): handled = navigateLeft();\r\n
Login.c(118): } else if (e.which == 39) {\r\n
Login.c(118): handled = navigateRight();\r\n
Login.c(118): } else if (e.which == 38) {\r\n
Login.c(118): handled = navigateUp();\r\n
Login.c(118): } else if (e.which == 40) {\r\n
Login.c(118): handled = navigateDown();\r\n
Login.c(118): } else if (e.which == 9) {\r\n
Login.c(118): handled = navigateNext();\r\n
Login.c(118): } else if (e.which == 13) {\r\n
Login.c(118): if (options.editable) {\r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): // adding new row\r\n
Login.c(118): if (activeRow === getDataLength()) {\r\n
Login.c(118): navigateDown();\r\n
Login.c(118): } else {\r\n
Login.c(118): commitEditAndSetFocus();\r\n
Login.c(118): }\r\n
Login.c(118): } else {\r\n
Login.c(118): if (getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): makeActiveCellEditable();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): handled = true;\r\n
Login.c(118): }\r\n
Login.c(118): } else if (e.which == 9 && e.shiftKey && !e.ctrlKey && !
e.altKey) {\r\n
Login.c(118): handled = navigatePrev();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (handled) {\r\n
Login.c(118): // the event has been handled so don't let parent element
(bubbling/propagation) o
Login.c(118): r browser (default) handle it\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): try {\r\n
Login.c(118): e.originalEvent.keyCode = 0; // prevent default
behaviour for special keys in IE
Login.c(118): browsers (F3, F5, etc.)\r\n
Login.c(118): }\r\n
Login.c(118): // ignore exceptions - setting the original event's
keycode throws access denied e
Login.c(118): xception for "Ctrl"\r\n
Login.c(118): // (hitting control key only, nothing else), "Shift"
(maybe others)\r\n
Login.c(118): catch (error) {\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleClick(e) {\r\n
Login.c(118): if (!currentEditor) {\r\n
Login.c(118): // if this click resulted in some cell child node getting
focus,\r\n
Login.c(118): // don't steal it back - keyboard events will still
bubble up\r\n
Login.c(118): // IE9+ seems to default DIVs to tabIndex=0 instead of
-1, so check for cell click
Login.c(118): s directly.\r\n
Login.c(118): if (e.target != document.activeElement || $
(e.target).hasClass("slick-cell")) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || (currentEditor !== null && activeRow ==
cell.row && activeCell == cell.
Login.c(118): cell)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onClick, {row: cell.row, cell: cell.cell},
e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if ((activeCell != cell.cell || activeRow != cell.row) &&
canCellBeActive(cell.row,
Login.c(118): cell.cell)) {\r\n
Login.c(118): if (!getEditorLock().isActive() ||
getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): scrollRowIntoView(cell.row, false);\r\n
Login.c(118): setActiveCellInternal(getCellNode(cell.row,
cell.cell));\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleContextMenu(e) {\r\n
Login.c(118): var $cell = $(e.target).closest(".slick-cell",
$canvas);\r\n
Login.c(118): if ($cell.length === 0) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // are we editing this cell?\r\n
Login.c(118): if (activeCellNode === $cell[0] && currentEditor !== null)
{\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onContextMenu, {}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDblClick(e) {\r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || (currentEditor !== null && activeRow ==
cell.row && activeCell == cell.
Login.c(118): cell)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onDblClick, {row: cell.row, cell: cell.cell},
e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.editable) {\r\n
Login.c(118): gotoCell(cell.row, cell.cell, true);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderMouseEnter(e) {\r\n
Login.c(118): trigger(self.onHeaderMouseEnter, {\r\n
Login.c(118): "column": $(this).data("column")\r\n
Login.c(118): }, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderMouseLeave(e) {\r\n
Login.c(118): trigger(self.onHeaderMouseLeave, {\r\n
Login.c(118): "column": $(this).data("column")\r\n
Login.c(118): }, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderContextMenu(e) {\r\n
Login.c(118): var $header = $(e.target).closest(".slick-header-column",
".slick-header-columns");\r
Login.c(118): \n
Login.c(118): var column = $header && $header.data("column");\r\n
Login.c(118): trigger(self.onHeaderContextMenu, {column: column}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderClick(e) {\r\n
Login.c(118): var $header = $(e.target).closest(".slick-header-column",
".slick-header-columns");\r
Login.c(118): \n
Login.c(118): var column = $header && $header.data("column");\r\n
Login.c(118): if (column) {\r\n
Login.c(118): trigger(self.onHeaderClick, {column: column}, e);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleMouseEnter(e) {\r\n
Login.c(118): trigger(self.onMouseEnter, {}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleMouseLeave(e) {\r\n
Login.c(118): trigger(self.onMouseLeave, {}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cellExists(row, cell) {\r\n
Login.c(118): return !(row < 0 || row >= getDataLength() || cell < 0 ||
cell >= columns.length);\r
Login.c(118): \n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellFromPoint(x, y) {\r\n
Login.c(118): var row = getRowFromPosition(y);\r\n
Login.c(118): var cell = 0;\r\n
Login.c(118): \r\n
Login.c(118): var w = 0;\r\n
Login.c(118): for (var i = 0; i < columns.length && w < x; i++) {\r\n
Login.c(118): w += columns[i].width;\r\n
Login.c(118): cell++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (cell < 0) {\r\n
Login.c(118): cell = 0;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {row: row, cell: cell - 1};\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellFromNode(cellNode) {\r\n
Login.c(118): // read column number from .l<columnNumber> CSS class\r\n
Login.c(118): var cls = /l\\d+/.exec(cellNode.className);\r\n
Login.c(118): if (!cls) {\r\n
Login.c(118): throw "getCellFromNode: cannot get cell - " +
cellNode.className;\r\n
Login.c(118): }\r\n
Login.c(118): return parseInt(cls[0].substr(1, cls[0].length - 1),
10);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getRowFromNode(rowNode) {\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): if (rowsCache[row].rowNode === rowNode) {\r\n
Login.c(118): return row | 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellFromEvent(e) {\r\n
Login.c(118): var $cell = $(e.target).closest(".slick-cell",
$canvas);\r\n
Login.c(118): if (!$cell.length) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var row = getRowFromNode($cell[0].parentNode);\r\n
Login.c(118): var cell = getCellFromNode($cell[0]);\r\n
Login.c(118): \r\n
Login.c(118): if (row == null || cell == null) {\r\n
Login.c(118): return null;\r\n
Login.c(118): } else {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellNodeBox(row, cell) {\r\n
Login.c(118): if (!cellExists(row, cell)) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var y1 = getRowTop(row);\r\n
Login.c(118): var y2 = y1 + options.rowHeight - 1;\r\n
Login.c(118): var x1 = 0;\r\n
Login.c(118): for (var i = 0; i < cell; i++) {\r\n
Login.c(118): x1 += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): var x2 = x1 + columns[cell].width;\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): top: y1,\r\n
Login.c(118): left: x1,\r\n
Login.c(118): bottom: y2,\r\n
Login.c(118): right: x2\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Cell switching\r\n
Login.c(118): \r\n
Login.c(118): function resetActiveCell() {\r\n
Login.c(118): setActiveCellInternal(null, false);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setFocus() {\r\n
Login.c(118): if (tabbingDirection == -1) {\r\n
Login.c(118): $focusSink[0].focus();\r\n
Login.c(118): } else {\r\n
Login.c(118): $focusSink2[0].focus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollCellIntoView(row, cell, doPaging) {\r\n
Login.c(118): scrollRowIntoView(row, doPaging);\r\n
Login.c(118): \r\n
Login.c(118): var colspan = getColspan(row, cell);\r\n
Login.c(118): var left = columnPosLeft[cell],\r\n
Login.c(118): right = columnPosRight[cell + (colspan > 1 ? colspan -
1 : 0)],\r\n
Login.c(118): scrollRight = scrollLeft + viewportW;\r\n
Login.c(118): \r\n
Login.c(118): if (left < scrollLeft) {\r\n
Login.c(118): $viewport.scrollLeft(left);\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): render();\r\n
Login.c(118): } else if (right > scrollRight) {\r\n
Login.c(118): $viewport.scrollLeft(Math.min(left, right -
$viewport[0].clientWidth));\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setActiveCellInternal(newCell, opt_editMode) {\r\n
Login.c(118): if (activeCellNode !== null) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): $(activeCellNode).removeClass("active");\r\n
Login.c(118): if (rowsCache[activeRow]) {\r\n
Login.c(118): $
(rowsCache[activeRow].rowNode).removeClass("active");\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var activeCellChanged = (activeCellNode !== newCell);\r\n
Login.c(118): activeCellNode = newCell;\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellNode != null) {\r\n
Login.c(118): activeRow =
getRowFromNode(activeCellNode.parentNode);\r\n
Login.c(118): activeCell = activePosX =
getCellFromNode(activeCellNode);\r\n
Login.c(118): \r\n
Login.c(118): if (opt_editMode == null) {\r\n
Login.c(118): opt_editMode = (activeRow == getDataLength()) ||
Login.c(118): t=7856ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): options.autoEdit;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $(activeCellNode).addClass("active");\r\n
Login.c(118): $(rowsCache[activeRow].rowNode).addClass("active");\r\n
Login.c(118): \r\n
Login.c(118): if (options.editable && opt_editMode &&
isCellPotentiallyEditable(activeRow, activ
Login.c(118): eCell)) {\r\n
Login.c(118): clearTimeout(h_editorLoader);\r\n
Login.c(118): \r\n
Login.c(118): if (options.asyncEditorLoading) {\r\n
Login.c(118): h_editorLoader = setTimeout(function () {\r\n
Login.c(118): makeActiveCellEditable();\r\n
Login.c(118): }, options.asyncEditorLoadDelay);\r\n
Login.c(118): } else {\r\n
Login.c(118): makeActiveCellEditable();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): } else {\r\n
Login.c(118): activeRow = activeCell = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellChanged) {\r\n
Login.c(118): trigger(self.onActiveCellChanged, getActiveCell());\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function clearTextSelection() {\r\n
Login.c(118): if (document.selection && document.selection.empty) {\r\n
Login.c(118): try {\r\n
Login.c(118): //IE fails here if selected element is not in dom\r\n
Login.c(118): document.selection.empty();\r\n
Login.c(118): } catch (e) { }\r\n
Login.c(118): } else if (window.getSelection) {\r\n
Login.c(118): var sel = window.getSelection();\r\n
Login.c(118): if (sel && sel.removeAllRanges) {\r\n
Login.c(118): sel.removeAllRanges();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function isCellPotentiallyEditable(row, cell) {\r\n
Login.c(118): var dataLength = getDataLength();\r\n
Login.c(118): // is the data for this row loaded?\r\n
Login.c(118): if (row < dataLength && !getDataItem(row)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // are we in the Add New row? can we create new from this
cell?\r\n
Login.c(118): if (columns[cell].cannotTriggerInsert && row >= dataLength)
{\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // does this cell have an editor?\r\n
Login.c(118): if (!getEditor(row, cell)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function makeActiveCellNormal() {\r\n
Login.c(118): if (!currentEditor) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): trigger(self.onBeforeCellEditorDestroy, {editor:
currentEditor});\r\n
Login.c(118): currentEditor.destroy();\r\n
Login.c(118): currentEditor = null;\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellNode) {\r\n
Login.c(118): var d = getDataItem(activeRow);\r\n
Login.c(118): $(activeCellNode).removeClass("editable invalid");\r\n
Login.c(118): if (d) {\r\n
Login.c(118): var column = columns[activeCell];\r\n
Login.c(118): var formatter = getFormatter(activeRow, column);\r\n
Login.c(118): activeCellNode.innerHTML = formatter(activeRow,
activeCell, getDataItemValueForC
Login.c(118): olumn(d, column), column, d);\r\n
Login.c(118): invalidatePostProcessingResults(activeRow);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // if there previously was text selected on a page (such as
selected text in the edi
Login.c(118): t cell just removed),\r\n
Login.c(118): // IE can't set focus to anything else correctly\r\n
Login.c(118): if (navigator.userAgent.toLowerCase().match(/msie/)) {\r\n
Login.c(118): clearTextSelection();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): getEditorLock().deactivate(editController);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function makeActiveCellEditable(editor) {\r\n
Login.c(118): if (!activeCellNode) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): if (!options.editable) {\r\n
Login.c(118): throw "Grid : makeActiveCellEditable : should never get
called when options.editab
Login.c(118): le is false";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // cancel pending async call if there is one\r\n
Login.c(118): clearTimeout(h_editorLoader);\r\n
Login.c(118): \r\n
Login.c(118): if (!isCellPotentiallyEditable(activeRow, activeCell))
{\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnDef = columns[activeCell];\r\n
Login.c(118): var item = getDataItem(activeRow);\r\n
Login.c(118): \r\n
Login.c(118): if (trigger(self.onBeforeEditCell, {row: activeRow, cell:
activeCell, item: item, co
Login.c(118): lumn: columnDef}) === false) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): getEditorLock().activate(editController);\r\n
Login.c(118): $(activeCellNode).addClass("editable");\r\n
Login.c(118): \r\n
Login.c(118): // don't clear the cell if a custom editor is passed
through\r\n
Login.c(118): if (!editor) {\r\n
Login.c(118): activeCellNode.innerHTML = "";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): currentEditor = new (editor || getEditor(activeRow,
activeCell))({\r\n
Login.c(118): grid: self,\r\n
Login.c(118): gridPosition: absBox($container[0]),\r\n
Login.c(118): position: absBox(activeCellNode),\r\n
Login.c(118): container: activeCellNode,\r\n
Login.c(118): column: columnDef,\r\n
Login.c(118): item: item || {},\r\n
Login.c(118): commitChanges: commitEditAndSetFocus,\r\n
Login.c(118): cancelChanges: cancelEditAndSetFocus\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): if (item) {\r\n
Login.c(118): currentEditor.loadValue(item);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): serializedEditorValue = currentEditor.serializeValue();\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor.position) {\r\n
Login.c(118): handleActiveCellPositionChange();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function commitEditAndSetFocus() {\r\n
Login.c(118): // if the commit fails, it would do so due to a validation
error\r\n
Login.c(118): // if so, do not steal the focus from the editor\r\n
Login.c(118): if (getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): if (options.autoEdit) {\r\n
Login.c(118): navigateDown();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cancelEditAndSetFocus() {\r\n
Login.c(118): if (getEditorLock().cancelCurrentEdit()) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function absBox(elem) {\r\n
Login.c(118): var box = {\r\n
Login.c(118): top: elem.offsetTop,\r\n
Login.c(118): left: elem.offsetLeft,\r\n
Login.c(118): bottom: 0,\r\n
Login.c(118): right: 0,\r\n
Login.c(118): width: $(elem).outerWidth(),\r\n
Login.c(118): height: $(elem).outerHeight(),\r\n
Login.c(118): visible: true};\r\n
Login.c(118): box.bottom = box.top + box.height;\r\n
Login.c(118): box.right = box.left + box.width;\r\n
Login.c(118): \r\n
Login.c(118): // walk up the tree\r\n
Login.c(118): var offsetParent = elem.offsetParent;\r\n
Login.c(118): while ((elem = elem.parentNode) != document.body) {\r\n
Login.c(118): if (box.visible && elem.scrollHeight != elem.offsetHeight
&& $(elem).css("overflow
Login.c(118): Y") != "visible") {\r\n
Login.c(118): box.visible = box.bottom > elem.scrollTop && box.top <
elem.scrollTop + elem.cli
Login.c(118): entHeight;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (box.visible && elem.scrollWidth != elem.offsetWidth
&& $(elem).css("overflowX"
Login.c(118): ) != "visible") {\r\n
Login.c(118): box.visible = box.right > elem.scrollLeft && box.left <
elem.scrollLeft + elem.c
Login.c(118): lientWidth;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): box.left -= elem.scrollLeft;\r\n
Login.c(118): box.top -= elem.scrollTop;\r\n
Login.c(118): \r\n
Login.c(118): if (elem === offsetParent) {\r\n
Login.c(118): box.left += elem.offsetLeft;\r\n
Login.c(118): box.top += elem.offsetTop;\r\n
Login.c(118): offsetParent = elem.offsetParent;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): box.bottom = box.top + box.height;\r\n
Login.c(118): box.right = box.left + box.width;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return box;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getActiveCellPosition() {\r\n
Login.c(118): return absBox(activeCellNode);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getGridPosition() {\r\n
Login.c(118): return absBox($container[0])\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleActiveCellPositionChange() {\r\n
Login.c(118): if (!activeCellNode) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onActiveCellPositionChanged, {});\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): var cellBox = getActiveCellPosition();\r\n
Login.c(118): if (currentEditor.show && currentEditor.hide) {\r\n
Login.c(118): if (!cellBox.visible) {\r\n
Login.c(118): currentEditor.hide();\r\n
Login.c(118): } else {\r\n
Login.c(118): currentEditor.show();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor.position) {\r\n
Login.c(118): currentEditor.position(cellBox);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellEditor() {\r\n
Login.c(118): return currentEditor;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getActiveCell() {\r\n
Login.c(118): if (!activeCellNode) {\r\n
Login.c(118): return null;\r\n
Login.c(118): } else {\r\n
Login.c(118): return {row: activeRow, cell: activeCell};\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getActiveCellNode() {\r\n
Login.c(118): return activeCellNode;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollRowIntoView(row, doPaging) {\r\n
Login.c(118): var rowAtTop = row * options.rowHeight;\r\n
Login.c(118): var rowAtBottom = (row + 1) * options.rowHeight - viewportH
+ (viewportHasHScroll ?
Login.c(118): scrollbarDimensions.height : 0);\r\n
Login.c(118): \r\n
Login.c(118): // need to page down?\r\n
Login.c(118): if ((row + 1) * options.rowHeight > scrollTop + viewportH +
offset) {\r\n
Login.c(118): scrollTo(doPaging ? rowAtTop : rowAtBottom);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): // or page up?\r\n
Login.c(118): else if (row * options.rowHeight < scrollTop + offset)
{\r\n
Login.c(118): scrollTo(doPaging ? rowAtBottom : rowAtTop);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollRowToTop(row) {\r\n
Login.c(118): scrollTo(row * options.rowHeight);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollPage(dir) {\r\n
Login.c(118): var deltaRows = dir * numVisibleRows;\r\n
Login.c(118): scrollTo((getRowFromPosition(scrollTop) + deltaRows) *
options.rowHeight);\r\n
Login.c(118): render();\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableCellNavigation && activeRow != null)
{\r\n
Login.c(118): var row = activeRow + deltaRows;\r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): if (row >= dataLengthIncludingAddNew) {\r\n
Login.c(118): row = dataLengthIncludingAddNew - 1;\r\n
Login.c(118): }\r\n
Login.c(118): if (row < 0) {\r\n
Login.c(118): row = 0;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var cell = 0, prevCell = null;\r\n
Login.c(118): var prevActivePosX = activePosX;\r\n
Login.c(118): while (cell <= activePosX) {\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): prevCell = cell; \r\n
Login.c(118): }\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (prevCell !== null) {\r\n
Login.c(118): setActiveCellInternal(getCellNode(row, prevCell));\r\n
Login.c(118): activePosX = prevActivePosX;\r\n
Login.c(118): } else {\r\n
Login.c(118): resetActiveCell();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigatePageDown() {\r\n
Login.c(118): scrollPage(1);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigatePageUp() {\r\n
Login.c(118): scrollPage(-1);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColspan(row, cell) {\r\n
Login.c(118): var metadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): if (!metadata || !metadata.columns) {\r\n
Login.c(118): return 1;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnData = metadata.columns[columns[cell].id] ||
metadata.columns[cell];\r\n
Login.c(118): var colspan = (columnData && columnData.colspan);\r\n
Login.c(118): if (colspan === "*") {\r\n
Login.c(118): colspan = columns.length - cell;\r\n
Login.c(118): } else {\r\n
Login.c(118): colspan = colspan || 1;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return colspan;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function findFirstFocusableCell(row) {\r\n
Login.c(118): var cell = 0;\r\n
Login.c(118): while (cell < columns.length) {\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): return cell;\r\n
Login.c(118): }\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function findLastFocusableCell(row) {\r\n
Login.c(118): var cell = 0;\r\n
Login.c(118): var lastFocusableCell = null;\r\n
Login.c(118): while (cell < columns.length) {\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): lastFocusableCell = cell;\r\n
Login.c(118): }\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): return lastFocusableCell;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoRight(row, cell, posX) {\r\n
Login.c(118): if (cell >= columns.length) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): do {\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): while (cell < columns.length && !canCellBeActive(row,
cell));\r\n
Login.c(118): \r\n
Login.c(118): if (cell < columns.length) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": cell,\r\n
Login.c(118): "posX": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoLeft(row, cell, posX) {\r\n
Login.c(118): if (cell <= 0) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var firstFocusableCell = findFirstFocusableCell(row);\r\n
Login.c(118): if (firstFocusableCell === null || firstFocusableCell >=
cell) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var prev = {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": firstFocusableCell,\r\n
Login.c(118): "posX": firstFocusableCell\r\n
Login.c(118): };\r\n
Login.c(118): var pos;\r\n
Login.c(118): while (true) {\r\n
Login.c(118): pos = gotoRight(prev.row, prev.cell, prev.posX);\r\n
Login.c(118): if (!pos) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): if (pos.cell >= cell) {\r\n
Login.c(118): return prev;\r\n
Login.c(118): }\r\n
Login.c(118): prev = pos;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoDown(row, cell, posX) {\r\n
Login.c(118): var prevCell;\r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): while (true) {\r\n
Login.c(118): if (++row >= dataLengthIncludingAddNew) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): prevCell = cell = 0;\r\n
Login.c(118): while (cell <= posX) {\r\n
Login.c(118): prevCell = cell;\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (canCellBeActive(row, prevCell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": prevCell,\r\n
Login.c(118): "posX": posX\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoUp(row, cell, posX) {\r\n
Login.c(118): var prevCell;\r\n
Login.c(118): while (true) {\r\n
Login.c(118): if (--row < 0) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): prevCell = cell = 0;\r\n
Login.c(118): while (cell <= posX) {\r\n
Login.c(118): prevCell = cell;\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (canCellBeActive(row, prevCell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": prevCell,\r\n
Login.c(118): "posX": posX\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoNext(row, cell, posX) {\r\n
Login.c(118): if (row == null && cell == null) {\r\n
Login.c(118): row = cell = posX = 0;\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): t=7875ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): "cell": cell,\r\n
Login.c(118): "posX": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var pos = gotoRight(row, cell, posX);\r\n
Login.c(118): if (pos) {\r\n
Login.c(118): return pos;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var firstFocusableCell = null;\r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): while (++row < dataLengthIncludingAddNew) {\r\n
Login.c(118): firstFocusableCell = findFirstFocusableCell(row);\r\n
Login.c(118): if (firstFocusableCell !== null) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": firstFocusableCell,\r\n
Login.c(118): "posX": firstFocusableCell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoPrev(row, cell, posX) {\r\n
Login.c(118): if (row == null && cell == null) {\r\n
Login.c(118): row = getDataLengthIncludingAddNew() - 1;\r\n
Login.c(118): cell = posX = columns.length - 1;\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": cell,\r\n
Login.c(118): "posX": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var pos;\r\n
Login.c(118): var lastSelectableCell;\r\n
Login.c(118): while (!pos) {\r\n
Login.c(118): pos = gotoLeft(row, cell, posX);\r\n
Login.c(118): if (pos) {\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): if (--row < 0) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): cell = 0;\r\n
Login.c(118): lastSelectableCell = findLastFocusableCell(row);\r\n
Login.c(118): if (lastSelectableCell !== null) {\r\n
Login.c(118): pos = {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": lastSelectableCell,\r\n
Login.c(118): "posX": lastSelectableCell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return pos;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateRight() {\r\n
Login.c(118): return navigate("right");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateLeft() {\r\n
Login.c(118): return navigate("left");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateDown() {\r\n
Login.c(118): return navigate("down");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateUp() {\r\n
Login.c(118): return navigate("up");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateNext() {\r\n
Login.c(118): return navigate("next");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigatePrev() {\r\n
Login.c(118): return navigate("prev");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * @param {string} dir Navigation direction.\r\n
Login.c(118): * @return {boolean} Whether navigation resulted in a change
of active cell.\r\n
Login.c(118): */\r\n
Login.c(118): function navigate(dir) {\r\n
Login.c(118): if (!options.enableCellNavigation) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!activeCellNode && dir != "prev" && dir != "next")
{\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): setFocus();\r\n
Login.c(118): \r\n
Login.c(118): var tabbingDirections = {\r\n
Login.c(118): "up": -1,\r\n
Login.c(118): "down": 1,\r\n
Login.c(118): "left": -1,\r\n
Login.c(118): "right": 1,\r\n
Login.c(118): "prev": -1,\r\n
Login.c(118): "next": 1\r\n
Login.c(118): };\r\n
Login.c(118): tabbingDirection = tabbingDirections[dir];\r\n
Login.c(118): \r\n
Login.c(118): var stepFunctions = {\r\n
Login.c(118): "up": gotoUp,\r\n
Login.c(118): "down": gotoDown,\r\n
Login.c(118): "left": gotoLeft,\r\n
Login.c(118): "right": gotoRight,\r\n
Login.c(118): "prev": gotoPrev,\r\n
Login.c(118): "next": gotoNext\r\n
Login.c(118): };\r\n
Login.c(118): var stepFn = stepFunctions[dir];\r\n
Login.c(118): var pos = stepFn(activeRow, activeCell, activePosX);\r\n
Login.c(118): if (pos) {\r\n
Login.c(118): var isAddNewRow = (pos.row == getDataLength());\r\n
Login.c(118): scrollCellIntoView(pos.row, pos.cell, !isAddNewRow);\r\n
Login.c(118): setActiveCellInternal(getCellNode(pos.row,
pos.cell));\r\n
Login.c(118): activePosX = pos.posX;\r\n
Login.c(118): return true;\r\n
Login.c(118): } else {\r\n
Login.c(118): setActiveCellInternal(getCellNode(activeRow,
activeCell));\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellNode(row, cell) {\r\n
Login.c(118): if (rowsCache[row]) {\r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): return rowsCache[row].cellNodesByColumnIdx[cell];\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setActiveCell(row, cell) {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): if (row > getDataLength() || row < 0 || cell >=
columns.length || cell < 0) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!options.enableCellNavigation) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scrollCellIntoView(row, cell, false);\r\n
Login.c(118): setActiveCellInternal(getCellNode(row, cell), false);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function canCellBeActive(row, cell) {\r\n
Login.c(118): if (!options.enableCellNavigation || row >=
getDataLengthIncludingAddNew() ||\r\n
Login.c(118): row < 0 || cell >= columns.length || cell < 0) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): if (rowMetadata && typeof rowMetadata.focusable ===
"boolean") {\r\n
Login.c(118): return rowMetadata.focusable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnMetadata = rowMetadata &&
rowMetadata.columns;\r\n
Login.c(118): if (columnMetadata && columnMetadata[columns[cell].id] &&
typeof columnMetadata[colu
Login.c(118): mns[cell].id].focusable === "boolean") {\r\n
Login.c(118): return columnMetadata[columns[cell].id].focusable;\r\n
Login.c(118): }\r\n
Login.c(118): if (columnMetadata && columnMetadata[cell] && typeof
columnMetadata[cell].focusable
Login.c(118): === "boolean") {\r\n
Login.c(118): return columnMetadata[cell].focusable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //**** Custom code added for skipping disabling row
*******\r\n
Login.c(118): var item = data.getItem(row);\r\n
Login.c(118): if (item && typeof item.focusable === "boolean") {\r\n
Login.c(118): return item.focusable;\r\n
Login.c(118): }\r\n
Login.c(118): else if (item &&
item.hasOwnProperty(columns[cell].id.toString() + "_disabled") && t
Login.c(118): ypeof item[columns[cell].id.toString() + "_disabled"] ===
"boolean") {\r\n
Login.c(118): return !item[columns[cell].id.toString() +
"_disabled"];\r\n
Login.c(118): }\r\n
Login.c(118): else if (item && item.hasOwnProperty("disabled") && typeof
item["disabled"] === "boo
Login.c(118): lean") {\r\n
Login.c(118): return !item["disabled"];\r\n
Login.c(118): }\r\n
Login.c(118): //**** Custom code added for skipping disabling row
*******\r\n
Login.c(118): \r\n
Login.c(118): return columns[cell].focusable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function canCellBeSelected(row, cell) {\r\n
Login.c(118): if (row >= getDataLength() || row < 0 || cell >=
columns.length || cell < 0) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): if (rowMetadata && typeof rowMetadata.selectable ===
"boolean") {\r\n
Login.c(118): return rowMetadata.selectable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnMetadata = rowMetadata && rowMetadata.columns &&
(rowMetadata.columns[colu
Login.c(118): mns[cell].id] || rowMetadata.columns[cell]);\r\n
Login.c(118): if (columnMetadata && typeof columnMetadata.selectable ===
"boolean") {\r\n
Login.c(118): return columnMetadata.selectable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return columns[cell].selectable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoCell(row, cell, forceEdit) {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): if (!canCellBeActive(row, cell)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scrollCellIntoView(row, cell, false);\r\n
Login.c(118): \r\n
Login.c(118): var newCell = getCellNode(row, cell);\r\n
Login.c(118): \r\n
Login.c(118): // if selecting the 'add new' row, start editing right
away\r\n
Login.c(118): setActiveCellInternal(newCell, forceEdit || (row ===
getDataLength()) || options.aut
Login.c(118): oEdit);\r\n
Login.c(118): \r\n
Login.c(118): // if no editor was created, set the focus back on the
grid\r\n
Login.c(118): if (!currentEditor) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // IEditor implementation for the editor lock\r\n
Login.c(118): \r\n
Login.c(118): function commitCurrentEdit() {\r\n
Login.c(118): var item = getDataItem(activeRow);\r\n
Login.c(118): var column = columns[activeCell];\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): if (currentEditor.isValueChanged()) {\r\n
Login.c(118): var validationResults = currentEditor.validate();\r\n
Login.c(118): \r\n
Login.c(118): if (validationResults.valid) {\r\n
Login.c(118): if (activeRow < getDataLength()) {\r\n
Login.c(118): var editCommand = {\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): editor: currentEditor,\r\n
Login.c(118): serializedValue:
currentEditor.serializeValue(),\r\n
Login.c(118): prevSerializedValue: serializedEditorValue,\r\n
Login.c(118): execute: function () {\r\n
Login.c(118): this.editor.applyValue(item,
this.serializedValue);\r\n
Login.c(118): updateRow(this.row);\r\n
Login.c(118): trigger(self.onCellChange, {\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): item: item\r\n
Login.c(118): });\r\n
Login.c(118): },\r\n
Login.c(118): undo: function () {\r\n
Login.c(118): this.editor.applyValue(item,
this.prevSerializedValue);\r\n
Login.c(118): updateRow(this.row);\r\n
Login.c(118): trigger(self.onCellChange, {\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): item: item\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): if (options.editCommandHandler) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): options.editCommandHandler(item, column,
editCommand);\r\n
Login.c(118): } else {\r\n
Login.c(118): editCommand.execute();\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): } else {\r\n
Login.c(118): var newItem = {};\r\n
Login.c(118): currentEditor.applyValue(newItem,
currentEditor.serializeValue());\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): trigger(self.onAddNewRow, {item: newItem, column:
column});\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // check whether the lock has been re-acquired by
event handlers\r\n
Login.c(118): return !getEditorLock().isActive();\r\n
Login.c(118): } else {\r\n
Login.c(118): // Re-add the CSS class to trigger transitions, if
any.\r\n
Login.c(118): $(activeCellNode).removeClass("invalid");\r\n
Login.c(118): $(activeCellNode).width(); // force layout\r\n
Login.c(118): $(activeCellNode).addClass("invalid");\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onValidationError, {\r\n
Login.c(118): editor: currentEditor,\r\n
Login.c(118): cellNode: activeCellNode,\r\n
Login.c(118): validationResults: validationResults,\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): column: column\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): currentEditor.focus();\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cancelCurrentEdit() {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function rowsToRanges(rows) {\r\n
Login.c(118): var ranges = [];\r\n
Login.c(118): var lastCell = columns.length - 1;\r\n
Login.c(118): for (var i = 0; i < rows.length; i++) {\r\n
Login.c(118): ranges.push(new Slick.Range(rows[i], 0, rows[i],
lastCell));\r\n
Login.c(118): }\r\n
Login.c(118): return ranges;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getSelectedRows() {\r\n
Login.c(118): if (!selectionModel) {\r\n
Login.c(118): throw "Selection model is not set";\r\n
Login.c(118): }\r\n
Login.c(118): return selectedRows;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSelectedRows(rows) {\r\n
Login.c(118): if (!selectionModel) {\r\n
Login.c(118): throw "Selection model is not set";\r\n
Login.c(118): }\r\n
Login.c(118): selectionModel.setSelectedRanges(ro
Login.c(118): t=7890ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): wsToRanges(rows));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollPort(px) {\r\n
Login.c(118): scrollTo(px);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Debug\r\n
Login.c(118): \r\n
Login.c(118): this.debug = function () {\r\n
Login.c(118): var s = "";\r\n
Login.c(118): \r\n
Login.c(118): s += ("\\n" + "counter_rows_rendered: " +
counter_rows_rendered);\r\n
Login.c(118): s += ("\\n" + "counter_rows_removed: " +
counter_rows_removed);\r\n
Login.c(118): s += ("\\n" + "renderedRows: " + renderedRows);\r\n
Login.c(118): s += ("\\n" + "numVisibleRows: " + numVisibleRows);\r\n
Login.c(118): s += ("\\n" + "maxSupportedCssHeight: " +
maxSupportedCssHeight);\r\n
Login.c(118): s += ("\\n" + "n(umber of pages): " + n);\r\n
Login.c(118): s += ("\\n" + "(current) page: " + page);\r\n
Login.c(118): s += ("\\n" + "page height (ph): " + ph);\r\n
Login.c(118): s += ("\\n" + "vScrollDir: " + vScrollDir);\r\n
Login.c(118): \r\n
Login.c(118): alert(s);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): // a debug helper to be able to access private members\r\n
Login.c(118): this.eval = function (expr) {\r\n
Login.c(118): return eval(expr);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Public API\r\n
Login.c(118): \r\n
Login.c(118): $.extend(this, {\r\n
Login.c(118): "slickGridVersion": "2.1",\r\n
Login.c(118): \r\n
Login.c(118): // Events\r\n
Login.c(118): "onScroll": new Slick.Event(),\r\n
Login.c(118): "onSort": new Slick.Event(),\r\n
Login.c(118): "onHeaderMouseEnter": new Slick.Event(),\r\n
Login.c(118): "onHeaderMouseLeave": new Slick.Event(),\r\n
Login.c(118): "onHeaderContextMenu": new Slick.Event(),\r\n
Login.c(118): "onHeaderClick": new Slick.Event(),\r\n
Login.c(118): "onHeaderCellRendered": new Slick.Event(),\r\n
Login.c(118): "onBeforeHeaderCellDestroy": new Slick.Event(),\r\n
Login.c(118): "onHeaderRowCellRendered": new Slick.Event(),\r\n
Login.c(118): "onBeforeHeaderRowCellDestroy": new Slick.Event(),\r\n
Login.c(118): "onMouseEnter": new Slick.Event(),\r\n
Login.c(118): "onMouseLeave": new Slick.Event(),\r\n
Login.c(118): "onClick": new Slick.Event(),\r\n
Login.c(118): "onDblClick": new Slick.Event(),\r\n
Login.c(118): "onContextMenu": new Slick.Event(),\r\n
Login.c(118): "onKeyDown": new Slick.Event(),\r\n
Login.c(118): "onAddNewRow": new Slick.Event(),\r\n
Login.c(118): "onValidationError": new Slick.Event(),\r\n
Login.c(118): "onViewportChanged": new Slick.Event(),\r\n
Login.c(118): "onColumnsReordered": new Slick.Event(),\r\n
Login.c(118): "onColumnsResized": new Slick.Event(),\r\n
Login.c(118): "onCellChange": new Slick.Event(),\r\n
Login.c(118): "onBeforeEditCell": new Slick.Event(),\r\n
Login.c(118): "onBeforeCellEditorDestroy": new Slick.Event(),\r\n
Login.c(118): "onBeforeDestroy": new Slick.Event(),\r\n
Login.c(118): "onActiveCellChanged": new Slick.Event(),\r\n
Login.c(118): "onActiveCellPositionChanged": new Slick.Event(),\r\n
Login.c(118): "onDragInit": new Slick.Event(),\r\n
Login.c(118): "onDragStart": new Slick.Event(),\r\n
Login.c(118): "onDrag": new Slick.Event(),\r\n
Login.c(118): "onDragEnd": new Slick.Event(),\r\n
Login.c(118): "onSelectedRowsChanged": new Slick.Event(),\r\n
Login.c(118): "onCellCssStylesChanged": new Slick.Event(),\r\n
Login.c(118): \r\n
Login.c(118): // Methods\r\n
Login.c(118): "registerPlugin": registerPlugin,\r\n
Login.c(118): "unregisterPlugin": unregisterPlugin,\r\n
Login.c(118): "getColumns": getColumns,\r\n
Login.c(118): "setColumns": setColumns,\r\n
Login.c(118): "getColumnIndex": getColumnIndex,\r\n
Login.c(118): "updateColumnHeader": updateColumnHeader,\r\n
Login.c(118): "setSortColumn": setSortColumn,\r\n
Login.c(118): "setSortColumns": setSortColumns,\r\n
Login.c(118): "getSortColumns": getSortColumns,\r\n
Login.c(118): "autosizeColumns": autosizeColumns,\r\n
Login.c(118): "getOptions": getOptions,\r\n
Login.c(118): "setOptions": setOptions,\r\n
Login.c(118): "getData": getData,\r\n
Login.c(118): "getDataLength": getDataLength,\r\n
Login.c(118): "getDataItem": getDataItem,\r\n
Login.c(118): "setData": setData,\r\n
Login.c(118): "getSelectionModel": getSelectionModel,\r\n
Login.c(118): "setSelectionModel": setSelectionModel,\r\n
Login.c(118): "getSelectedRows": getSelectedRows,\r\n
Login.c(118): "setSelectedRows": setSelectedRows,\r\n
Login.c(118): "getContainerNode": getContainerNode,\r\n
Login.c(118): \r\n
Login.c(118): "render": render,\r\n
Login.c(118): "invalidate": invalidate,\r\n
Login.c(118): "invalidateRow": invalidateRow,\r\n
Login.c(118): "invalidateRows": invalidateRows,\r\n
Login.c(118): "invalidateAllRows": invalidateAllRows,\r\n
Login.c(118): "updateCell": updateCell,\r\n
Login.c(118): "updateRow": updateRow,\r\n
Login.c(118): "getViewport": getVisibleRange,\r\n
Login.c(118): "getRenderedRange": getRenderedRange,\r\n
Login.c(118): "resizeCanvas": resizeCanvas,\r\n
Login.c(118): "updateRowCount": updateRowCount,\r\n
Login.c(118): "scrollRowIntoView": scrollRowIntoView,\r\n
Login.c(118): "scrollRowToTop": scrollRowToTop,\r\n
Login.c(118): "scrollCellIntoView": scrollCellIntoView,\r\n
Login.c(118): "getCanvasNode": getCanvasNode,\r\n
Login.c(118): "focus": setFocus,\r\n
Login.c(118): \r\n
Login.c(118): "getCellFromPoint": getCellFromPoint,\r\n
Login.c(118): "getCellFromEvent": getCellFromEvent,\r\n
Login.c(118): "getActiveCell": getActiveCell,\r\n
Login.c(118): "setActiveCell": setActiveCell,\r\n
Login.c(118): "getActiveCellNode": getActiveCellNode,\r\n
Login.c(118): "getActiveCellPosition": getActiveCellPosition,\r\n
Login.c(118): "resetActiveCell": resetActiveCell,\r\n
Login.c(118): "editActiveCell": makeActiveCellEditable,\r\n
Login.c(118): "getCellEditor": getCellEditor,\r\n
Login.c(118): "getCellNode": getCellNode,\r\n
Login.c(118): "getCellNodeBox": getCellNodeBox,\r\n
Login.c(118): "canCellBeSelected": canCellBeSelected,\r\n
Login.c(118): "canCellBeActive": canCellBeActive,\r\n
Login.c(118): "navigatePrev": navigatePrev,\r\n
Login.c(118): "navigateNext": navigateNext,\r\n
Login.c(118): "navigateUp": navigateUp,\r\n
Login.c(118): "navigateDown": navigateDown,\r\n
Login.c(118): "navigateLeft": navigateLeft,\r\n
Login.c(118): "navigateRight": navigateRight,\r\n
Login.c(118): "navigatePageUp": navigatePageUp,\r\n
Login.c(118): "navigatePageDown": navigatePageDown,\r\n
Login.c(118): "gotoCell": gotoCell,\r\n
Login.c(118): "getTopPanel": getTopPanel,\r\n
Login.c(118): "setTopPanelVisibility": setTopPanelVisibility,\r\n
Login.c(118): "setHeaderRowVisibility": setHeaderRowVisibility,\r\n
Login.c(118): "getHeaderRow": getHeaderRow,\r\n
Login.c(118): "getHeaderRowColumn": getHeaderRowColumn,\r\n
Login.c(118): "getGridPosition": getGridPosition,\r\n
Login.c(118): "flashCell": flashCell,\r\n
Login.c(118): "addCellCssStyles": addCellCssStyles,\r\n
Login.c(118): "setCellCssStyles": setCellCssStyles,\r\n
Login.c(118): "removeCellCssStyles": removeCellCssStyles,\r\n
Login.c(118): "getCellCssStyles": getCellCssStyles,\r\n
Login.c(118): \r\n
Login.c(118): "init": finishInitialization,\r\n
Login.c(118): "destroy": destroy,\r\n
Login.c(118): \r\n
Login.c(118): // IEditor implementation\r\n
Login.c(118): "getEditorLock": getEditorLock,\r\n
Login.c(118): "getEditController": getEditController,\r\n
Login.c(118): "scrollPort": scrollPort\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): init();\r\n
Login.c(118): }\r\n
Login.c(118): }(jQuery));\r\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): Slick: {\n
Login.c(118): Data: {\n
Login.c(118): DataView: DataView,\n
Login.c(118): Aggregators: {\n
Login.c(118): Avg: AvgAggregator,\n
Login.c(118): Min: MinAggregator,\n
Login.c(118): Max: MaxAggregator,\n
Login.c(118): Sum: SumAggregator\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A sample Model implementation.\n
Login.c(118): * Provides a filtered view of the underlying data.\n
Login.c(118): *\n
Login.c(118): * Relies on the data item having an "id" property uniquely
identifying it.\n
Login.c(118): */\n
Login.c(118): function DataView(options) {\n
Login.c(118): var self = this;\n
Login.c(118): \n
Login.c(118): var defaults = {\n
Login.c(118): groupItemMetadataProvider: null,\n
Login.c(118): inlineFilters: false\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // private\n
Login.c(118): var idProperty = "id"; // property holding a unique row id\n
Login.c(118): var items = []; // data by index\n
Login.c(118): var rows = []; // data by row\n
Login.c(118): var idxById = {}; // indexes by id\n
Login.c(118): var rowsById = null; // rows by id; lazy-calculated\n
Login.c(118): var filter = null; // filter function\n
Login.c(118): var updated = null; // updated item ids\n
Login.c(118): var suspend = false; // suspends the recalculation\n
Login.c(118): var sortAsc = true;\n
Login.c(118): var fastSortField;\n
Login.c(118): var sortComparer;\n
Login.c(118): var refreshHints = {};\n
Login.c(118): var prevRefreshHints = {};\n
Login.c(118): var filterArgs;\n
Login.c(118): var filteredItems = [];\n
Login.c(118): var compiledFilter;\n
Login.c(118): var compiledFilterWithCaching;\n
Login.c(118): var filterCache = [];\n
Login.c(118): \n
Login.c(118): // grouping\n
Login.c(118): var groupingInfoDefaults = {\n
Login.c(118): getter: null,\n
Login.c(118): formatter: null,\n
Login.c(118): comparer: function(a, b) { return a.value - b.value; },\n
Login.c(118): predefinedValues: [],\n
Login.c(118): aggregators: [],\n
Login.c(118): aggregateEmpty: false,\n
Login.c(118): aggregateCollapsed: false,\n
Login.c(118): aggregateChildGroups: false,\n
Login.c(118): collapsed: false,\n
Login.c(118): displayTotalsRow: true,\n
Login.c(118): lazyTotalsCalculation: false\n
Login.c(118): };\n
Login.c(118): var groupingInfos = [];\n
Login.c(118): var groups = [];\n
Login.c(118): var toggledGroupsByLevel = [];\n
Login.c(118): var groupingDelimiter = ':|:';\n
Login.c(118): \n
Login.c(118): var pagesize = 0;\n
Login.c(118): var pagenum = 0;\n
Login.c(118): var totalRows = 0;\n
Login.c(118): \n
Login.c(118): // events\n
Login.c(118): var onRowCountChanged = new Slick.Event();\n
Login.c(118): var onRowsChanged = new Slick.Event();\n
Login.c(118): var onPagingInfoChanged = new Slick.Event();\n
Login.c(118): \n
Login.c(118): options = $.extend(true, {}, defaults, options);\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function beginUpdate() {\n
Login.c(118): suspend = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function endUpdate() {\n
Login.c(118): suspend = false;\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setRefreshHints(hints) {\n
Login.c(118): refreshHints = hints;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setFilterArgs(args) {\n
Login.c(118): filterArgs = args;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateIdxById(startingIndex) {\n
Login.c(118): startingIndex = startingIndex || 0;\n
Login.c(118): var id;\n
Login.c(118): for (var i = startingIndex, l = items.length; i < l; i++)
{\n
Login.c(118): id = items[i][idProperty];\n
Login.c(118): if (id === undefined) {\n
Login.c(118): throw "Each data element must implement a unique 'id'
property";\n
Login.c(118): }\n
Login.c(118): idxById[id] = i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function ensureIdUniqueness() {\n
Login.c(118): var id;\n
Login.c(118): for (var i = 0, l = items.length; i < l; i++) {\n
Login.c(118): id = items[i][idProperty];\n
Login.c(118): if (id === undefined || idxById[id] !== i) {\n
Login.c(118): throw "Each data element must implement a unique 'id'
property";\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItems() {\n
Login.c(118): return items;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setItems(data, objectIdProperty) {\n
Login.c(118): if (objectIdProperty !== undefined) {\n
Login.c(118): idProperty = objectIdProperty;\n
Login.c(118): }\n
Login.c(118): items = filteredItems = data;\n
Login.c(118): idxById = {};\n
Login.c(118): updateIdxById();\n
Login.c(118): ensureIdUniqueness();\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setPagingOptions(args) {\n
Login.c(118): if (args.pageSize != undefined) {\n
Login.c(118): pagesize = args.pageSize;\n
Login.c(118): pagenum = pagesize ? Math.min(pagenum, Math.max(0,
Math.ceil(totalRows / pagesize)
Login.c(118): - 1)) : 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (args.pageNum != undefined) {\n
Login.c(118): pagenum = Math.min(args.pageNum, Math.max(0,
Math.ceil(totalRows / pagesize) - 1))
Login.c(118): ;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): onPagingInfoChanged.notify(getPagingInfo(), null, self);\n
Login.c(118): \n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getPagingInfo() {\n
Login.c(118): var totalPages = pagesize ? Math.max(1, Math.ceil(totalRows
/ pagesize)) : 1;\n
Login.c(118): return {pageSize: pagesize, pageNum: pagenum, totalRows:
totalRows, totalPages: tota
Login.c(118): lPages};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function sort(comparer, ascending) {\n
Login.c(118): sortAsc = ascending;\n
Login.c(118): sortComparer = comparer;\n
Login.c(118): fastSortField = null;\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): items.sort(comparer);\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): idxById = {};\n
Login.c(118): updateIdxById();\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Provides a workaround for the extremely slow sorting in
IE.\n
Login.c(118): * Does a [lexicographic] sort on a give column by
temporarily overriding Object.proto
Login.c(118): type.toString\n
Login.c(118): * to return the value of that field and then doing a native
Array.sort().\n
Login.c(118): */\n
Login.c(118): function fastSort(field, ascending) {\n
Login.c(118): sortAsc = ascending;\n
Login.c(118): fastSortField = field;\n
Login.c(118): sortComparer = null;\n
Login.c(118): var oldToString = Object.prototype.toString;\n
Login.c(118): Object.prototype.toString = (typeof field == "function") ?
field : function () {\n
Login.c(118): return this[field]\n
Login.c(118): };\n
Login.c(118): // an extra reversal for descending sort keeps the sort
stable\n
Login.c(118): // (assuming a stable native sort implementation, which
isn't true in some cases)\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): items.sort();\n
Login.c(118): Object.prototype.toString = oldToString;\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): idxById = {};\n
Login.c(118): updateIdxById();\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function reSort() {\n
Login.c(118): if (sortComparer) {\n
Login.c(118): sort(sortComparer, sortAsc);\n
Login.c(118): } else if (fastSortField) {\n
Login.c(118): fastSort(fastSortField, sortAsc);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setFilter(filterFn) {\n
Login.c(118): filter = filterFn;\n
Login.c(118): if (options.inlineFilters) {\n
Login.c(118): compiledFilter = compileFilter();\n
Login.c(118): compiledFilterWithCaching = compileFilterWithCaching();\n
Login.c(118): }\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getGrouping() {\n
Login.c(118): return groupingInfos;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setGrouping(groupingInfo) {\n
Login.c(118): if (!options.groupItemMetadataProvider) {\n
Login.c(118): options.groupItemMetadataProvider = new
Slick.Data.GroupItemMetadataProvider();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): groups = [];\n
Login.c(118): toggledGroupsByLevel = [];\n
Login.c(118): groupingInfo = groupingInfo || [];\n
Login.c(118): groupingInfos = (groupingInfo instanceof Array) ?
groupingInfo : [groupingInfo];\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < groupingInfos.length; i++) {\n
Login.c(118): var gi = groupingInfos[i] = $.extend(true, {},
groupingInfoDefaults, groupingInfos
Login.c(118): [i]);\n
Login.c(118): gi.getterIsAFn = typeof gi.getter === "function";\n
Login.c(118): \n
Login.c(118): // pre-compile accumulator loops\n
Login.c(118): gi.compiledAccumulators = [];\n
Login.c(118): var idx = gi
Login.c(118): t=7907ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): .aggregators.length;\n
Login.c(118): while (idx--) {\n
Login.c(118): gi.compiledAccumulators[idx] =
compileAccumulatorLoop(gi.aggregators[idx]);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): toggledGroupsByLevel[i] = {};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @deprecated Please use {@link setGrouping}.\n
Login.c(118): */\n
Login.c(118): function groupBy(valueGetter, valueFormatter, sortComparer)
{\n
Login.c(118): if (valueGetter == null) {\n
Login.c(118): setGrouping([]);\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): setGrouping({\n
Login.c(118): getter: valueGetter,\n
Login.c(118): formatter: valueFormatter,\n
Login.c(118): comparer: sortComparer\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @deprecated Please use {@link setGrouping}.\n
Login.c(118): */\n
Login.c(118): function setAggregators(groupAggregators, includeCollapsed)
{\n
Login.c(118): if (!groupingInfos.length) {\n
Login.c(118): throw new Error("At least one grouping must be specified
before calling setAggrega
Login.c(118): tors().");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): groupingInfos[0].aggregators = groupAggregators;\n
Login.c(118): groupingInfos[0].aggregateCollapsed = includeCollapsed;\n
Login.c(118): \n
Login.c(118): setGrouping(groupingInfos);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItemByIdx(i) {\n
Login.c(118): return items[i];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getIdxById(id) {\n
Login.c(118): return idxById[id];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function ensureRowsByIdCache() {\n
Login.c(118): if (!rowsById) {\n
Login.c(118): rowsById = {};\n
Login.c(118): for (var i = 0, l = rows.length; i < l; i++) {\n
Login.c(118): rowsById[rows[i][idProperty]] = i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getRowById(id) {\n
Login.c(118): ensureRowsByIdCache();\n
Login.c(118): return rowsById[id];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItemById(id) {\n
Login.c(118): return items[idxById[id]];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function mapIdsToRows(idArray) {\n
Login.c(118): var rows = [];\n
Login.c(118): ensureRowsByIdCache();\n
Login.c(118): for (var i = 0, l = idArray.length; i < l; i++) {\n
Login.c(118): var row = rowsById[idArray[i]];\n
Login.c(118): if (row != null) {\n
Login.c(118): rows[rows.length] = row;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return rows;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function mapRowsToIds(rowArray) {\n
Login.c(118): var ids = [];\n
Login.c(118): for (var i = 0, l = rowArray.length; i < l; i++) {\n
Login.c(118): if (rowArray[i] < rows.length) {\n
Login.c(118): ids[ids.length] = rows[rowArray[i]][idProperty];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return ids;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateItem(id, item) {\n
Login.c(118): if (idxById[id] === undefined || id !== item[idProperty])
{\n
Login.c(118): throw "Invalid or non-matching id";\n
Login.c(118): }\n
Login.c(118): items[idxById[id]] = item;\n
Login.c(118): if (!updated) {\n
Login.c(118): updated = {};\n
Login.c(118): }\n
Login.c(118): updated[id] = true;\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function insertItem(insertBefore, item) {\n
Login.c(118): items.splice(insertBefore, 0, item);\n
Login.c(118): updateIdxById(insertBefore);\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function addItem(item) {\n
Login.c(118): items.push(item);\n
Login.c(118): updateIdxById(items.length - 1);\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function deleteItem(id) {\n
Login.c(118): var idx = idxById[id];\n
Login.c(118): if (idx === undefined) {\n
Login.c(118): throw "Invalid id";\n
Login.c(118): }\n
Login.c(118): delete idxById[id];\n
Login.c(118): items.splice(idx, 1);\n
Login.c(118): updateIdxById(idx);\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getLength() {\n
Login.c(118): return rows.length;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItem(i) {\n
Login.c(118): var item = rows[i];\n
Login.c(118): \n
Login.c(118): // if this is a group row, make sure totals are calculated
and update the title\n
Login.c(118): if (item && item.__group && item.totals && !
item.totals.initialized) {\n
Login.c(118): var gi = groupingInfos[item.level];\n
Login.c(118): if (!gi.displayTotalsRow) {\n
Login.c(118): calculateTotals(item.totals);\n
Login.c(118): item.title = gi.formatter ? gi.formatter(item) :
item.value;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): // if this is a totals row, make sure it's calculated\n
Login.c(118): else if (item && item.__groupTotals && !item.initialized)
{\n
Login.c(118): calculateTotals(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return item;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItemMetadata(i) {\n
Login.c(118): var item = rows[i];\n
Login.c(118): if (item === undefined) {\n
Login.c(118): return null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // overrides for grouping rows\n
Login.c(118): if (item.__group) {\n
Login.c(118): return
options.groupItemMetadataProvider.getGroupRowMetadata(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // overrides for totals rows\n
Login.c(118): if (item.__groupTotals) {\n
Login.c(118): return
options.groupItemMetadataProvider.getTotalsRowMetadata(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function expandCollapseAllGroups(level, collapse) {\n
Login.c(118): if (level == null) {\n
Login.c(118): for (var i = 0; i < groupingInfos.length; i++) {\n
Login.c(118): toggledGroupsByLevel[i] = {};\n
Login.c(118): groupingInfos[i].collapsed = collapse;\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): toggledGroupsByLevel[level] = {};\n
Login.c(118): groupingInfos[level].collapsed = collapse;\n
Login.c(118): }\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param level {Number} Optional level to collapse. If not
specified, applies to all
Login.c(118): levels.\n
Login.c(118): */\n
Login.c(118): function collapseAllGroups(level) {\n
Login.c(118): expandCollapseAllGroups(level, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param level {Number} Optional level to expand. If not
specified, applies to all l
Login.c(118): evels.\n
Login.c(118): */\n
Login.c(118): function expandAllGroups(level) {\n
Login.c(118): expandCollapseAllGroups(level, false);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function expandCollapseGroup(level, groupingKey, collapse)
{\n
Login.c(118): toggledGroupsByLevel[level][groupingKey] =
groupingInfos[level].collapsed ^ collapse
Login.c(118): ;\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param varArgs Either a Slick.Group's "groupingKey"
property, or a\n
Login.c(118): * variable argument list of grouping values denoting a
unique path to the row. F
Login.c(118): or\n
Login.c(118): * example, calling collapseGroup('high', '10%') will
collapse the '10%' subgroup
Login.c(118): of\n
Login.c(118): * the 'high' group.\n
Login.c(118): */\n
Login.c(118): function collapseGroup(varArgs) {\n
Login.c(118): var args = Array.prototype.slice.call(arguments);\n
Login.c(118): var arg0 = args[0];\n
Login.c(118): if (args.length == 1 && arg0.indexOf(groupingDelimiter) !=
-1) {\n
Login.c(118): expandCollapseGroup(arg0.split(groupingDelimiter).length
- 1, arg0, true);\n
Login.c(118): } else {\n
Login.c(118): expandCollapseGroup(args.length - 1,
args.join(groupingDelimiter), true);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param varArgs Either a Slick.Group's "groupingKey"
property, or a\n
Login.c(118): * variable argument list of grouping values denoting a
unique path to the row. F
Login.c(118): or\n
Login.c(118): * example, calling expandGroup('high', '10%') will
expand the '10%' subgroup of\n
Login.c(118): * the 'high' group.\n
Login.c(118): */\n
Login.c(118): function expandGroup(varArgs) {\n
Login.c(118): var args = Array.prototype.slice.call(arguments);\n
Login.c(118): var arg0 = args[0];\n
Login.c(118): if (args.length == 1 && arg0.indexOf(groupingDelimiter) !=
-1) {\n
Login.c(118): expandCollapseGroup(arg0.split(groupingDelimiter).length
- 1, arg0, false);\n
Login.c(118): } else {\n
Login.c(118): expandCollapseGroup(args.length - 1,
args.join(groupingDelimiter), false);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getGroups() {\n
Login.c(118): return groups;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function extractGroups(rows, parentGroup) {\n
Login.c(118): var group;\n
Login.c(118): var val;\n
Login.c(118): var groups = [];\n
Login.c(118): var groupsByVal = {};\n
Login.c(118): var r;\n
Login.c(118): var level = parentGroup ? parentGroup.level + 1 : 0;\n
Login.c(118): var gi = groupingInfos[level];\n
Login.c(118): \n
Login.c(118): for (var i = 0, l = gi.predefinedValues.length; i < l; i++)
{\n
Login.c(118): val = gi.predefinedValues[i];\n
Login.c(118): group = groupsByVal[val];\n
Login.c(118): if (!group) {\n
Login.c(118): group = new Slick.Group();\n
Login.c(118): group.value = val;\n
Login.c(118): group.level = level;\n
Login.c(118): group.groupingKey = (parentGroup ?
parentGroup.groupingKey + groupingDelimiter :
Login.c(118): '') + val;\n
Login.c(118): groups[groups.length] = group;\n
Login.c(118): groupsByVal[val] = group;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var i = 0, l = rows.length; i < l; i++) {\n
Login.c(118): r = rows[i];\n
Login.c(118): val = gi.getterIsAFn ? gi.getter(r) : r[gi.getter];\n
Login.c(118): group = groupsByVal[val];\n
Login.c(118): if (!group) {\n
Login.c(118): group = new Slick.Group();\n
Login.c(118): group.value = val;\n
Login.c(118): group.level = level;\n
Login.c(118): group.groupingKey = (parentGroup ?
parentGroup.groupingKey + groupingDelimiter :
Login.c(118): '') + val;\n
Login.c(118): groups[groups.length] = group;\n
Login.c(118): groupsByVal[val] = group;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): group.rows[group.count++] = r;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (level < groupingInfos.length - 1) {\n
Login.c(118): for (var i = 0; i < groups.length; i++) {\n
Login.c(118): group = groups[i];\n
Login.c(118): group.groups = extractGroups(group.rows, group);\n
Login.c(118): }\n
Login.c(118): } \n
Login.c(118): \n
Login.c(118): groups.sort(groupingInfos[level].comparer);\n
Login.c(118): \n
Login.c(118): return groups;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function calculateTotals(totals) {\n
Login.c(118): var group = totals.group;\n
Login.c(118): var gi = groupingInfos[group.level];\n
Login.c(118): var isLeafLevel = (group.level == groupingInfos.length);\n
Login.c(118): var agg, idx = gi.aggregators.length;\n
Login.c(118): \n
Login.c(118): if (!isLeafLevel && gi.aggregateChildGroups) {\n
Login.c(118): // make sure all the subgroups are calculated\n
Login.c(118): var i = group.groups.length;\n
Login.c(118): while (i--) {\n
Login.c(118): if (!group.groups[i].initialized) {\n
Login.c(118): calculateTotals(group.groups[i]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): while (idx--) {\n
Login.c(118): agg = gi.aggregators[idx];\n
Login.c(118): agg.init();\n
Login.c(118): if (!isLeafLevel && gi.aggregateChildGroups) {\n
Login.c(118): gi.compiledAccumulators[idx].call(agg, group.groups);\n
Login.c(118): } else {\n
Login.c(118): gi.compiledAccumulators[idx].call(agg, group.rows);\n
Login.c(118): }\n
Login.c(118): agg.storeResult(totals);\n
Login.c(118): }\n
Login.c(118): totals.initialized = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function addGroupTotals(group) {\n
Login.c(118): var gi = groupingInfos[group.level];\n
Login.c(118): var totals = new Slick.GroupTotals();\n
Login.c(118): totals.group = group;\n
Login.c(118): group.totals = totals;\n
Login.c(118): if (!gi.lazyTotalsCalculation) {\n
Login.c(118): calculateTotals(totals);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function addTotals(groups, level) {\n
Login.c(118): level = level || 0;\n
Login.c(118): var gi = groupingInfos[level];\n
Login.c(118): var groupCollapsed = gi.collapsed;\n
Login.c(118): var toggledGroups = toggledGroupsByLevel[level]; \n
Login.c(118): var idx = groups.length, g;\n
Login.c(118): while (idx--) {\n
Login.c(118): g = groups[idx];\n
Login.c(118): \n
Login.c(118): if (g.collapsed && !gi.aggregateCollapsed) {\n
Login.c(118): continue;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Do a depth-first aggregation so that parent group
aggregators can access subgro
Login.c(118): up totals.\n
Login.c(118): if (g.groups) {\n
Login.c(118): addTotals(g.groups, level + 1);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (gi.aggregators.length && (\n
Login.c(118): gi.aggregateEmpty || g.rows.length || (g.groups &&
g.groups.length))) {\n
Login.c(118): addGroupTotals(g);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): g.collapsed = groupCollapsed ^
toggledGroups[g.groupingKey];\n
Login.c(118): g.title = gi.formatter ? gi.formatter(g) : g.value;\n
Login.c(118): }\n
Login.c(118): } \n
Login.c(118): \n
Login.c(118): function flattenGroupedRows(groups, level) {\n
Login.c(118): level = level || 0;\n
Login.c(118): var gi = groupingInfos[level];\n
Login.c(118): var groupedRows = [], rows, gl = 0, g;\n
Login.c(118): for (var i = 0, l = groups.length; i < l; i++) {\n
Login.c(118): g = groups[i];\n
Login.c(118): groupedRows[gl++] = g;\n
Login.c(118): \n
Login.c(118): if (!g.collapsed) {\n
Login.c(118): rows = g.groups ? flattenGroupedRows(g.groups, level +
1) : g.rows;\n
Login.c(118): for (var j = 0, jj = rows.length; j < jj; j++) {\n
Login.c(118): groupedRows[gl++] = rows[j];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (g.totals && gi.displayTotalsRow && (!g.collapsed ||
gi.aggregateCollapsed)) {\n
Login.c(118): groupedRows[gl++] = g.totals;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return groupedRows;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getFunctionInfo(fn) {\n
Login.c(118): var fnRegex = /^function[^(]*\\(([^)]*)\\)\\s*{([\\s\\S]*)}
$/;\n
Login.c(118): var matches = fn.toString().match(fnRegex);\n
Login.c(118): return {\n
Login.c(118): params: matches[1].split(","),\n
Login.c(118): body: matches[2]\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function compileAccumulatorLoop(aggregator) {\n
Login.c(118): var accumulatorInfo =
getFunctionInfo(aggregator.accumulate);\n
Login.c(118): var fn = new Function(\n
Login.c(118): "_items",\n
Login.c(118): "for (var " + accumulatorInfo.params[0] + ", _i=0,
_il=_items.length; _i<_il; _i
Login.c(118): ++) {" +\n
Login.c(118): accumulatorInfo.params[0] + " = _items[_i]; " +\n
Login.c(118): accumulatorInfo.body +\n
Login.c(118): "}"\n
Login.c(118): );\n
Login.c(118): fn.displayName = fn.name = "compiledAccumulatorLoop";\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function compileFilter() {\n
Login.c(118): var filterInfo = getFunctionInfo(filter);\n
Login.c(118): \n
Login.c(118): var filterBody = filterInfo.body\n
Login.c(118): .replace(/return false\\s*([;}]|$)/gi, "{ continue
_coreloop; }$1")\n
Login.c(118): .replace(/return true\\s*([;}]|$)/gi, "{ _retval[_idx+
+] = $item$; continue _cor
Login.c(118): eloop; }$1")\n
Login.c(118): .replace(/return ([^;}]+?)\\s*([;}]|$)/gi,\n
Login.c(118): "{ if ($1) { _retval[_idx++] = $item$; }; continue
_coreloop; }$2");\n
Login.c(118): \n
Login.c(118): // This preserves the function template code after JS
compression,\n
Login.c(118): // so that replace() commands still work as expected.\n
Login.c(118): var tpl = [\n
Login.c(118): //"function(_items, _args) { ",\n
Login.c(118): "var _retval = [], _idx = 0; ",\n
Login.c(118): "var $item$, $args$ = _args; ",\n
Login.c(118): "_coreloop: ",\n
Login.c(118): "for (var _i = 0, _il = _items.length; _i < _il; _i++)
{ ",\n
Login.c(118): "$item$ = _items[_i]; ",\n
Login.c(118): "$filter$; ",\n
Login.c(118): "} ",\n
Login.c(118): "return _retval; "\n
Login.c(118): //"}"\n
Login.c(118): ].join("");\n
Login.c(118): tpl = tpl.replace(/\\$filter\\$/gi, filterBody);\n
Login.c(118): tpl = tpl.replace(/\\$item\\$/gi, filterInfo.params[
Login.c(118): t=7926ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): 0]);\n
Login.c(118): tpl = tpl.replace(/\\$args\\$/gi, filterInfo.params[1]);\n
Login.c(118): \n
Login.c(118): var fn = new Function("_items,_args", tpl);\n
Login.c(118): fn.displayName = fn.name = "compiledFilter";\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function compileFilterWithCaching() {\n
Login.c(118): var filterInfo = getFunctionInfo(filter);\n
Login.c(118): \n
Login.c(118): var filterBody = filterInfo.body\n
Login.c(118): .replace(/return false\\s*([;}]|$)/gi, "{ continue
_coreloop; }$1")\n
Login.c(118): .replace(/return true\\s*([;}]|$)/gi, "{ _cache[_i] =
true;_retval[_idx++] = $it
Login.c(118): em$; continue _coreloop; }$1")\n
Login.c(118): .replace(/return ([^;}]+?)\\s*([;}]|$)/gi,\n
Login.c(118): "{ if ((_cache[_i] = $1)) { _retval[_idx++] =
$item$; }; continue _coreloop; }$2
Login.c(118): ");\n
Login.c(118): \n
Login.c(118): // This preserves the function template code after JS
compression,\n
Login.c(118): // so that replace() commands still work as expected.\n
Login.c(118): var tpl = [\n
Login.c(118): //"function(_items, _args, _cache) { ",\n
Login.c(118): "var _retval = [], _idx = 0; ",\n
Login.c(118): "var $item$, $args$ = _args; ",\n
Login.c(118): "_coreloop: ",\n
Login.c(118): "for (var _i = 0, _il = _items.length; _i < _il; _i++)
{ ",\n
Login.c(118): "$item$ = _items[_i]; ",\n
Login.c(118): "if (_cache[_i]) { ",\n
Login.c(118): "_retval[_idx++] = $item$; ",\n
Login.c(118): "continue _coreloop; ",\n
Login.c(118): "} ",\n
Login.c(118): "$filter$; ",\n
Login.c(118): "} ",\n
Login.c(118): "return _retval; "\n
Login.c(118): //"}"\n
Login.c(118): ].join("");\n
Login.c(118): tpl = tpl.replace(/\\$filter\\$/gi, filterBody);\n
Login.c(118): tpl = tpl.replace(/\\$item\\$/gi, filterInfo.params[0]);\n
Login.c(118): tpl = tpl.replace(/\\$args\\$/gi, filterInfo.params[1]);\n
Login.c(118): \n
Login.c(118): var fn = new Function("_items,_args,_cache", tpl);\n
Login.c(118): fn.displayName = fn.name = "compiledFilterWithCaching";\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function uncompiledFilter(items, args) {\n
Login.c(118): var retval = [], idx = 0;\n
Login.c(118): \n
Login.c(118): for (var i = 0, ii = items.length; i < ii; i++) {\n
Login.c(118): if (filter(items[i], args)) {\n
Login.c(118): retval[idx++] = items[i];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return retval;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function uncompiledFilterWithCaching(items, args, cache) {\n
Login.c(118): var retval = [], idx = 0, item;\n
Login.c(118): \n
Login.c(118): for (var i = 0, ii = items.length; i < ii; i++) {\n
Login.c(118): item = items[i];\n
Login.c(118): if (cache[i]) {\n
Login.c(118): retval[idx++] = item;\n
Login.c(118): } else if (filter(item, args)) {\n
Login.c(118): retval[idx++] = item;\n
Login.c(118): cache[i] = true;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return retval;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getFilteredAndPagedItems(items) {\n
Login.c(118): if (filter) {\n
Login.c(118): var batchFilter = options.inlineFilters ?
compiledFilter : uncompiledFilter;\n
Login.c(118): var batchFilterWithCaching = options.inlineFilters ?
compiledFilterWithCaching : u
Login.c(118): ncompiledFilterWithCaching;\n
Login.c(118): \n
Login.c(118): if (refreshHints.isFilterNarrowing) {\n
Login.c(118): filteredItems = batchFilter(filteredItems,
filterArgs);\n
Login.c(118): } else if (refreshHints.isFilterExpanding) {\n
Login.c(118): filteredItems = batchFilterWithCaching(items,
filterArgs, filterCache);\n
Login.c(118): } else if (!refreshHints.isFilterUnchanged) {\n
Login.c(118): filteredItems = batchFilter(items, filterArgs);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): // special case: if not filtering and not paging, the
resulting\n
Login.c(118): // rows collection needs to be a copy so that changes due
to sort\n
Login.c(118): // can be caught\n
Login.c(118): filteredItems = pagesize ? items : items.concat();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // get the current page\n
Login.c(118): var paged;\n
Login.c(118): if (pagesize) {\n
Login.c(118): if (filteredItems.length < pagenum * pagesize) {\n
Login.c(118): pagenum = Math.floor(filteredItems.length /
pagesize);\n
Login.c(118): }\n
Login.c(118): paged = filteredItems.slice(pagesize * pagenum, pagesize
* pagenum + pagesize);\n
Login.c(118): } else {\n
Login.c(118): paged = filteredItems;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {totalRows: filteredItems.length, rows: paged};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getRowDiffs(rows, newRows) {\n
Login.c(118): var item, r, eitherIsNonData, diff = [];\n
Login.c(118): var from = 0, to = newRows.length;\n
Login.c(118): \n
Login.c(118): if (refreshHints && refreshHints.ignoreDiffsBefore) {\n
Login.c(118): from = Math.max(0,\n
Login.c(118): Math.min(newRows.length,
refreshHints.ignoreDiffsBefore));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (refreshHints && refreshHints.ignoreDiffsAfter) {\n
Login.c(118): to = Math.min(newRows.length,\n
Login.c(118): Math.max(0, refreshHints.ignoreDiffsAfter));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var i = from, rl = rows.length; i < to; i++) {\n
Login.c(118): if (i >= rl) {\n
Login.c(118): diff[diff.length] = i;\n
Login.c(118): } else {\n
Login.c(118): item = newRows[i];\n
Login.c(118): r = rows[i];\n
Login.c(118): \n
Login.c(118): if ((groupingInfos.length && (eitherIsNonData =
(item.__nonDataRow) || (r.__nonD
Login.c(118): ataRow)) &&\n
Login.c(118): item.__group !== r.__group ||\n
Login.c(118): item.__group && !item.equals(r))\n
Login.c(118): || (eitherIsNonData &&\n
Login.c(118): // no good way to compare totals since they are
arbitrary DTOs\n
Login.c(118): // deep object comparison is pretty expensive\n
Login.c(118): // always considering them 'dirty' seems easier for
the time being\n
Login.c(118): (item.__groupTotals || r.__groupTotals))\n
Login.c(118): || item[idProperty] != r[idProperty]\n
Login.c(118): || (updated && updated[item[idProperty]])\n
Login.c(118): ) {\n
Login.c(118): diff[diff.length] = i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return diff;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function recalc(_items) {\n
Login.c(118): rowsById = null;\n
Login.c(118): \n
Login.c(118): if (refreshHints.isFilterNarrowing !=
prevRefreshHints.isFilterNarrowing ||\n
Login.c(118): refreshHints.isFilterExpanding !=
prevRefreshHints.isFilterExpanding) {\n
Login.c(118): filterCache = [];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var filteredItems = getFilteredAndPagedItems(_items);\n
Login.c(118): totalRows = filteredItems.totalRows;\n
Login.c(118): var newRows = filteredItems.rows;\n
Login.c(118): \n
Login.c(118): groups = [];\n
Login.c(118): if (groupingInfos.length) {\n
Login.c(118): groups = extractGroups(newRows);\n
Login.c(118): if (groups.length) {\n
Login.c(118): addTotals(groups);\n
Login.c(118): newRows = flattenGroupedRows(groups);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var diff = getRowDiffs(rows, newRows);\n
Login.c(118): \n
Login.c(118): rows = newRows;\n
Login.c(118): \n
Login.c(118): return diff;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function refresh() {\n
Login.c(118): if (suspend) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var countBefore = rows.length;\n
Login.c(118): var totalRowsBefore = totalRows;\n
Login.c(118): \n
Login.c(118): var diff = recalc(items, filter); // pass as direct refs to
avoid closure perf hit\n
Login.c(118): \n
Login.c(118): // if the current page is no longer valid, go to last page
and recalc\n
Login.c(118): // we suffer a performance penalty here, but the main loop
(recalc) remains highly o
Login.c(118): ptimized\n
Login.c(118): if (pagesize && totalRows < pagenum * pagesize) {\n
Login.c(118): pagenum = Math.max(0, Math.ceil(totalRows / pagesize) -
1);\n
Login.c(118): diff = recalc(items, filter);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): updated = null;\n
Login.c(118): prevRefreshHints = refreshHints;\n
Login.c(118): refreshHints = {};\n
Login.c(118): \n
Login.c(118): if (totalRowsBefore != totalRows) {\n
Login.c(118): onPagingInfoChanged.notify(getPagingInfo(), null,
self);\n
Login.c(118): }\n
Login.c(118): if (countBefore != rows.length) {\n
Login.c(118): onRowCountChanged.notify({previous: countBefore, current:
rows.length}, null, self
Login.c(118): );\n
Login.c(118): }\n
Login.c(118): if (diff.length > 0) {\n
Login.c(118): onRowsChanged.notify({rows: diff}, null, self);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Wires the grid and the DataView together to keep row
selection tied to item ids.\n
Login.c(118): * This is useful since, without it, the grid only knows
about rows, so if the items\n
Login.c(118): * move around, the same rows stay selected instead of the
selection moving along\n
Login.c(118): * with the items.\n
Login.c(118): *\n
Login.c(118): * NOTE: This doesn't work with cell selection model.\n
Login.c(118): *\n
Login.c(118): * @param grid {Slick.Grid} The grid to sync selection
with.\n
Login.c(118): * @param preserveHidden {Boolean} Whether to keep selected
items that go out of the\n
Login.c(118): * view due to them getting filtered out.\n
Login.c(118): * @param preserveHiddenOnSelectionChange {Boolean} Whether
to keep selected items\n
Login.c(118): * that are currently out of the view (see
preserveHidden) as selected when select
Login.c(118): ion\n
Login.c(118): * changes.\n
Login.c(118): * @return {Slick.Event} An event that notifies when an
internal list of selected row
Login.c(118): ids\n
Login.c(118): * changes. This is useful since, in combination with
the above two options, it a
Login.c(118): llows\n
Login.c(118): * access to the full list selected row ids, and not just
the ones visible to the
Login.c(118): grid.\n
Login.c(118): * @method syncGridSelection\n
Login.c(118): */\n
Login.c(118): function syncGridSelection(grid, preserveHidden,
preserveHiddenOnSelectionChange) {\n
Login.c(118): var self = this;\n
Login.c(118): var inHandler;\n
Login.c(118): var selectedRowIds =
self.mapRowsToIds(grid.getSelectedRows());\n
Login.c(118): var onSelectedRowIdsChanged = new Slick.Event();\n
Login.c(118): \n
Login.c(118): function setSelectedRowIds(rowIds) {\n
Login.c(118): if (selectedRowIds.join(",") == rowIds.join(",")) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): selectedRowIds = rowIds;\n
Login.c(118): \n
Login.c(118): onSelectedRowIdsChanged.notify({\n
Login.c(118): "grid": grid,\n
Login.c(118): "ids": selectedRowIds\n
Login.c(118): }, new Slick.EventData(), self);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function update() {\n
Login.c(118): if (selectedRowIds.length > 0) {\n
Login.c(118): inHandler = true;\n
Login.c(118): var selectedRows = self.mapIdsToRows(selectedRowIds);\n
Login.c(118): if (!preserveHidden) {\n
Login.c(118): setSelectedRowIds(self.mapRowsToIds(selectedRows));
\n
Login.c(118): }\n
Login.c(118): grid.setSelectedRows(selectedRows);\n
Login.c(118): inHandler = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): grid.onSelectedRowsChanged.subscribe(function(e, args) {\n
Login.c(118): if (inHandler) { return; }\n
Login.c(118): var newSelectedRowIds =
self.mapRowsToIds(grid.getSelectedRows());\n
Login.c(118): if (!preserveHiddenOnSelectionChange || !
grid.getOptions().multiSelect) {\n
Login.c(118): setSelectedRowIds(newSelectedRowIds);\n
Login.c(118): } else {\n
Login.c(118): // keep the ones that are hidden\n
Login.c(118): var existing = $.grep(selectedRowIds, function(id)
{ return self.getRowById(id)
Login.c(118): === undefined; });\n
Login.c(118): // add the newly selected ones\n
Login.c(118):
setSelectedRowIds(existing.concat(newSelectedRowIds));\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): this.onRowsChanged.subscribe(update);\n
Login.c(118): \n
Login.c(118): this.onRowCountChanged.subscribe(update);\n
Login.c(118): \n
Login.c(118): return onSelectedRowIdsChanged;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function syncGridCellCssStyles(grid, key) {\n
Login.c(118): var hashById;\n
Login.c(118): var inHandler;\n
Login.c(118): \n
Login.c(118): // since this method can be called after the cell styles
have been set,\n
Login.c(118): // get the existing ones right away\n
Login.c(118): storeCellCssStyles(grid.getCellCssStyles(key));\n
Login.c(118): \n
Login.c(118): function storeCellCssStyles(hash) {\n
Login.c(118): hashById = {};\n
Login.c(118): for (var row in hash) {\n
Login.c(118): var id = rows[row][idProperty];\n
Login.c(118): hashById[id] = hash[row];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function update() {\n
Login.c(118): if (hashById) {\n
Login.c(118): inHandler = true;\n
Login.c(118): ensureRowsByIdCache();\n
Login.c(118): var newHash = {};\n
Login.c(118): for (var id in hashById) {\n
Login.c(118): var row = rowsById[id];\n
Login.c(118): if (row != undefined) {\n
Login.c(118): newHash[row] = hashById[id];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): grid.setCellCssStyles(key, newHash);\n
Login.c(118): inHandler = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): grid.onCellCssStylesChanged.subscribe(function(e, args) {\n
Login.c(118): if (inHandler) { return; }\n
Login.c(118): if (key != args.key) { return; }\n
Login.c(118): if (args.hash) {\n
Login.c(118): storeCellCssStyles(args.hash);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): this.onRowsChanged.subscribe(update);\n
Login.c(118): \n
Login.c(118): this.onRowCountChanged.subscribe(update);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): // methods\n
Login.c(118): "beginUpdate": beginUpdate,\n
Login.c(118): "endUpdate": endUpdate,\n
Login.c(118): "setPagingOptions": setPagingOptions,\n
Login.c(118): "getPagingInfo": getPagingInfo,\n
Login.c(118): "getItems": getItems,\n
Login.c(118): "setItems": setItems,\n
Login.c(118): "setFilter": setFilter,\n
Login.c(118): "sort": sort,\n
Login.c(118): "fastSort": fastSort,\n
Login.c(118): "reSort": reSort,\n
Login.c(118): "setGrouping": setGrouping,\n
Login.c(118): "getGrouping": getGrouping,\n
Login.c(118): "groupBy": groupBy,\n
Login.c(118): "setAggregators": setAggregators,\n
Login.c(118): "collapseAllGroups": collapseAllGroups,\n
Login.c(118): "expandAllGroups": expandAllGroups,\n
Login.c(118): "collapseGroup": collapseGroup,\n
Login.c(118): "expandGroup": expandGroup,\n
Login.c(118): "getGroups": getGroups,\n
Login.c(118): "getIdxById": getIdxById,\n
Login.c(118): "getRowById": getRowById,\n
Login.c(118): "getItemById": getItemById,\n
Login.c(118): "getItemByIdx": getItemByIdx,\n
Login.c(118): "mapRowsToIds": mapRowsToIds,\n
Login.c(118): "mapIdsToRows": mapIdsToRows,\n
Login.c(118): "setRefreshHints": setRefreshHints,\n
Login.c(118): "setFilterArgs": setFilterArgs,\n
Login.c(118): "refresh": refresh,\n
Login.c(118): "updateItem": updateItem,\n
Login.c(118): "insertItem": insertItem,\n
Login.c(118): "addItem": addItem,\n
Login.c(118): "deleteItem": deleteItem,\n
Login.c(118): "syncGridSelection": syncGridSelection,\n
Login.c(118): "syncGridCellCssStyles": syncGridCellCssStyles,\n
Login.c(118): \n
Login.c(118): // data provider methods\n
Login.c(118): "getLength": getLength,\n
Login.c(118): "getItem": getItem,\n
Login.c(118): "getItemMetadata": getItemMetadata,\n
Login.c(118): \n
Login.c(118): // events\n
Login.c(118): "onRowCountChanged": onRowCountChanged,\n
Login.c(118): "onRowsChanged": onRowsChanged,\n
Login.c(118): "onPagingInfoChanged": onPagingInfoChanged\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function AvgAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.count_ = 0;\n
Login.c(118): this.nonNullCount_ = 0;\n
Login.c(118): this.sum_ = 0;\n
Login.c(118): };\n
Login.c(118): t=7943ms: 6673-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): this.count_++;\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): this.nonNullCount_++;\n
Login.c(118): this.sum_ += parseFloat(val);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.avg) {\n
Login.c(118): groupTotals.avg = {};\n
Login.c(118): }\n
Login.c(118): if (this.nonNullCount_ != 0) {\n
Login.c(118): groupTotals.avg[this.field_] = this.sum_ /
this.nonNullCount_;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function MinAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.min_ = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): if (this.min_ == null || val < this.min_) {\n
Login.c(118): this.min_ = val;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.min) {\n
Login.c(118): groupTotals.min = {};\n
Login.c(118): }\n
Login.c(118): groupTotals.min[this.field_] = this.min_;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function MaxAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.max_ = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): if (this.max_ == null || val > this.max_) {\n
Login.c(118): this.max_ = val;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.max) {\n
Login.c(118): groupTotals.max = {};\n
Login.c(118): }\n
Login.c(118): groupTotals.max[this.field_] = this.max_;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function SumAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.sum_ = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): this.sum_ += parseFloat(val);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.sum) {\n
Login.c(118): groupTotals.sum = {};\n
Login.c(118): }\n
Login.c(118): groupTotals.sum[this.field_] = this.sum_;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // TODO: add more built-in aggregators\n
Login.c(118): // TODO: merge common aggregators in one to prevent needles
iterating\n
Login.c(118): \n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): function SlickColumnPicker(columns, grid, options) {\n
Login.c(118): var $menu;\n
Login.c(118): var columnCheckboxes;\n
Login.c(118): \n
Login.c(118): var defaults = {\n
Login.c(118): fadeSpeed:250\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function init() {\n
Login.c(118):
grid.onHeaderContextMenu.subscribe(handleHeaderContextMenu);\n
Login.c(118): grid.onColumnsReordered.subscribe(updateColumnOrder);\n
Login.c(118): options = $.extend({}, defaults, options);\n
Login.c(118): \n
Login.c(118): $menu = $("<span class='slick-columnpicker'
style='display:none;position:absolute;z-
Login.c(118): index:20;' />").appendTo(document.body);\n
Login.c(118): \n
Login.c(118): $menu.bind("mouseleave", function (e) {\n
Login.c(118): $(this).fadeOut(options.fadeSpeed)\n
Login.c(118): });\n
Login.c(118): $menu.bind("click", updateColumn);\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118):
grid.onHeaderContextMenu.unsubscribe(handleHeaderContextMenu);\n
Login.c(118): grid.onColumnsReordered.unsubscribe(updateColumnOrder);\n
Login.c(118): $menu.remove();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleHeaderContextMenu(e, args) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): $menu.empty();\n
Login.c(118): updateColumnOrder();\n
Login.c(118): columnCheckboxes = [];\n
Login.c(118): \n
Login.c(118): var $li, $input;\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\n
Login.c(118): $li = $("<li />").appendTo($menu);\n
Login.c(118): $input = $("<input type='checkbox' />").data("column-id",
columns[i].id);\n
Login.c(118): columnCheckboxes.push($input);\n
Login.c(118): \n
Login.c(118): if (grid.getColumnIndex(columns[i].id) != null) {\n
Login.c(118): $input.attr("checked", "checked");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $("<label />")\n
Login.c(118): .text(columns[i].name)\n
Login.c(118): .prepend($input)\n
Login.c(118): .appendTo($li);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $("<hr/>").appendTo($menu);\n
Login.c(118): $li = $("<li />").appendTo($menu);\n
Login.c(118): $input = $("<input type='checkbox' />").data("option",
"autoresize");\n
Login.c(118): $("<label />")\n
Login.c(118): .text("Force fit columns")\n
Login.c(118): .prepend($input)\n
Login.c(118): .appendTo($li);\n
Login.c(118): if (grid.getOptions().forceFitColumns) {\n
Login.c(118): $input.attr("checked", "checked");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $li = $("<li />").appendTo($menu);\n
Login.c(118): $input = $("<input type='checkbox' />").data("option",
"syncresize");\n
Login.c(118): $("<label />")\n
Login.c(118): .text("Synchronous resize")\n
Login.c(118): .prepend($input)\n
Login.c(118): .appendTo($li);\n
Login.c(118): if (grid.getOptions().syncColumnCellResize) {\n
Login.c(118): $input.attr("checked", "checked");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $menu\n
Login.c(118): .css("top", e.pageY - 10)\n
Login.c(118): .css("left", e.pageX - 10)\n
Login.c(118): .fadeIn(options.fadeSpeed);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateColumnOrder() {\n
Login.c(118): // Because columns can be reordered, we have to update the
`columns`\n
Login.c(118): // to reflect the new order, however we can't just take
`grid.getColumns()`,\n
Login.c(118): // as it does not include columns currently hidden by the
picker.\n
Login.c(118): // We create a new `columns` structure by leaving
currently-hidden\n
Login.c(118): // columns in their original ordinal position and
interleaving the results\n
Login.c(118): // of the current column sort.\n
Login.c(118): var current = grid.getColumns().slice(0);\n
Login.c(118): var ordered = new Array(columns.length);\n
Login.c(118): for (var i = 0; i < ordered.length; i++) {\n
Login.c(118): if ( grid.getColumnIndex(columns[i].id) === undefined )
{\n
Login.c(118): // If the column doesn't return a value from
getColumnIndex,\n
Login.c(118): // it is hidden. Leave it in this position.\n
Login.c(118): ordered[i] = columns[i];\n
Login.c(118): } else {\n
Login.c(118): // Otherwise, grab the next visible column.\n
Login.c(118): ordered[i] = current.shift();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): columns = ordered;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateColumn(e) {\n
Login.c(118): if ($(e.target).data("option") == "autoresize") {\n
Login.c(118): if (e.target.checked) {\n
Login.c(118): grid.setOptions({forceFitColumns:true});\n
Login.c(118): grid.autosizeColumns();\n
Login.c(118): } else {\n
Login.c(118): grid.setOptions({forceFitColumns:false});\n
Login.c(118): }\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($(e.target).data("option") == "syncresize") {\n
Login.c(118): if (e.target.checked) {\n
Login.c(118): grid.setOptions({syncColumnCellResize:true});\n
Login.c(118): } else {\n
Login.c(118): grid.setOptions({syncColumnCellResize:false});\n
Login.c(118): }\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($(e.target).is(":checkbox")) {\n
Login.c(118): var visibleColumns = [];\n
Login.c(118): $.each(columnCheckboxes, function (i, e) {\n
Login.c(118): if ($(this).is(":checked")) {\n
Login.c(118): visibleColumns.push(columns[i]);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): if (!visibleColumns.length) {\n
Login.c(118): $(e.target).attr("checked", "checked");\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): grid.setColumns(visibleColumns);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getAllColumns() {\n
Login.c(118): return columns;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): init();\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): "getAllColumns": getAllColumns,\n
Login.c(118): "destroy": destroy\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Slick.Controls.ColumnPicker\n
Login.c(118): $.extend(true, window, { Slick:{ Controls:
{ ColumnPicker:SlickColumnPicker }}});\n
Login.c(118): })(jQuery);\n
Login.c(118): t=7954ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"88204-1419875208000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:46:48 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 88204\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=7955ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "Editors": {\r\n
Login.c(118): "Auto": AutoCompleteEditor\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function AutoCompleteEditor(args) {\r\n
Login.c(118): var $input;\r\n
Login.c(118): var defaultValue;\r\n
Login.c(118): var scope = this;\r\n
Login.c(118): var calendarOpen = false;\r\n
Login.c(118): var defaultTemplate = "<span class='grid-autocomplete-
item'>{{{label}}}</span>";\r\n
Login.c(118): var itemTemplate = args.itemTemplate || defaultTemplate;\r\n
Login.c(118): var compiledTemplate = Handlebars.compile(itemTemplate);\r\n
Login.c(118): \r\n
Login.c(118): this.init = function () {\r\n
Login.c(118): $input = $("<INPUT id='tags' class='editor-text' /><img
id='gridChooserIcon' src='i
Login.c(118): mages/choosericon.png' alt='chooser icon' >");\r\n
Login.c(118): $input.width($(args.container).innerWidth() - 5);\r\n
Login.c(118): $input.appendTo(args.container);\r\n
Login.c(118): \r\n
Login.c(118): $input.bind("keydown.nav", function (e) {\r\n
Login.c(118): if (e.shiftKey) {\r\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode
=== $.ui.keyCode.RIGHT) {\r
Login.c(118): \n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (e.keyCode === $.ui.keyCode.UP || e.keyCode ===
$.ui.keyCode.DOWN) {\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $input.focus().select();\r\n
Login.c(118): \r\n
Login.c(118): $('#gridChooserIcon').bind('click',function(event){\r\n
Login.c(118): event.preventDefault();\r\n
Login.c(118): // $input.$broadcast('keydown');\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): var autoCompleteData = args.column.autoCompleteData;\r\n
Login.c(118): \r\n
Login.c(118): //Checking if it is a promise\r\n
Login.c(118): if(autoCompleteData && autoCompleteData.then){\r\n
Login.c(118): args.column.autoCompleteData.then(function(result){\r\n
Login.c(118): createAutoComplete($input, result,args.column);\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): createAutoComplete($input,
autoCompleteData,args.column);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function createAutoComplete(inputEl, autoCompleteData,
colDef){\r\n
Login.c(118): var modelField = colDef.modelField;\r\n
Login.c(118): var autoData = autoCompleteData;\r\n
Login.c(118): scope.autoData =autoData;\r\n
Login.c(118): if(modelField){\r\n
Login.c(118): autoData = jQuery.map(autoData, function(item){\r\n
Login.c(118): item.label = item[modelField];\r\n
Login.c(118): return item;\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): inputEl.autocomplete({\r\n
Login.c(118): source: autoData,\r\n
Login.c(118): create: function(){\r\n
Login.c(118): $(this).data('ui-autocomplete')._renderItem =
function(ul, item){\r\n
Login.c(118): var re = new RegExp("^" + this.term, "i");\r\n
Login.c(118): item.label = item.label.replace(re,"<span
style='font-weight:bold;text-decora
Login.c(118): tion:underline'>"+ this.term.toUpperCase() + "</span>");\r\n
Login.c(118): \r\n
Login.c(118): var compiledItem = compiledTemplate(item);\r\n
Login.c(118): \r\n
Login.c(118): return $('<li>')\r\n
Login.c(118): .append(compiledItem)\r\n
Login.c(118): .appendTo(ul);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): $(this).data('ui-autocomplete')._resizeMenu =
function(ul){\r\n
Login.c(118):
this.menu.element.outerWidth(inputEl.outerWidth());\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): this.destroy = function () {\r\n
Login.c(118): \r\n
Login.c(118): if($input.autocomplete && $input.data('ui-autocomplete'))
{\r\n
Login.c(118): $input.autocomplete("destroy");\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): //finding using selector to make sure autocomplete is
removed\r\n
Login.c(118): var autoCompleteEl = $('.ui-autocomplete');\r\n
Login.c(118): if(autoCompleteEl){autoCompleteEl.remove();}\r\n
Login.c(118): }\r\n
Login.c(118): $input.remove();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.focus = function () {\r\n
Login.c(118): $input.focus();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.loadValue = function (item) {\r\n
Login.c(118): defaultValue = item[args.column.field];\r\n
Login.c(118): $input.val(defaultValue);\r\n
Login.c(118): $input[0].defaultValue = defaultValue;\r\n
Login.c(118): $input.select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.serializeValue = function () {\r\n
Login.c(118): return $input.val();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.applyValue = function (item, state) {\r\n
Login.c(118): item[args.column.field] = state;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.isValueChanged = function () {\r\n
Login.c(118): return (!($input.val() === "" && !defaultValue)) &&
($input.val() != defaultValue);
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.validate = function () {\r\n
Login.c(118): if(scope.autoData && scope.autoData.length>0){\r\n
Login.c(118): \r\n
Login.c(118): var validItems = jQuery.grep(this.autoData,
function( item, i ) {\r\n
Login.c(118): return item[args.column.modelField] ===
$input.val();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): if(validItems.length>0){\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): var defaultVal= args.item[args.column.field] ||
'';\r\n
Login.c(118): $input.val(defaultVal);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): valid: true,\r\n
Login.c(118): msg: null\r\n
Login.c(118): }; \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.init();\r\n
Login.c(118): }\r\n
Login.c(118): $.extend(true,window,{\r\n
Login.c(118): \t"Slick":{\r\n
Login.c(118): \t\t"Editors":{\r\n
Login.c(118): \t\t\t"Calculator":CalculatorEditor\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function CalculatorEditor(args){\r\n
Login.c(118): \t var inputTxt;\r\n
Login.c(118): var defaultValue;\r\n
Login.c(118): var defaultItem;\r\n
Login.c(118): var scope = this;\r\n
Login.c(118): var newVal='';\r\n
Login.c(118): var operatorRegexp = /[\\=\\+\\-\\*\\/]/g;\r\n
Login.c(118): var started = false, result=0;\r\n
Login.c(118): var fullString ='';\r\n
Login.c(118): var isNewElement=false;\r\n
Login.c(118): var popupEl;\r\n
Login.c(118): var isEnterKey = false;\r\n
Login.c(118): var isEqualPressed=false;\r\n
Login.c(118): \r\n
Login.c(118): \tscope.init = function(){\r\n
Login.c(118): \r\n
Login.c(118): \t\t inputTxt = $("<INPUT type=text class='editor-text'
/>")\r\n
Login.c(118): .appendTo(args.container);\r\n
Login.c(118): \r\n
Login.c(118): $(document).bind("click", function (event) {\r\n
Login.c(118): if($(event.target).attr('class') !== $
(inputTxt).attr('class')){\r\n
Login.c(118): scope.serializeValue();\r\n
Login.c(118): if(popupEl){\r\n
Login.c(118): popupEl.hide();\r\n
Login.c(118): popupEl.empty();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): fullString = ''; \r\n
Login.c(118): } \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.bind("keydown.nav", function (e) {\r\n
Login.c(118): \r\n
Login.c(118): if(e.keyCode === $.ui.keyCode.ENTER ){\r\n
Login.c(118): if(inputTxt.val() !== ""){\r\n
Login.c(118): isEnterKey = true;\r\n
Login.c(118): scope.newVal = inputTxt.val();\r\n
Login.c(118): scope.calculate();\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.bind("keyup.nav", function (e) {\r\n
Login.c(118): \tnewVal =inputTxt.val();\r\n
Login.c(118): \r\n
Login.c(118): \t /**** checking for multiple dots ****/\r\n
Login.c(118): \t scope.removeMutipleChar(newVal,'.');\r\n
Login.c(118): scope.removeMutipleChar(newVal,'=');\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var lastCharacter = newVal.substr(newVal.length-
1,newVal.length);\r\n
Login.c(118): var matchesArr = newVal.split(/[\\
+\\-\\*\\/]/g);\r\n
Login.c(118): var currentValidValue =
parseFloat(matchesArr[matchesArr.length-2]);\r\n
Login.c(118): \r\n
Login.c(118): /**** Checking for restricting alphabets ***/\r\n
Login.c(118): if(!(/[0-9\\.\\=\\
+\\*\\-\\/]/g.test(lastCharacter))){\r\n
Login.c(118): scope.clearView();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /**** Executed when user clicks one of 4 operators
***/\r\n
Login.c(118): if((/[\\=\\+\\-\\*\\/]/g).test(lastCharacter)){\r\n
Login.c(118): var firstChar = newVal.charAt(0);\r\n
Login.c(118): if(firstChar === '+' || firstChar === '*' ||
firstChar === '/' || firs
Login.c(118): tChar === '='){\r\n
Login.c(118): scope.clearView();\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if(!started){\r\n
Login.c(118): \r\n
Login.c(118): started = true;\r\n
Login.c(118): if(!isNewElement){\r\n
Login.c(118): isNewElement = true;\r\n
Login.c(118): scope.initPopup();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scope.lastCharacter = lastCharacter;\r\n
Login.c(118): scope.newVal = newVal;\r\n
Login.c(118): scope.currentValidValue =
currentValidValue;\r\n
Login.c(118): \r\n
Login.c(118): if(firstChar === '-'){\r\n
Login.c(118): scope.newVal = '0'+newVal;\r\n
Login.c(118): if(isNaN(currentValidValue)){\r\n
Login.c(118): scope.currentValidValue = 0;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): scope.currentValidValue =
'-'+currentValidValue;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scope.calculate();\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.focus().select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): \t scope.destroy = function() {\r\n
Login.c(118): if(popupEl){\r\n
Login.c(118): popupEl.remove();\r\n
Login.c(118): }\r\n
Login.c(118): inputTxt.remove();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.focus = function() {\r\n
Login.c(118): inputTxt.focus();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.loadValue = function(item) {\r\n
Login.c(118): defaultItem = item;\r\n
Login.c(118): defaultValue = item[args.column.field];\r\n
Login.c(118): \tinputTxt.val(defaultValue);\r\n
Login.c(118): \t inputTxt[0].defaultValue = defaultValue;\r\n
Login.c(118): \t inputTxt.select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.serializeValue = function() {\r\n
Login.c(118): \r\n
Login.c(118): if(popupEl && popupEl.is(':visible') && !isEqualPressed)
{\r\n
Login.c(118): scope.loadValue(defaultItem);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var val = parseFloat(inputTxt.val(), 10) || 0;\r\n
Login.c(118): return val;\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.applyValue = function(item,state) {\r\n
Login.c(118): \r\n
Login.c(118): var isNum = /^-?\\d*\\.?\\d*$/.test(state); //supports
signed, float numbers onl
Login.c(118): t=7969ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): y. Ex= -20.45 when copy pasting\r\n
Login.c(118): if(!isNum){\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): item[args.column.field] = state;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.isValueChanged = function() {\r\n
Login.c(118): return (!(inputTxt.val() === "" && defaultValue ===
null)) && (inputTxt.val() !==
Login.c(118): defaultValue);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.validate = function() {\r\n
Login.c(118): return {\r\n
Login.c(118): valid: true,\r\n
Login.c(118): msg: null\r\n
Login.c(118): };\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): /************** custom methods *************/\r\n
Login.c(118): \r\n
Login.c(118): scope.initPopup = function(){\r\n
Login.c(118): popupEl = $('<ul class="grid-calc-popup"></ul>');\r\n
Login.c(118): $('body').append(popupEl);\r\n
Login.c(118): popupEl.css("top", args.position.top-50).css("left",
args.position.left).show();
Login.c(118): \r\n
Login.c(118): popupEl.css("width", args.position.width);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.calculate = function(){\r\n
Login.c(118): if(started){\r\n
Login.c(118): popupEl.show();\r\n
Login.c(118): fullString = fullString +
scope.newVal;\r\n
Login.c(118): \r\n
Login.c(118): if(scope.lastCharacter === '=' ||
isEnterKey){ \r\n
Login.c(118): isEnterKey = false;\r\n
Login.c(118): fullString =
fullString.replace('=','');\r\n
Login.c(118): result = eval(fullString);\r\n
Login.c(118): result =
Math.round(result*1000)/1000;\r\n
Login.c(118): scope.result = result;\r\n
Login.c(118): \r\n
Login.c(118): defaultItem[args.column.field] =
result.toString();\r\n
Login.c(118): scope.loadValue(defaultItem);\r\n
Login.c(118):
//inputTxt.val(result.toString());\r\n
Login.c(118): popupEl.empty();\r\n
Login.c(118): popupEl.hide();\r\n
Login.c(118): started = false;\r\n
Login.c(118): fullString = '';\r\n
Login.c(118): isEqualPressed = true;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): popupEl.append('<li>'
+scope.currentValidValue + "" + scope.la
Login.c(118): stCharacter+ '</li>');\r\n
Login.c(118): scope.clearView();\r\n
Login.c(118): isEqualPressed = false;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.clearView = function(){\r\n
Login.c(118): inputTxt.val("");\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.removeMutipleChar = function(ipval,spChar){\r\n
Login.c(118): var tempArr = ipval.split(spChar);\r\n
Login.c(118): var resultStr = '';\r\n
Login.c(118): if(tempArr.length > 2){\r\n
Login.c(118): var str = tempArr[0]+spChar+tempArr[1];\r\n
Login.c(118): var index = str.lastIndexOf(spChar); \r\n
Login.c(118): if(spChar === '.'){\r\n
Login.c(118): resultStr = str.substring(0,
index).replace(/[\\.]+/g, '').trim()+ s
Login.c(118): tr.substring(index);\r\n
Login.c(118): }\r\n
Login.c(118): else if(spChar === '='){\r\n
Login.c(118): resultStr = str.substring(0,
index).replace(/[\\=]+/g, '').trim()+ s
Login.c(118): tr.substring(index);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.val(resultStr);\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.init();\r\n
Login.c(118): }\r\n
Login.c(118): $.extend(true,window,{\r\n
Login.c(118): \t"Slick":{\r\n
Login.c(118): \t\t"Editors":{\r\n
Login.c(118): \t\t\t"CustomTextEditor":CustomTextEditor\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function CustomTextEditor(args) {\r\n
Login.c(118): var $input;\r\n
Login.c(118): var defaultValue;\r\n
Login.c(118): var scope = this;\r\n
Login.c(118): \r\n
Login.c(118): this.init = function () {\r\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />")\r\n
Login.c(118): .appendTo(args.container)\r\n
Login.c(118): .bind("keydown.nav", function (e) {\r\n
Login.c(118): if (e.shiftKey) {\r\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode
=== $.ui.keyCode.RIGHT) {\r
Login.c(118): \n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): })\r\n
Login.c(118): .focus()\r\n
Login.c(118): .select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.destroy = function () {\r\n
Login.c(118): $input.remove();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.focus = function () {\r\n
Login.c(118): $input.focus();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.getValue = function () {\r\n
Login.c(118): return $input.val();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.setValue = function (val) {\r\n
Login.c(118): $input.val(val);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.loadValue = function (item) {\r\n
Login.c(118): defaultValue = item[args.column.field] || "";\r\n
Login.c(118): $input.val(defaultValue);\r\n
Login.c(118): $input[0].defaultValue = defaultValue;\r\n
Login.c(118): $input.select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.serializeValue = function () {\r\n
Login.c(118): return $input.val();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.applyValue = function (item, state) {\r\n
Login.c(118): item[args.column.field] = state;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.isValueChanged = function () {\r\n
Login.c(118): return (!($input.val() === "" && defaultValue === null)) &&
($input.val() !== defaul
Login.c(118): tValue);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.validate = function () {\r\n
Login.c(118): if (args.column.validator) {\r\n
Login.c(118): var validationResults =
args.column.validator($input.val());\r\n
Login.c(118): if (!validationResults.valid) {\r\n
Login.c(118): return validationResults;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): valid: true,\r\n
Login.c(118): msg: null\r\n
Login.c(118): };\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.init();\r\n
Login.c(118): }\r\n
Login.c(118): (function ($) {\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Formatters":{\n
Login.c(118): "DisableCellFormatter": DisableCellFormatter\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function DisableCellFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): if (dataContext){\n
Login.c(118): var coldef = columnDef.field+"_disabled";\n
Login.c(118): if(dataContext[coldef] ||
columnDef.editable===false || dataContext.disable
Login.c(118): d){\n
Login.c(118): if(value){\n
Login.c(118): return '<div style="background:
#DCDCDC;color: grey;width:100%;hei
Login.c(118): ght:100%;">'+value+'</div>';\n
Login.c(118): }\n
Login.c(118): else{\n
Login.c(118): return '<div style="background:
#DCDCDC;color: grey;width:100%;hei
Login.c(118): ght:100%;"></div>';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): return (value)?value:'';\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\r\n
Login.c(118): \r\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "Formatters": {\r\n
Login.c(118): "Radio": CheckboxSelectionFormatter\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function CheckboxSelectionFormatter(row, cell, value,
columnDef, dataContext) {\r\n
Login.c(118): if (dataContext) {\r\n
Login.c(118): if(value === true){\r\n
Login.c(118): return "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"' checke
Login.c(118): d='checked' />";\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): return "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"' />";\r\n
Login.c(118): } \r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $.extend(true,window,{\r\n
Login.c(118): \t"Slick":{\r\n
Login.c(118): \t\t"RadioSelectColumn": RadioSelectColumn\r\n
Login.c(118): \t}\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function RadioSelectColumn(options) {\r\n
Login.c(118): var _grid;\r\n
Login.c(118): var _self = this;\r\n
Login.c(118): var _handler = new Slick.EventHandler();\r\n
Login.c(118): var _selectedRowsLookup = {};\r\n
Login.c(118): var _defaults = {\r\n
Login.c(118): columnId: "_checkbox_selector",\r\n
Login.c(118): cssClass: null,\r\n
Login.c(118): toolTip: "Select/Deselect All",\r\n
Login.c(118): width: 30\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var _options = $.extend(true, {}, _defaults, options);\r\n
Login.c(118): \r\n
Login.c(118): function init(grid) {\r\n
Login.c(118): _grid = grid;\r\n
Login.c(118): _handler\r\n
Login.c(118): .subscribe(_grid.onClick, handleClick);\r\n
Login.c(118): //.subscribe(_grid.onHeaderClick, handleHeaderClick)\r\n
Login.c(118): //.subscribe(_grid.onKeyDown, handleKeyDown);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function destroy() {\r\n
Login.c(118): _handler.unsubscribeAll();\r\n
Login.c(118): } \r\n
Login.c(118): \r\n
Login.c(118): // function handleKeyDown(e, args) {\r\n
Login.c(118): // if (e.which == 32) {\r\n
Login.c(118): // if (_grid.getColumns()[args.cell].id ===
_options.columnId) {\r\n
Login.c(118): // // if editing, try to commit\r\n
Login.c(118): // if (!_grid.getEditorLock().isActive() ||
_grid.getEditorLock().commitCurrentE
Login.c(118): dit()) {\r\n
Login.c(118): // toggleRowSelection(args.row);\r\n
Login.c(118): // }\r\n
Login.c(118): // e.preventDefault();\r\n
Login.c(118): // e.stopImmediatePropagation();\r\n
Login.c(118): // }\r\n
Login.c(118): // }\r\n
Login.c(118): // }\r\n
Login.c(118): \r\n
Login.c(118): function handleClick(e, args) {\r\n
Login.c(118): // clicking on a row select checkbox\r\n
Login.c(118): if (_grid.getColumns()[args.cell].type === 'Radio' && $
(e.target).is(":radio")) {\r\n
Login.c(118): // if editing, try to commit\r\n
Login.c(118): if (_grid.getEditorLock().isActive() && !
_grid.getEditorLock().commitCurrentEdit()
Login.c(118): ) {\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setCellValue(args, $(e.target));\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function clearAllSelection(fieldName){\r\n
Login.c(118): var items = _grid.getData().getItems();\r\n
Login.c(118): for(var i=0;i<items.length;i++){\r\n
Login.c(118): var row = items[i];\r\n
Login.c(118): _grid.invalidateRow(row);\r\n
Login.c(118): row[fieldName] = false; \r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setCellValue(args, radioEl){\r\n
Login.c(118): var item = _grid.getData().getItem(args.row);\r\n
Login.c(118): var colDefinition = _grid.getColumns()[args.cell];\r\n
Login.c(118): clearAllSelection(colDefinition.field);\r\n
Login.c(118): item[colDefinition.field] = radioEl.prop("checked")? true:
false;\r\n
Login.c(118): _grid.invalidateRow(args.row);\r\n
Login.c(118): _grid.render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnDefinition() {\r\n
Login.c(118): return {\r\n
Login.c(118): id: _options.columnId,\r\n
Login.c(118): name: "",\r\n
Login.c(118): toolTip: _options.toolTip,\r\n
Login.c(118): field: "sel",\r\n
Login.c(118): width: _options.width,\r\n
Login.c(118): resizable: false,\r\n
Login.c(118): sortable: false,\r\n
Login.c(118): cssClass: _options.cssClass,\r\n
Login.c(118): formatter: Slick.Formatters.Radio\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $.extend(this, {\r\n
Login.c(118): "init": init,\r\n
Login.c(118): "destroy": destroy,\r\n
Login.c(118): "getColumnDefinition": getColumnDefinition\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): })(jQuery);\r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "CellSelectionModelExt": CellSelectionModelExt\r\n
Login.c(118): }\r\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellSelectionModelExt(options) {\r\n
Login.c(118): var _grid;\n
Login.c(118): var _handler = new Slick.EventHandler();\n
Login.c(118): var _self = this;\n
Login.c(118): \n
Login.c(118): function init(grid) {\r\n
Login.c(118): \n
Login.c(118): _grid = grid;\n
Login.c(118): _handler\n
Login.c(118): .subscribe(_grid.onClick, handleClick);\r\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\r\n
Login.c(118): _handler\n
Login.c(118): .unsubscribe(_grid.onClick, handleClick);\r\n
Login.c(118): }\n
Login.c(118): \r\n
Login.c(118): function setSelectedRanges(range) {\r\n
Login.c(118): var selectionModel = _grid.getSelectionModel();\n
Login.c(118): if (selectionModel &&
selectionModel.setSelectedRanges) {\r\n
Login.c(118): selectionModel.setSelectedRanges([range]);\r\n
Login.c(118): }\r\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleClick(e, args) {\r\n
Login.c(118): var active = _grid.getActiveCell();\n
Login.c(118): \n
Login.c(118): if (active && e.shiftKey && !e.ctrlKey && !e.altKey)
{\r\n
Login.c(118): setSelectedRanges(new Slick.Range(\n
Login.c(118): active.row,\n
Login.c(118): active.cell,\n
Login.c(118): args.row,\n
Login.c(118): args.cell\n
Login.c(118): ));\n
Login.c(118): \r\n
Login.c(118): e.preventDefault();\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): } \n
Login.c(118): \n
Login.c(118): $.extend(this, { \n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellExternalCopyManager": CellExternalCopyManager\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellExternalCopyManager(options) {\n
Login.c(118): /*\n
Login.c(118): This manager enables users to copy/paste data from/to an
external Spreadsheet applic
Login.c(118): ation\n
Login.c(118): such as MS-Excel\xC2\xAE or OpenOffice-Spreadsheet.\n
Login.c(118): \n
Login.c(118): Since it is not possible to access directly the clipboard
in javascript, the plugin
Login.c(118): uses\n
Login.c(118): a trick to do it's job. After detecting the keystroke, we
dynamically create a texta
Login.c(118): rea\n
Login.c(118): where the browser copies/pastes the serialized data. \n
Login.c(118): \n
Login.c(118): options:\n
Login.c(118): copiedCellStyle : sets the css className used for copied
cells. default : "copied"
Login.c(118): \n
Login.c(118): copiedCellStyleLayerKey : sets the layer key for setting
css values of copied cell
Login.c(118): s. default : "copy-manager"\n
Login.c(118): dataItemColumnValueExtractor : option to specify a custom
column value extractor f
Login.c(118): unction\n
Login.c(118): dataItemColumnValueSetter : option to specify a custom
column value setter functio
Login.c(118): n\n
Login.c(118): clipboardCommandHandler : option to specify a custom
handler for paste actions\n
Login.c(118): includeHeaderWhenCopying : set to true and the plugin
will take the name property
Login.c(118): from each column (which is usually what appears in your header)
and put that as the first
Login.c(118): row of the text that's copied to the clipboard\n
Login.c(118): bodyElement: option to specify a custom DOM element which
to will be added the hid
Login.c(118): den textbox. It's useful if the grid is inside a modal dialog.\n
Login.c(118): */\n
Login.c(118): var _grid;\n
Login.c(118): var _self = this;\n
Login.c(118): var _copiedRanges;\n
Login.c(118): var _options = options || {};\n
Login.c(118): var _copiedCellStyleLayerKe
Login.c(118): t=7986ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): y = _options.copiedCellStyleLayerKey || "copy-manager";\n
Login.c(118): var _copiedCellStyle = _options.copiedCellStyle ||
"copied";\n
Login.c(118): var _clearCopyTI = 0;\n
Login.c(118): var _bodyElement = _options.bodyElement || document.body;\n
Login.c(118): \n
Login.c(118): var keyCodes = {\n
Login.c(118): 'C':67,\n
Login.c(118): 'V':86,\n
Login.c(118): 'ESC':27,\n
Login.c(118): 'X':88\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function init(grid) {\n
Login.c(118): _grid = grid;\n
Login.c(118): _grid.onKeyDown.subscribe(handleKeyDown);\n
Login.c(118): \n
Login.c(118): // we need a cell selection model\n
Login.c(118): var cellSelectionModel = grid.getSelectionModel();\n
Login.c(118): if (!cellSelectionModel){\n
Login.c(118): throw new Error("Selection model is mandatory for this
plugin. Please set a select
Login.c(118): ion model on the grid before adding this plugin:
grid.setSelectionModel(new Slick.CellSele
Login.c(118): ctionModel())");\n
Login.c(118): }\n
Login.c(118): // we give focus on the grid when a selection is done on
it.\n
Login.c(118): // without this, if the user selects a range of cell
without giving focus on a parti
Login.c(118): cular cell, the grid doesn't get the focus and key stroke handles
(ctrl+c) don't work\n
Login.c(118):
cellSelectionModel.onSelectedRangesChanged.subscribe(function(e, args){\n
Login.c(118): _grid.focus();\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118): _grid.onKeyDown.unsubscribe(handleKeyDown);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getDataItemValueForColumn(item, columnDef) {\n
Login.c(118): if (_options.dataItemColumnValueExtractor) {\n
Login.c(118): return _options.dataItemColumnValueExtractor(item,
columnDef);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var retVal = '';\n
Login.c(118): \n
Login.c(118): // use formatter if available; much faster than editor\n
Login.c(118): // if (columnDef.formatter) {\n
Login.c(118): // return columnDef.formatter(0, 0,
item[columnDef.field], columnDef, item);\n
Login.c(118): // }\n
Login.c(118): \n
Login.c(118): // if a custom getter is not defined, we call
serializeValue of the editor to serial
Login.c(118): ize\n
Login.c(118): if (columnDef.editor){\n
Login.c(118): var editorArgs = {\n
Login.c(118): 'container':$("body"), // a dummy container\n
Login.c(118): 'column':columnDef,\n
Login.c(118): 'position':{'top':0, 'left':0} // a dummy position
required by some editors\n
Login.c(118): };\n
Login.c(118): var editor = new columnDef.editor(editorArgs);\n
Login.c(118): editor.loadValue(item);\n
Login.c(118): retVal = editor.serializeValue();\n
Login.c(118): editor.destroy();\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): retVal = item[columnDef.field];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return retVal;\n
Login.c(118): }\n
Login.c(118): function setDataItemValueForColumn(item, columnDef, value)
{\n
Login.c(118): \n
Login.c(118): if(!item[columnDef.field+"_disabled"] && columnDef.editable !
== false && !item.disable
Login.c(118): d)\n
Login.c(118): { \n
Login.c(118): if (_options.dataItemColumnValueSetter) {\n
Login.c(118): return _options.dataItemColumnValueSetter(item,
columnDef, value);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // if a custom setter is not defined, we call applyValue of
the editor to unserializ
Login.c(118): e\n
Login.c(118): if (columnDef.editor){\n
Login.c(118): var editorArgs = {\n
Login.c(118): 'container':$("body"), // a dummy container\n
Login.c(118): 'column':columnDef,\n
Login.c(118): 'position':{'top':0, 'left':0} // a dummy position
required by some editors\n
Login.c(118): };\n
Login.c(118): var editor = new columnDef.editor(editorArgs);\n
Login.c(118): editor.loadValue(item);\n
Login.c(118): editor.applyValue(item, value);\n
Login.c(118): editor.destroy();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function _createTextBox(innerText){\n
Login.c(118): var ta = document.createElement('textarea');\n
Login.c(118): ta.style.position = 'absolute';\n
Login.c(118): ta.style.left = '-1000px';\n
Login.c(118): ta.style.top = document.body.scrollTop + 'px';\n
Login.c(118): ta.value = innerText;\n
Login.c(118): _bodyElement.appendChild(ta);\n
Login.c(118): ta.select();\n
Login.c(118): \n
Login.c(118): return ta;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function _decodeTabularData(_grid, ta){\n
Login.c(118): var columns = _grid.getColumns();\n
Login.c(118): var clipText = ta.value;\n
Login.c(118): var clipRows = clipText.split(/[\\n\\f\\r]/);\n
Login.c(118): var clippedRange = [];\n
Login.c(118): \n
Login.c(118): _bodyElement.removeChild(ta);\n
Login.c(118): \n
Login.c(118): for (var i=0; i<clipRows.length; i++) {\n
Login.c(118): if (clipRows[i]!=="")\n
Login.c(118): clippedRange[i] = clipRows[i].split("\\t");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var selectedCell = _grid.getActiveCell();\n
Login.c(118): var ranges =
_grid.getSelectionModel().getSelectedRanges();\n
Login.c(118): var selectedRange = ranges && ranges.length ? ranges[0] :
null; // pick only one s
Login.c(118): election\n
Login.c(118): var activeRow = null;\n
Login.c(118): var activeCell = null;\n
Login.c(118): \n
Login.c(118): if (selectedRange){\n
Login.c(118): activeRow = selectedRange.fromRow;\n
Login.c(118): activeCell = selectedRange.fromCell;\n
Login.c(118): } else if (selectedCell){\n
Login.c(118): activeRow = selectedCell.row;\n
Login.c(118): activeCell = selectedCell.cell;\n
Login.c(118): } else {\n
Login.c(118): // we don't know where to paste\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var oneCellToMultiple = false;\n
Login.c(118): var destH = clippedRange.length;\n
Login.c(118): var destW = clippedRange.length ? clippedRange[0].length :
0;\n
Login.c(118): if (clippedRange.length == 1 && clippedRange[0].length == 1
&& selectedRange){\n
Login.c(118): oneCellToMultiple = true;\n
Login.c(118): destH = selectedRange.toRow - selectedRange.fromRow +1;\n
Login.c(118): destW = selectedRange.toCell - selectedRange.fromCell
+1;\n
Login.c(118): }\n
Login.c(118): \t var availableRows = _grid.getData().length - activeRow;\n
Login.c(118): \t var addRows = 0;\n
Login.c(118): \t if(availableRows < destH)\n
Login.c(118): \t {\n
Login.c(118): \t\tvar d = _grid.getData();\n
Login.c(118): \t\tfor(addRows = 1; addRows <= destH - availableRows; addRows+
+)\n
Login.c(118): \t\t\td.push({});\n
Login.c(118): \t\t_grid.setData(d);\n
Login.c(118): \t\t_grid.render();\n
Login.c(118): \t } \n
Login.c(118): var clipCommand = {\n
Login.c(118): \n
Login.c(118): isClipboardCommand: true,\n
Login.c(118): clippedRange: clippedRange,\n
Login.c(118): oldValues: [],\n
Login.c(118): cellExternalCopyManager: _self,\n
Login.c(118): _options: _options,\n
Login.c(118): setDataItemValueForColumn: setDataItemValueForColumn,\n
Login.c(118): markCopySelection: markCopySelection,\n
Login.c(118): oneCellToMultiple: oneCellToMultiple,\n
Login.c(118): activeRow: activeRow,\n
Login.c(118): activeCell: activeCell,\n
Login.c(118): destH: destH,\n
Login.c(118): destW: destW,\n
Login.c(118): desty: activeRow,\n
Login.c(118): destx: activeCell,\n
Login.c(118): maxDestY: _grid.getDataLength(),\n
Login.c(118): maxDestX: _grid.getColumns().length,\n
Login.c(118): h: 0,\n
Login.c(118): w: 0,\n
Login.c(118): \n
Login.c(118): execute: function() {\n
Login.c(118): this.h=0;\n
Login.c(118): for (var y = 0; y < destH; y++){\n
Login.c(118): this.oldValues[y] = [];\n
Login.c(118): this.w=0;\n
Login.c(118): this.h++;\n
Login.c(118): for (var x = 0; x < destW; x++){\n
Login.c(118): this.w++;\n
Login.c(118): var desty = activeRow + y;\n
Login.c(118): var destx = activeCell + x;\n
Login.c(118): \n
Login.c(118): if (desty < this.maxDestY && destx <
this.maxDestX ) {\n
Login.c(118): var nd = _grid.getCellNode(desty, destx);\n
Login.c(118): var dt = _grid.getDataItem(desty);\n
Login.c(118): this.oldValues[y][x] = dt[columns[destx].id];\n
Login.c(118): if (oneCellToMultiple)\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], clippedRange[0][0]);\n
Login.c(118): else\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], clippedRange[y] ? cli
Login.c(118): ppedRange[y][x] : '');\n
Login.c(118): _grid.updateCell(desty, destx);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var bRange = {\n
Login.c(118): 'fromCell': activeCell,\n
Login.c(118): 'fromRow': activeRow,\n
Login.c(118): 'toCell': activeCell+this.w-1,\n
Login.c(118): 'toRow': activeRow+this.h-1\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.markCopySelection([bRange]);\n
Login.c(118):
_grid.getSelectionModel().setSelectedRanges([bRange]);\n
Login.c(118):
this.cellExternalCopyManager.onPasteCells.notify({ranges: [bRange]});\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): undo: function() {\n
Login.c(118): for (var y = 0; y < destH; y++){\n
Login.c(118): for (var x = 0; x < destW; x++){\n
Login.c(118): var desty = activeRow + y;\n
Login.c(118): var destx = activeCell + x;\n
Login.c(118): \n
Login.c(118): if (desty < this.maxDestY && destx <
this.maxDestX ) {\n
Login.c(118): var nd = _grid.getCellNode(desty, destx);\n
Login.c(118): var dt = _grid.getDataItem(desty);\n
Login.c(118): if (oneCellToMultiple)\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], this.oldValues[0][0])
Login.c(118): ;\n
Login.c(118): else\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], this.oldValues[y][x])
Login.c(118): ;\n
Login.c(118): _grid.updateCell(desty, destx);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var bRange = {\n
Login.c(118): 'fromCell': activeCell,\n
Login.c(118): 'fromRow': activeRow,\n
Login.c(118): 'toCell': activeCell+this.w-1,\n
Login.c(118): 'toRow': activeRow+this.h-1\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.markCopySelection([bRange]);\n
Login.c(118):
_grid.getSelectionModel().setSelectedRanges([bRange]);\n
Login.c(118):
this.cellExternalCopyManager.onPasteCells.notify({ranges: [bRange]});\n
Login.c(118): \n
Login.c(118): if(addRows > 1){ \n
Login.c(118): var d = _grid.getData();\n
Login.c(118): for(; addRows > 1; addRows--)\n
Login.c(118): d.splice(d.length - 1, 1);\n
Login.c(118): _grid.setData(d);\n
Login.c(118): _grid.render();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): if(_options.clipboardCommandHandler) {\n
Login.c(118): _options.clipboardCommandHandler(clipCommand);\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): clipCommand.execute();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function handleKeyDown(e, args) {\n
Login.c(118): var ranges;\n
Login.c(118): if (!_grid.getEditorLock().isActive() ||
_grid.getOptions().autoEdit) {\n
Login.c(118): if (e.which == keyCodes.ESC) {\n
Login.c(118): if (_copiedRanges) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): clearCopySelection();\n
Login.c(118): _self.onCopyCancelled.notify({ranges:
_copiedRanges});\n
Login.c(118): _copiedRanges = null;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ((e.which == keyCodes.C || e.which == keyCodes.X)&&
(e.ctrlKey || e.metaKey)) {
Login.c(118): // CTRL + C && CTRL + X\n
Login.c(118): ranges =
_grid.getSelectionModel().getSelectedRanges();\n
Login.c(118): if (ranges.length !== 0) {\n
Login.c(118): _copiedRanges = ranges;\n
Login.c(118): markCopySelection(ranges);\n
Login.c(118): _self.onCopyCells.notify({ranges: ranges});\n
Login.c(118): \n
Login.c(118): var columns = _grid.getColumns();\n
Login.c(118): var clipText = "";\n
Login.c(118): \n
Login.c(118): for (var rg = 0; rg < ranges.length; rg++){\n
Login.c(118): var range = ranges[rg];\n
Login.c(118): var clipTextRows = [];\n
Login.c(118): for (var i=range.fromRow; i< range.toRow+1 ; i++)
{\n
Login.c(118): var clipTextCells = [];\n
Login.c(118): var dt = _grid.getDataItem(i);\n
Login.c(118): \n
Login.c(118): if (clipText === "" &&
_options.includeHeaderWhenCopying) {\n
Login.c(118): var clipTextHeaders = [];\n
Login.c(118): for (var j = range.fromCell; j <
range.toCell + 1 ; j++) {\n
Login.c(118): if (columns[j].name.length > 0)\n
Login.c(118):
clipTextHeaders.push(columns[j].name);\n
Login.c(118): }\n
Login.c(118):
clipTextRows.push(clipTextHeaders.join("\\t"));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var k=range.fromCell; k<
range.toCell+1 ; k++){\n
Login.c(118): \n
Login.c(118): if(!dt[columns[k].field+"_disabled"] && !
dt.disabled && columns[k]
Login.c(118): .editable!== false && e.which == keyCodes.X )\n
Login.c(118): {\n
Login.c(118):
clipTextCells.push(getDataItemValueForColumn(dt, columns[k]));\n
Login.c(118): _grid.invalidateRow(i);\n
Login.c(118): dt[columns[k].field] = "";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if(e.which === keyCodes.C){\n
Login.c(118):
clipTextCells.push(getDataItemValueForColumn(dt, columns[k]));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): }\n
Login.c(118):
clipTextRows.push(clipTextCells.join("\\t"));\n
Login.c(118): }\n
Login.c(118): clipText += clipTextRows.join("\\r\\n") +
"\\r\\n";\n
Login.c(118): }\n
Login.c(118): if(e.which == keyCodes.X)\n
Login.c(118): _grid.render();\n
Login.c(118): var $focus = $(_grid.getActiveCellNode());\n
Login.c(118): var ta = _createTextBox(clipText);\n
Login.c(118): \n
Login.c(118): ta.focus();\n
Login.c(118): \n
Login.c(118): setTimeout(function(){\n
Login.c(118): _bodyElement.removeChild(ta);\n
Login.c(118): // restore focus\n
Login.c(118): if ($focus && $focus.length>0) {\n
Login.c(118): $focus.attr('tabIndex', '-1');\n
Login.c(118): $focus.focus();\n
Login.c(118): $focus.removeAttr('tabIndex');\n
Login.c(118): }\n
Login.c(118): }, 100);\n
Login.c(118): \n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (e.which == keyCodes.V && (e.ctrlKey || e.metaKey)) {
// CTRL + V\n
Login.c(118): var txtBx = _createTextBox('');\n
Login.c(118): \n
Login.c(118): setTimeout(function(){\n
Login.c(118): _decodeTabularData(_grid, txtBx);\n
Login.c(118): }, 100);\n
Login.c(118): \n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): function markCopySelection(ranges) {\n
Login.c(118): clearCopySelection();\n
Login.c(118): \n
Login.c(118): var columns = _grid.getColumns();\n
Login.c(118): var hash = {};\n
Login.c(118): for (var i = 0; i < ranges.length; i++) {\n
Login.c(118): for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j+
+) {\n
Login.c(118): hash[j] = {};\n
Login.c(118): for (var k = ranges[i].fromCell; k <= ranges[i].toCell
&& k<columns.length; k++)
Login.c(118): {\n
Login.c(118): hash[j][columns[k].id] = _copiedCellStyle;\n
Login.c(118): }\n
Login.c(118):
Login.c(118): t=8002ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): _grid.setCellCssStyles(_copiedCellStyleLayerKey, hash);\n
Login.c(118): clearTimeout(_clearCopyTI);\n
Login.c(118): _clearCopyTI = setTimeout(function(){\n
Login.c(118): _self.clearCopySelection();\n
Login.c(118): }, 2000);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function clearCopySelection() {\n
Login.c(118): _grid.removeCellCssStyles(_copiedCellStyleLayerKey);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy,\n
Login.c(118): "clearCopySelection": clearCopySelection,\n
Login.c(118): "handleKeyDown":handleKeyDown,\n
Login.c(118): \n
Login.c(118): "onCopyCells": new Slick.Event(),\n
Login.c(118): "onCopyCancelled": new Slick.Event(),\n
Login.c(118): "onPasteCells": new Slick.Event()\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\r\n
Login.c(118): // register namespace\r\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "RowSelectionColumn": RowSelectionColumn\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function RowSelectionColumn(options) {\r\n
Login.c(118): var _grid;\r\n
Login.c(118): var _self = this;\r\n
Login.c(118): var _handler = new Slick.EventHandler();\r\n
Login.c(118): var _selectedRowsLookup = {};\r\n
Login.c(118): var _dragging;\r\n
Login.c(118): var _decorator, _rangeSelector;\r\n
Login.c(118): var _defaults = {\r\n
Login.c(118): columnId: "_row_selector_",\r\n
Login.c(118): cssClass: null,\r\n
Login.c(118): toolTip: "Select Row",\r\n
Login.c(118): width: 30\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var _defaultdecoratorOptions = {\r\n
Login.c(118): \tselectionCssClass: 'slick-range-decorator',\r\n
Login.c(118): \tselectionCss: { \t\t\t\r\n
Login.c(118): \t\t"border": "2px solid black", \t\t\t\r\n
Login.c(118): \t}\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var _decoratoroptions = $.extend(true, {},
_defaultdecoratorOptions, (options && optio
Login.c(118): ns.decoratorOptions || {}));\r\n
Login.c(118): \r\n
Login.c(118): var _options = $.extend(true, {}, _defaults, options),
lastCellIndex = 0, initialPoint
Login.c(118): = {};\r\n
Login.c(118): \r\n
Login.c(118): function init(grid) {\r\n
Login.c(118): \t_grid = grid;\r\n
Login.c(118): \tlastCellIndex = grid.getColumns().length -1;\r\n
Login.c(118): \t_decorator = new Slick.CellRangeDecorator(grid,
_decoratoroptions);\r\n
Login.c(118): \t_canvas = _grid.getCanvasNode();\r\n
Login.c(118): \t_handler\t\t\r\n
Login.c(118): .subscribe(_grid.onClick, handleClick)\r\n
Login.c(118): \t\t.subscribe(_grid.onDragInit, handleDragInit)\r\n
Login.c(118): .subscribe(_grid.onDragStart, handleDragStart)\r\n
Login.c(118): .subscribe(_grid.onDrag, handleDrag)\r\n
Login.c(118): .subscribe(_grid.onDragEnd, handleDragEnd)\r\n
Login.c(118): .subscribe(_grid.onDblClick, handleDoubleClick);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \tfunction destroy() {\r\n
Login.c(118): \t\t_handler\r\n
Login.c(118): \t\t.unsubscribe(_grid.onClick, handleClick)\r\n
Login.c(118): .unsubscribe(_grid.onKeyDown, handleKeyDown)\r\n
Login.c(118): \t\t.unsubscribe(_grid.onDragInit, handleDragInit)\r\n
Login.c(118): .unsubscribe(_grid.onDragStart, handleDragStart)\r\n
Login.c(118): .unsubscribe(_grid.onDrag, handleDrag)\r\n
Login.c(118): .unsubscribe(_grid.onDragEnd, handleDragEnd)\r\n
Login.c(118): .unsubscribe(_grid.onDblClick, handleDoubleClick);\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDragInit(e, dd) {\r\n
Login.c(118): \t\tvar start = _grid.getCellFromEvent(e);\r\n
Login.c(118): \t\tif (start && isRowSelectionCell(start)) {\r\n
Login.c(118): \t\t\t// prevent the grid from cancelling drag'n'drop by
default\r\n
Login.c(118): \t\t\te.stopImmediatePropagation();\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDragStart(e, dd) {\t\t\r\n
Login.c(118): \t\tvar start = _grid.getCellFromEvent(e), originalPoint =
$.extend(true, {}, start);\r\n
Login.c(118): \t\tif (start && !isRowSelectionCell(start)) {\r\n
Login.c(118): \t\t\treturn;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t_dragging = true;\r\n
Login.c(118): \t\te.stopImmediatePropagation();\r\n
Login.c(118): \t\t_grid.focus();\r\n
Login.c(118): \r\n
Login.c(118): \t\tstart.cell = 0; //need to select from 0 cell to end cell
irrespective of user selectio
Login.c(118): n\r\n
Login.c(118): \t\tdd.range = { start: start, end: { row: start.row, cell:
lastCellIndex }, originalPoint
Login.c(118): : originalPoint };\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t\treturn _decorator.show(new Slick.Range(start.row, start.cell,
start.row, lastCellIndex
Login.c(118): ));\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDrag(e, dd) {\r\n
Login.c(118): \t\tif (!_dragging) {\r\n
Login.c(118): \t\t\treturn;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\te.stopImmediatePropagation();\r\n
Login.c(118): \t\tvar end = _grid.getCellFromPoint(\r\n
Login.c(118): \t\t e.pageX - $(_canvas).offset().left,\r\n
Login.c(118): \t\t e.pageY - $(_canvas).offset().top);\r\n
Login.c(118): \r\n
Login.c(118): \t\tend.cell = lastCellIndex;\r\n
Login.c(118): \t\tdd.range.end = end;\r\n
Login.c(118): \t\tend.row = end.row >= 0 ? end.row : 0;\r\n
Login.c(118): \t\t_decorator.show(new Slick.Range(dd.range.start.row,
dd.range.start.cell, end.row, end.
Login.c(118): cell));\t\t\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDragEnd(e, dd) {\r\n
Login.c(118): if (!_dragging) {\r\n
Login.c(118): return;\r\n
Login.c(118): } \r\n
Login.c(118): \r\n
Login.c(118): _dragging = false;\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): _decorator.hide();\r\n
Login.c(118): \r\n
Login.c(118): //concatRow(dd.range); // this for capturing all the
cell\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): // This is for capturing sepecific range.\r\n
Login.c(118): if (dd.range.originalPoint.cell == dd.range.end.cell &&
lastCellIndex > 0) {\r\n
Login.c(118): dd.range.end.cell = dd.range.end.cell - 1;\r\n
Login.c(118): }\r\n
Login.c(118): else if (dd.range.originalPoint.cell ==
dd.range.start.cell && lastCellIndex > 0)
Login.c(118): {\r\n
Login.c(118): dd.range.start.cell = dd.range.start.cell + 1;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setSelectedRanges(new Slick.Range(\r\n
Login.c(118): dd.range.start.row,\r\n
Login.c(118): dd.range.start.cell,\r\n
Login.c(118): dd.range.end.row,\r\n
Login.c(118): dd.range.end.cell\r\n
Login.c(118): ));\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSelectedRanges(range) {\r\n
Login.c(118): var selectionModel = _grid.getSelectionModel();\r\n
Login.c(118): if (selectionModel && selectionModel.setSelectedRanges)
{\r\n
Login.c(118): selectionModel.setSelectedRanges([range]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleClick(e, args) { \r\n
Login.c(118): if (isRowSelectionCell(args)) {\r\n
Login.c(118): var range = { start: { row: args.row }, end: { row:
args.row } };\r\n
Login.c(118): if (args.cell === 0) {\r\n
Login.c(118): range.start.cell = args.cell + 1;\r\n
Login.c(118): range.end.cell = lastCellIndex;\r\n
Login.c(118): }\r\n
Login.c(118): else if (args.cell == lastCellIndex && lastCellIndex
> 0) {\r\n
Login.c(118): range.start.cell = 0;\r\n
Login.c(118): range.end.cell = lastCellIndex - 1;\r\n
Login.c(118): }\r\n
Login.c(118): else {\r\n
Login.c(118): range.start.cell = 0;\r\n
Login.c(118): range.end.cell = lastCellIndex;\r\n
Login.c(118): }\r\n
Login.c(118): setSelectedRanges(new Slick.Range(\r\n
Login.c(118): range.start.row,\r\n
Login.c(118): range.start.cell,\r\n
Login.c(118): range.end.row,\r\n
Login.c(118): range.end.cell\r\n
Login.c(118): ));\r\n
Login.c(118): //toggleRowSelection(args.row); // setting irrespective
of ranges. select complete
Login.c(118): row\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDoubleClick(e, args) {\r\n
Login.c(118): if (isRowSelectionCell(args)) {\r\n
Login.c(118): // prevent the grid from cancelling set active cell
by default\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \tfunction isRowSelectionCell(args) {\r\n
Login.c(118): \t\treturn _grid.getColumns()[args.cell].id ===
_options.columnId;\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): function toggleRowSelection(row) {\r\n
Login.c(118): \t_grid.setSelectedRows([row]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function concatRow(range) {\r\n
Login.c(118): \tvar selectedRow = [];\r\n
Login.c(118): \tif (range.end.row) {\r\n
Login.c(118): \t\tvar max = Math.max(range.start.row, range.end.row);\r\n
Login.c(118): \t\tvar min = Math.min(range.start.row, range.end.row);\r\n
Login.c(118): \t\twhile (min <= max) {\r\n
Login.c(118): \t\t\tselectedRow.push(min);\r\n
Login.c(118): \t\t\tmin += 1;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): \telse {\r\n
Login.c(118): \t\tselectedRow.push(range.start.row);\r\n
Login.c(118): \t}\r\n
Login.c(118): \t_grid.setSelectedRows(selectedRow);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnDefinition(opt) {\r\n
Login.c(118): \tvar val = $.extend(true, {}, { id: _options.columnId },
opt);\r\n
Login.c(118): val.id = _options.columnId;\r\n
Login.c(118): val.isRowSelectionColumn = true;\r\n
Login.c(118): return val;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $.extend(this, {\r\n
Login.c(118): "init": init,\r\n
Login.c(118): "destroy": destroy,\r\n
Login.c(118): "getColumnDefinition": getColumnDefinition\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): })(jQuery);\r\n
Login.c(118): angular.module('slickgrid',[]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('ColumnBuilder', [function () {\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar columns = [];\r\n
Login.c(118): \t\tvar slickGridId;\r\n
Login.c(118): \t\tvar gridInstance;\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction setGridInstance(grid){\r\n
Login.c(118): \t\t\tgridInstance=grid;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction create(columnData, gridId){\r\n
Login.c(118): \t\t\tcolumns=[];\r\n
Login.c(118): \t\t\tslickGridId = gridId;\r\n
Login.c(118): \t\t\tangular.forEach(columnData, function(column){\r\n
Login.c(118): \t\t\t\tswitch(column.type){\r\n
Login.c(118): \t\t\t\t\tcase 'Text':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createTextColumn(column));\r\n
Login.c(118): \t\t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Number':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createNumberColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Auto':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createAutoCompleteColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Date':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createDateColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Boolean':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createBooleanColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Checkbox':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createCheckboxColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Calculator':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createCalculatorColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'RowSelectionColumn':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createRowSelectionColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Radio':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createRadioSelectionColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tdefault:\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createTextColumn(column));\r\n
Login.c(118): \r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t}\r\n
Login.c(118): \t\t\t});\r\n
Login.c(118): \r\n
Login.c(118): \t\t\treturn columns;\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createBasicColumnInfo(columnData){\r\n
Login.c(118): \t\t\tvar columnBasicOption= {\r\n
Login.c(118): \r\n
Login.c(118): \t\t\t\tid: columnData.id,\r\n
Login.c(118): \t\t\t\tname: columnData.name,\r\n
Login.c(118): \t\t\t\tfield: columnData.id,\r\n
Login.c(118): \t\t\t\tsortable: columnData.sortable,\r\n
Login.c(118): \t\t\t\teditable: columnData.editable,\r\n
Login.c(118): \t\t\t\tformatter: Slick.Formatters.DisableCellFormatter\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t\tif(columnData.required){\r\n
Login.c(118): \t\t\t\t\tcolumnBasicOption.validator =
requireFieldValidator;\r\n
Login.c(118): \t\t\t\t}\r\n
Login.c(118): \t\t\t\tif(columnData.maxLength){\r\n
Login.c(118): \t\t\t\t\tcolumnBasicOption.validator=maxLengthValidator;\r\n
Login.c(118): \t\t\t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\t\treturn jQuery.extend({}, columnData,
columnBasicOption);\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar requireFieldValidator= function validationFunction
(value)\r\n
Login.c(118): \t\t{\r\n
Login.c(118): \t\t\tif(value === null || value === undefined || !value.length)
{\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t valid: false,\r\n
Login.c(118): \t msg: "Value is required",\r\n
Login.c(118): \t type:"warning",\r\n
Login.c(118): \t errorComponent:'griderror'\r\n
Login.c(118): \t};\r\n
Login.c(118): \t\t\t}else {\r\n
Login.c(118): \t\t/*var activeCell = grid.getActiveCell(); \r\n
Login.c(118): \t\tvar dataView = grid.getData(); \r\n
Login.c(118): var item = dataView.getItem(activeCell.row);\r\n
Login.c(118): var columns=grid.getColumns();\r\n
Login.c(118): var column = columns[activeCell.cell];\r\n
Login.c(118): delete item[""+column.id+
"_validationToolTipMsg"];*/\r\n
Login.c(118): \t\treturn {valid: true, msg :null } ;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar maxLengthValidator = function validationFunction(value)
{\r\n
Login.c(118): \t\t\tif(!value || value.length<5){\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t valid: false,\r\n
Login.c(118): \t msg: "minimum length is 5",\r\n
Login.c(118): \t type:"error",\r\n
Login.c(118): \t errorComponent:'griderror'\r\n
Login.c(118): \t};\r\n
Login.c(118): \t\t\t}else {\r\n
Login.c(118): \t\t/*var activeCell = grid.getActiveCell(); \r\n
Login.c(118): \t\tvar dataView = grid.getData(); \r\n
Login.c(118): var item = dataView.getItem(activeCell.row);\r\n
Login.c(118): var columns=grid.getColumns();\r\n
Login.c(118): var column = columns[activeCell.cell];\r\n
Login.c(118): delete item[""+column.id+
"_validationToolTipMsg"];*/\r\n
Login.c(118): \t\treturn {valid: true, msg :null } ;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createAutoCompleteColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Auto;\r\n
Login.c(118): \t\t\tcolumn.autoCompleteData = columnData.autoCompleteData;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createTextColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.CustomTextEditor;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createNumberColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Integer;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createDateColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Date;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createBooleanColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.YesNoSelect;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createCheckboxColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Checkbox;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createCalculatorColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Calculator;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction rowSelectionColumnFormatter(row, cell, value,
columnDef, dataContext) {\r\n
Login.c(118): if (dataContext) {\r\n
Login.c(118): return '<div style="font-size: 10px;border-
right-color: silver;' +\r\n
Login.c(118): 'background: #f5f5f5;color: gray;text-align:
right;width:100%;height:1
Login.c(118): 00%;"></div>';\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createRowSelectionColumn(columnData)\r\n
Login.c(118): {\r\n
Login.c(118): \tvar rowSelectionPlugIn = new
Slick.RowSelectionColumn();\r\n
Login.c(118): \tvar column =
createBasicColumnInfo(rowSelectionPlugIn.getColumnDefinition(column
Login.c(118): Data));\r\n
Login.c(118): \tcolumn.formatter = rowSelectionColumnFormatter;\r\n
Login.c(118): \tcolumn.focusable = false;\r\n
Login.c(118): \t\t\treturn column
Login.c(118): t=8027ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): ;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function radioSelectionColumnFormatter(row, cell, value,
columnDef, dataContext) {
Login.c(118): \r\n
Login.c(118): \t\tif (dataContext) {\r\n
Login.c(118): \t\t\tif(row > 0){\r\n
Login.c(118): \t\t\t\treturn "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"'
Login.c(118): >";\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\telse{\r\n
Login.c(118): \t\t\t\treturn "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"'
Login.c(118): checked='checked' >";\r\n
Login.c(118): \t\t\t} \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\treturn null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createRadioSelectionColumn(columnData){\r\n
Login.c(118): \tvar radioSelectionPlugIn = new
Slick.RadioSelectColumn();\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.formatter = radioSelectionColumnFormatter;\r\n
Login.c(118): \t\t\tcolumn.gridInstanceId = slickGridId;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\t\tcreate: create,\r\n
Login.c(118): \t\t\tsetGridInstance: setGridInstance\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('DataBuilder', ['SlickGridConstants',
'ChooserPopupUtility', \r\n
Login.c(118): function(SlickGridConstants, ChooserPopupUtility){\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t\tfunction create(){\r\n
Login.c(118): \t\t\tvar dataView = new Slick.Data.DataView({ inlineFilters:
true });\r\n
Login.c(118): setMetaData(dataView);\r\n
Login.c(118): \t\t\treturn dataView;\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): function setMetaData(dataView){\r\n
Login.c(118): dataView.getItemMetadata = function (index) {\r\n
Login.c(118): var item = dataView.getItem(index);\r\n
Login.c(118): if(item && item.rowColor){\r\n
Login.c(118): var className = "grid-row-
background-"+item.rowColor;\r\n
Login.c(118): return { "cssClasses": className };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction setData(dataView, grid, data){\r\n
Login.c(118): \t\t\tdataView.setItems(data);\r\n
Login.c(118): dataView.syncGridSelection(grid, true);\r\n
Login.c(118): return dataView;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): function openChooserWindow(gridInstance, activecell,
currentRowDetails){\r\n
Login.c(118): var columnNumber = activecell.cell;\r\n
Login.c(118): var rowNumber = activecell.row;\r\n
Login.c(118): var column = gridInstance.columns[columnNumber];\r\n
Login.c(118): var gridData=[];\r\n
Login.c(118): column.autoCompleteData.then(function(data){\r\n
Login.c(118): gridData = data;\r\n
Login.c(118): });\r\n
Login.c(118): var options = {\r\n
Login.c(118): query: currentRowDetails[column.field],\r\n
Login.c(118): displayAttr: "name"\r\n
Login.c(118): };\r\n
Login.c(118): var modalInstance;\r\n
Login.c(118): if(column.type==="Auto" && column.autoCompleteData){\r\n
Login.c(118): modalInstance =
ChooserPopupUtility.openModal(column.autoCompleteData, column.ch
Login.c(118): ooserGridData, options);\r\n
Login.c(118): modalInstance.result.then(function(updatedValue){\r\n
Login.c(118): \r\n
Login.c(118): var selectedRow =
gridData.filter(function(chooserItem){\r\n
Login.c(118): return chooserItem.selected === true;\r\n
Login.c(118): });\r\n
Login.c(118): if(selectedRow.length>0){\r\n
Login.c(118): gridInstance.grid.invalidateRow(rowNumber);\r\n
Login.c(118): currentRowDetails[column.field] = selectedRow[0]
[column.modelField];\r\n
Login.c(118): gridInstance.grid.render(); \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction insertRows(grid, newRowIndex){\r\n
Login.c(118): \r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var columns = grid.getColumns();\r\n
Login.c(118): \r\n
Login.c(118): var newData={};\r\n
Login.c(118): \r\n
Login.c(118): angular.forEach(columns, function(value, key){\r\n
Login.c(118): newData[value.field] = "";\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var temp = angular.copy(newData);\r\n
Login.c(118): temp.id=parseInt(100+dataView.getLength()+1);\r\n
Login.c(118): dataView.insertItem(newRowIndex,temp);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): function splitRows(grid,modelItem, times, newRowIndex)
{\r\n
Login.c(118): var amount = modelItem[SlickGridConstants.AmountCol] ||
0, temp;\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var newData = angular.copy(modelItem);\r\n
Login.c(118): var oldId = newData.id;\r\n
Login.c(118): var newVal = (parseInt(amount,10) /
parseInt(times,10));\r\n
Login.c(118): newData[SlickGridConstants.AmountCol] = newVal;\r\n
Login.c(118): var newDatas=[];\r\n
Login.c(118): var totalRows = dataView.getLength();\r\n
Login.c(118): \r\n
Login.c(118): dataView.beginUpdate();\r\n
Login.c(118): deleteRow(grid, newRowIndex);\r\n
Login.c(118): for(var i=0; i<times;i++){\r\n
Login.c(118): temp = angular.copy(newData);\r\n
Login.c(118): var newId = oldId +"_"+(i); \r\n
Login.c(118): temp.id=newId;\r\n
Login.c(118): var newIndex = newRowIndex+i;\r\n
Login.c(118): dataView.insertItem(newIndex, temp);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): dataView.endUpdate(); \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction addRow(grid){\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var columns = grid.getColumns();\r\n
Login.c(118): \r\n
Login.c(118): var newData={};\r\n
Login.c(118): \r\n
Login.c(118): angular.forEach(columns, function(value, key){\r\n
Login.c(118): newData[value.field] = "";\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): newData.id=parseInt(100+dataView.getLength()+1);\r\n
Login.c(118): dataView.addItem(newData);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function selectAll(grid){\r\n
Login.c(118): \t var dataView = grid.getData();\r\n
Login.c(118): \t var rows = [];\r\n
Login.c(118): \t for (var i = 0; i < dataView.getLength(); i++) {\r\n
Login.c(118): \t rows.push(i);\r\n
Login.c(118): \t }\r\n
Login.c(118): \t grid.setSelectedRows(rows);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function deleteRow(grid,newRowIndex){\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var data = dataView.getItems();\r\n
Login.c(118): data.splice(newRowIndex, 1);\r\n
Login.c(118): dataView.setItems(data);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\t\tcreate: create,\r\n
Login.c(118): \t\t\tsetData: setData,\r\n
Login.c(118): \t\t\taddRow: addRow,\r\n
Login.c(118): \t\t\tdeleteRow: deleteRow,\r\n
Login.c(118): \t\t\tinsertRows: insertRows,\r\n
Login.c(118): \t\t\tselectAll: selectAll,\r\n
Login.c(118): splitRows:splitRows,\r\n
Login.c(118): openChooserWindow: openChooserWindow\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .factory('GridBuilder', ['ColumnBuilder', 'DataBuilder',
'ShortcutsBuilder', 'SlickGri
Login.c(118): dUtility', 'SlickGridConstants',\r\n
Login.c(118): function(ColumnBuilder, DataBuilder, ShortcutsBuilder,
SlickGridUtility, SlickGrid
Login.c(118): Constants){\r\n
Login.c(118): var keyboardConstants =
SlickGridConstants.Shortcuts;\r\n
Login.c(118): var gridInstances={};\r\n
Login.c(118): \r\n
Login.c(118): var defaultGridOptions={\r\n
Login.c(118): enableCellNavigation: true,\r\n
Login.c(118): enableColumnReorder: true,\r\n
Login.c(118): multiColumnSort: true,\r\n
Login.c(118): editable: true,\r\n
Login.c(118): enableAddRow: false,\r\n
Login.c(118): asyncEditorLoading: true,\r\n
Login.c(118): topPanelHeight: 25,\r\n
Login.c(118): autoEdit: false,\r\n
Login.c(118): forceFitColumns: true,\r\n
Login.c(118): onAddRow: DataBuilder.addRow,\r\n
Login.c(118): onInsertRow: DataBuilder.insertRows,\r\n
Login.c(118): onDeleteRow: DataBuilder.deleteRow,\r\n
Login.c(118): onSelectAll: DataBuilder.selectAll,\r\n
Login.c(118): onSplit: DataBuilder.splitRows,\r\n
Login.c(118): actions: {\r\n
Login.c(118): AddRow: true,\r\n
Login.c(118): InsertRow:true,\r\n
Login.c(118): SplitRow: true,\r\n
Login.c(118): DeleteRow: true,\r\n
Login.c(118): SelectAll: true\r\n
Login.c(118): },\r\n
Login.c(118): Shortcuts: {\r\n
Login.c(118): AddRow1: keyboardConstants.AddRow1,\r\n
Login.c(118): AddRow2: keyboardConstants.AddRow2,\r\n
Login.c(118): InsertRow1: keyboardConstants.InsertRow1,\r\n
Login.c(118): InsertRow2: keyboardConstants.InsertRow2,\r\n
Login.c(118): DeleteRow1: keyboardConstants.DeleteRow1,\r\n
Login.c(118): DeleteRow2: keyboardConstants.DeleteRow2,\r\n
Login.c(118): SelectAll1: keyboardConstants.SelectAll1,\r\n
Login.c(118): SelectAll2: keyboardConstants.SelectAll2,\r\n
Login.c(118): Split1: keyboardConstants.Split1,\r\n
Login.c(118): Split2: keyboardConstants.Split2\r\n
Login.c(118): } \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function createGridInstance(el, gridData){\r\n
Login.c(118): var columns =
ColumnBuilder.create(gridData.columns,gridData.id);\r\n
Login.c(118): var dataView = DataBuilder.create();\r\n
Login.c(118): window.dataView =dataView; // Will be removed,
crated temp for testing\r\n
Login.c(118): var options = angular.extend(defaultGridOptions,
gridData.options,{});\r\n
Login.c(118): var grid = new Slick.Grid(el, dataView, columns,
options);\r\n
Login.c(118): window.grid =grid; // Will be removed, crated
temp for testing\r\n
Login.c(118): \r\n
Login.c(118): gridInstances[gridData.id] = {\r\n
Login.c(118): grid: grid,\r\n
Login.c(118): data: dataView,\r\n
Login.c(118): columns: columns,\r\n
Login.c(118): options: options,\r\n
Login.c(118): element: el,\r\n
Login.c(118): id: gridData.id\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): addPlugins(grid, columns, options);\r\n
Login.c(118): addFunctionalities(gridData.id);\r\n
Login.c(118):
ShortcutsBuilder.create(gridInstances[gridData.id]);\r\n
Login.c(118): setGridData(gridData.id, gridData.data);\r\n
Login.c(118): //DataBuilder.setData(dataView, grid,
gridData.data);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): grid.onKeyDown.subscribe(function(e,args){\r\n
Login.c(118): \r\n
Login.c(118): if (!e.shiftKey && !e.altKey && !e.ctrlKey)
{\r\n
Login.c(118): var cellEditor =
grid.getCellEditor();\r\n
Login.c(118): if(!cellEditor){\r\n
Login.c(118): grid.editActiveCell();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118):
grid.onSelectedRowsChanged.subscribe(function(e,args){\r\n
Login.c(118): /* var doNotNotify = true; \r\n
Login.c(118): args.grid.validate(doNotNotify);\r\n
Login.c(118): args.grid.render(); */\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): grid.onValidationError.subscribe(function(e,args)
{\r\n
Login.c(118): var rowFailures = {\r\n
Login.c(118): rowFailures: args.rowFailures\r\n
Login.c(118): };\r\n
Login.c(118): $.event.trigger('errorValidation',
rowFailures);\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): var gridToolTipStr = '<div id="slickgridtooltip"
class="gridtooltip" style=
Login.c(118): "display:none"><div class="gridtooltip-arrow"></div><div
class="gridtooltip-inner"></div><
Login.c(118): /div>';\r\n
Login.c(118): var toolTipHTML = $(gridToolTipStr);\r\n
Login.c(118): var bodyEl = angular.element('body');\r\n
Login.c(118): bodyEl.append(toolTipHTML);\r\n
Login.c(118): var toolTipElement;\r\n
Login.c(118): \r\n
Login.c(118): grid.onMouseEnter.subscribe(function(e,args){\r\n
Login.c(118): toolTipElement =
bodyEl.find('#slickgridtooltip');\r\n
Login.c(118): var cell = grid.getCellFromEvent(e);\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var item = dataView.getItem(cell.row);\r\n
Login.c(118): var columns=grid.getColumns();\r\n
Login.c(118): var column = columns[cell.cell];\r\n
Login.c(118): var toolTipProperty = ""+column.id+
"_validationToolTipMsg";
Login.c(118): \r\n
Login.c(118): if(item && item[toolTipProperty]){\r\n
Login.c(118): var
toolTipMessage=item[toolTipProperty].validation.msg;\r\n
Login.c(118): var tooltipcontent =
toolTipElement.find('.gridtooltip-inner');\r\n
Login.c(118): tooltipcontent\r\n
Login.c(118): .html(toolTipMessage);\r\n
Login.c(118): toolTipElement\r\n
Login.c(118): .css("top", e.pageY)\r\n
Login.c(118): .css("left", e.pageX)\r\n
Login.c(118): .removeClass("error warning")\r\n
Login.c(118):
.addClass(item[toolTipProperty].validation.type)\r\n
Login.c(118): .show();\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): grid.onMouseLeave.subscribe(function (e,args)
{\r\n
Login.c(118): toolTipElement.hide();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): var validateColumns = function(args){\r\n
Login.c(118): \r\n
Login.c(118): var failures=[];\r\n
Login.c(118): \r\n
Login.c(118): for (var c in columns) {\r\n
Login.c(118): var column = columns[c];\r\n
Login.c(118): var isDisabled = args.item.disabled ||
args.item[column.id+"_disabl
Login.c(118): ed"] || column.editable === false;\r\n
Login.c(118): if (column.validator && !isDisabled) {\r\n
Login.c(118): \r\n
Login.c(118): var cellValue=args.item[column.id];\r\n
Login.c(118): \r\n
Login.c(118): var validation =
column.validator(cellValue, {\r\n
Login.c(118): row: args.row, item: args.item,
column: column});\r\n
Login.c(118): \r\n
Login.c(118): if(!validation.valid){\r\n
Login.c(118): failures.push({\r\n
Login.c(118): columnIndex: c, \r\n
Login.c(118): column: column, \r\n
Login.c(118): rowIndex: args.row, item:
args.item, validation: validatio
Login.c(118): n});\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return failures;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): grid.validate = function(doNotNotify) {\r\n
Login.c(118): var rowFailures = [];\r\n
Login.c(118): var data = grid.getData().getItems();\r\n
Login.c(118): var failures=[];\r\n
Login.c(118): for (var r in data) {\r
Login.c(118): t=8045ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): \n
Login.c(118): //ignore our metadata provider (if
applicable)\r\n
Login.c(118): if(r == 'getItemMetadata'){continue;}\r\n
Login.c(118): \r\n
Login.c(118): failures = validateColumns({item: data[r],
row: r});\r\n
Login.c(118): if(failures.length > 0){\r\n
Login.c(118): rowFailures.push(failures);\r\n
Login.c(118): //rowFailures[r] = failures;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if(doNotNotify === true){\r\n
Login.c(118): //Do nothing for now\r\n
Login.c(118): }\r\n
Login.c(118): else if(rowFailures.length > 0){\r\n
Login.c(118): setValidationErrorStyles(grid,
rowFailures);\r\n
Login.c(118):
grid.onValidationError.notify({"rowFailures": rowFailures}, new Sl
Login.c(118): ick.EventData());\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): if(rowFailures.length === 0){\r\n
Login.c(118): clearValidationStyles(grid);\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): ColumnBuilder.setGridInstance(grid);\r\n
Login.c(118): return gridData.id;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function clearValidationStyles(grid){\r\n
Login.c(118): grid.setCellCssStyles("validation_highlight",
{}); \r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var datas = dataView.getItems();\r\n
Login.c(118): datas= datas.map(function(item){\r\n
Login.c(118): for(var key in item){\r\n
Login.c(118): if(item.hasOwnProperty(key)){\r\n
Login.c(118): if(key.indexOf('_validationToolTipMsg')>-
1){\r\n
Login.c(118): delete item[key];\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setValidationErrorStyles(grid, failures)
{\r\n
Login.c(118): var flattenedFailures =
Array.prototype.concat.apply([],failures);\r\n
Login.c(118): var errorSet={};\r\n
Login.c(118): $.each(flattenedFailures, function(index,
errorItem){\r\n
Login.c(118): var rowObj =
errorSet[errorItem.rowIndex];\r\n
Login.c(118): var columnId = errorItem.column.id,
validationType = errorItem.validat
Login.c(118): ion.type;\r\n
Login.c(118): var isDisabled = errorItem.item.disabled ||
errorItem.item[columnId+"_
Login.c(118): disabled"] || errorItem.column.editable === false;\r\n
Login.c(118): var toolTipProp
=columnId+'_validationToolTipMsg';\r\n
Login.c(118): \r\n
Login.c(118): if(!isDisabled){\r\n
Login.c(118): errorItem.item[toolTipProp] =
errorItem;\r\n
Login.c(118): if(rowObj){\r\n
Login.c(118): rowObj[columnId] =
validationType;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): \r\n
Login.c(118): var cellObj = {};\r\n
Login.c(118): cellObj[columnId] =
validationType;\r\n
Login.c(118): errorSet[errorItem.rowIndex] =
cellObj;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118):
grid.setCellCssStyles("validation_highlight",errorSet);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addFunctionalities(id){\r\n
Login.c(118): var gridInstance = getGridInstance(id);\r\n
Login.c(118): var grid = gridInstance.grid;\r\n
Login.c(118):
SlickGridUtility.subscribeToAddNewRow(grid,gridInstance.data);\r\n
Login.c(118):
SlickGridUtility.addSorting(grid,gridInstance.data);\r\n
Login.c(118):
SlickGridUtility.addDisablecell(gridInstance);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addPlugins(grid, columns, options){\r\n
Login.c(118): grid.registerPlugin(new
Slick.RowSelectionColumn()); // it needs to be add
Login.c(118): ed at top of all the plugin. otherwise it will fail due to
stoppropagation\r\n
Login.c(118): grid.registerPlugin(new
Slick.CellSelectionModelExt());\r\n
Login.c(118): grid.setSelectionModel(new
Slick.CellSelectionModel());\r\n
Login.c(118): grid.registerPlugin(new
Slick.AutoTooltips());\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var undoRedoBuffer = {\r\n
Login.c(118): commandQueue : [],\r\n
Login.c(118): commandCtr : 0,\r\n
Login.c(118): \r\n
Login.c(118): queueAndExecuteCommand: function(editCommand)
{\r\n
Login.c(118): this.commandQueue[this.commandCtr] =
editCommand;\r\n
Login.c(118): this.commandCtr++;\r\n
Login.c(118): editCommand.execute();\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var copyManagerPluginOptions = {\r\n
Login.c(118): clipboardCommandHandler:
function(editCommand){ undoRedoBuffer.queueAn
Login.c(118): dExecuteCommand.call(undoRedoBuffer,editCommand); },\r\n
Login.c(118): includeHeaderWhenCopying : false\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var columnpicker = new
Slick.Controls.ColumnPicker(columns, grid, options)
Login.c(118): ;\r\n
Login.c(118): \r\n
Login.c(118): grid.registerPlugin(new
Slick.CellExternalCopyManager(copyManagerPluginOpt
Login.c(118): ions));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function create(el, gridData){\r\n
Login.c(118): var gridId = createGridInstance(el,
gridData);\r\n
Login.c(118): var grid = getGrid(gridId);\r\n
Login.c(118): \r\n
Login.c(118): // set keyboard focus on the grid\r\n
Login.c(118): grid.getCanvasNode().focus();\r\n
Login.c(118): return grid;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function destroyGrid(gridId){\r\n
Login.c(118): var gridInstance = getGridInstance(gridId);\r\n
Login.c(118): if(grid){\r\n
Login.c(118): //destroy functionality\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getGridInstance(gridId){\r\n
Login.c(118): return gridInstances[gridId];\r\n
Login.c(118): }\r\n
Login.c(118): function getGrid(gridId){\r\n
Login.c(118): var gridInstance = gridInstances[gridId];\r\n
Login.c(118): if(gridInstance){\r\n
Login.c(118): return gridInstance.grid;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getGridData(gridId){\r\n
Login.c(118): var grid = getGrid(gridId);\r\n
Login.c(118): return grid.getData().getItems();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function isGridInstanceAvailable(gridId){\r\n
Login.c(118): if(gridId){\r\n
Login.c(118): var isAvail = getGridInstance(gridId) ||
false && true;\r\n
Login.c(118): return isAvail;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setGridData(gridId, data)\r\n
Login.c(118): {\r\n
Login.c(118): if(gridId && data){\r\n
Login.c(118): var gridInstance =
getGridInstance(gridId);\r\n
Login.c(118): if(gridInstance){\r\n
Login.c(118): var isDataSourcePresents =
getGridData(gridId); // Is Datasource a
Login.c(118): lreay has been set or not\r\n
Login.c(118): DataBuilder.setData(gridInstance.data,
gridInstance.grid, data); /
Login.c(118): /first param is dataView\r\n
Login.c(118): if(isDataSourcePresents){\r\n
Login.c(118): gridInstance.grid.invalidate();\r\n
Login.c(118): }\r\n
Login.c(118): }else{\r\n
Login.c(118): throw new Error("unable to find a grid
with having grid Id is" + g
Login.c(118): ridId);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): destroyGrid: destroyGrid,\r\n
Login.c(118): create: create,\r\n
Login.c(118): getGridData:getGridData,\r\n
Login.c(118): setGridData:setGridData,\r\n
Login.c(118):
isGridInstanceAvailable:isGridInstanceAvailable,\r\n
Login.c(118): getGridInstance: getGridInstance,\r\n
Login.c(118): clearValidationStyles:clearValidationStyles\r\n
Login.c(118): };\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('ShortcutsBuilder', ['$modal', 'SlickGridConstants',
'DataBuilder', \r\n
Login.c(118): \t\tfunction ($modal, SlickGridConstants, DataBuilder) {\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar keyboardConstants = SlickGridConstants.Shortcuts;\r\n
Login.c(118): \t\tvar actionConstants = SlickGridConstants.Actions;\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createContextMenu(gridInstance, gridActions){\r\n
Login.c(118): \t\t\t//el, grid, data\r\n
Login.c(118): \t\t\tvar el = gridInstance.element,\r\n
Login.c(118): \t\t\t\tgrid = gridInstance.grid;\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \t\t\tvar str = '<ul id="contextMenu_'+ gridInstance.id+'"
class="context-menu" style="di
Login.c(118): splay:none">';\r\n
Login.c(118): if(gridActions.AddRow){\r\n
Login.c(118): str += '<li>'+gridActions.AddRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.InsertRow){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.InsertRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.SplitRow){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.SplitRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.DeleteRow){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.DeleteRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.SelectAll){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.SelectAll.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): str+='</ul>';\r\n
Login.c(118): var contextMenuHTML = $(str);\r\n
Login.c(118): var bodyEl = angular.element('body');\r\n
Login.c(118): bodyEl.append(contextMenuHTML);\r\n
Login.c(118): \r\n
Login.c(118): var contextMenuElement =
bodyEl.find('#contextMenu_'+gridInstance.id);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): contextMenuElement.click(function(e){\r\n
Login.c(118): if (!$(e.target).is("li")) {\r\n
Login.c(118): \r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): if (!grid.getEditorLock().commitCurrentEdit())
{\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var row = $(this).data("row");\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var item = dataView.getItem(row);\r\n
Login.c(118): var currentTarget=$(e.target).text();\r\n
Login.c(118): switch(currentTarget){\r\n
Login.c(118): case actionConstants.AddRow:\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.InsertRow:\r\n
Login.c(118): var newRow = parseInt(row,10) + 1;\r\n
Login.c(118):
gridInstance.options.onInsertRow(grid,newRow);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.Split:\r\n
Login.c(118): splitRow(gridInstance, grid, item, row);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.Delete:\r\n
Login.c(118): gridInstance.options.onDeleteRow(grid,row);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.SelectAll:\r\n
Login.c(118): gridInstance.options.onSelectAll(grid);\r\n
Login.c(118): break;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): grid.onContextMenu.subscribe(function (e) {\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): bodyEl.find('*[id^="contextMenu"]').hide();\r\n
Login.c(118): var cell = grid.getCellFromEvent(e);\r\n
Login.c(118): contextMenuElement\r\n
Login.c(118): .data("row", cell.row)\r\n
Login.c(118): .css("top", e.pageY)\r\n
Login.c(118): .css("left", e.pageX)\r\n
Login.c(118): .show();\r\n
Login.c(118): \r\n
Login.c(118): bodyEl.one("click keydown", function (evt) {
\r\n
Login.c(118): if ((evt.type == "keydown" && evt.which == 27)
|| evt.type == "click")
Login.c(118): \r\n
Login.c(118): contextMenuElement.hide();\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createKeyboardShortcuts(gridInstance, gridActions)
{\r\n
Login.c(118): \r\n
Login.c(118): \t\t var grid = gridInstance.grid;\r\n
Login.c(118): \t\t var shortcuts = gridInstance.options.Shortcuts;\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): grid.onKeyDown.subscribe(function(e,args) {\r\n
Login.c(118): var activeCell = grid.getActiveCell();\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): if(e.which===9 && !activeCell){\r\n
Login.c(118): return; \r\n
Login.c(118): }\r\n
Login.c(118): var currentRowDetails =
dataView.getItem(activeCell.row);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): if (gridActions.AddRow && e.which ===
shortcuts.AddRow2 && e[shortcuts.AddRow1
Login.c(118): ]) {\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): }\r\n
Login.c(118): else if (gridActions.InsertRow && e.which ===
shortcuts.InsertRow2 && e[shortc
Login.c(118): uts.InsertRow1]) {\r\n
Login.c(118):
gridInstance.options.onInsertRow(grid,activeCell.row+1);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): else if (gridActions.DeleteRow && e.which ===
shortcuts.DeleteRow2 && e[shortc
Login.c(118): uts.DeleteRow1]) {\r\n
Login.c(118):
gridInstance.options.onDeleteRow(grid,activeCell.row);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): else if(gridActions.SelectAll && e.which ===
shortcuts.SelectAll2 && e[shortcu
Login.c(118): ts.SelectAll1]){\r\n
Login.c(118): gridInstance.options.onSelectAll(grid);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): else if (gridActions.SplitRow && e.which ===
shortcuts.Split2 && e[shortcuts.S
Login.c(118): plit1]){\r\n
Login.c(118): splitRow(gridInstance, grid, currentRowDetails,
activeCell.row);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): else if(e.which===123){\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): var column =
gridInstance.columns[activeCell.cell];\r\n
Login.c(118): if(column.type==="Auto" && column.autoCompleteData)
{\r\n
Login.c(118): DataBu
Login.c(118): t=8064ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): ilder.openChooserWindow(gridInstance, activeCell,
currentRowDetails);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /*** Adding row on down arrow keypress ****/\r\n
Login.c(118): else if(gridActions.AddRow && e.which===40 &&
activeCell.row===(dataView.getLe
Login.c(118): ngth()-1)){\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): }/*** Adding row on last cell tab keypress ****/\r\n
Login.c(118): else if(gridActions.AddRow && e.which===9 &&
activeCell.row===(dataView.getLen
Login.c(118): gth()-1) && activeCell.cell === gridInstance.columns.length-1)
{\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction splitRow(gridInstance, grid, item, rowIndex){\r\n
Login.c(118): var modalInstance =$modal.open({\r\n
Login.c(118):
templateUrl:'custom/slickgrid/templates/split.tpl.html',\r\n
Login.c(118): controller: 'ModalInstanceCtrl',\r\n
Login.c(118): resolve: {\r\n
Login.c(118): row: function(){\r\n
Login.c(118): return item; \r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): modalInstance.result.then(function (times) {\r\n
Login.c(118): //appendRows(grid,item, times, rowIndex);\r\n
Login.c(118): //TODO: This functionality is to be added later\r\n
Login.c(118): gridInstance.options.onSplit(grid,item, times,
rowIndex);\r\n
Login.c(118): \r\n
Login.c(118): }, function () {\r\n
Login.c(118): //not a valid value\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createShortcuts(gridInstance){\r\n
Login.c(118): \t\t\tvar actions = gridInstance.options.actions;\r\n
Login.c(118): \t\t\tvar gridActions = {};\r\n
Login.c(118): if(actions.AddRow){\r\n
Login.c(118): gridActions.AddRow = {\r\n
Login.c(118): Name: SlickGridConstants.Actions.AddRow\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \t\t\tif(actions.InsertRow){\r\n
Login.c(118): \t\t\t\tgridActions.InsertRow = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.InsertRow\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\tif(actions.SplitRow){\r\n
Login.c(118): \t\t\t\tgridActions.SplitRow = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.Split\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\tif(actions.DeleteRow){\r\n
Login.c(118): \t\t\t\tgridActions.DeleteRow = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.Delete\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\tif(actions.SelectAll){\r\n
Login.c(118): \t\t\t\tgridActions.SelectAll = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.SelectAll\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\t\treturn gridActions;\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction create(gridInstance){\r\n
Login.c(118): \t\t\tvar gridActions = createShortcuts(gridInstance);\r\n
Login.c(118): \t\t\tcreateContextMenu(gridInstance, gridActions);\r\n
Login.c(118): \t\t\tcreateKeyboardShortcuts(gridInstance, gridActions);\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\t\tcreate: create\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('SortFactory', [function () {\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.constant('SlickGridConstants', {\r\n
Login.c(118): \t\tShortcuts: {\r\n
Login.c(118): \t\t\tInsertRow1: "ctrlKey",\r\n
Login.c(118): \t\t\tInsertRow2: 73,// I \r\n
Login.c(118): \t\t\tAddRow1: "ctrlKey",\r\n
Login.c(118): \t\t\tAddRow2: 82, //R\r\n
Login.c(118): \t\t\tDeleteRow1: "ctrlKey",\r\n
Login.c(118): \t\t\tDeleteRow2: 68, //D\r\n
Login.c(118): \t\t\tSelectAll1: "ctrlKey",\r\n
Login.c(118): \t\t\tSelectAll2: 65, //A,\r\n
Login.c(118): \t\t\tSplit1: "ctrlKey",\r\n
Login.c(118): \t\t\tSplit2: 83 //S\r\n
Login.c(118): \t\t},\r\n
Login.c(118): \t\tActions: {\r\n
Login.c(118): \t\t\tAddRow : "Add Row (Ctrl+R)",\r\n
Login.c(118): \t\t\tInsertRow: "Insert Row (Ctrl+I)",\r\n
Login.c(118): \t\t\tSplit: "Split (Ctrl+S)",\r\n
Login.c(118): \t\t\tDelete: "Delete Row (Ctrl+D)",\r\n
Login.c(118): \t\t\tSelectAll: "Select All (Ctrl+A)"\r\n
Login.c(118): \t\t},\r\n
Login.c(118): \t\tAmountCol: "amount"\r\n
Login.c(118): \r\n
Login.c(118): \t});\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .controller('ModalInstanceCtrl', ['$modal','$scope',
'$modalInstance', 'row', \r\n
Login.c(118): \tfunction ($modal,$scope, $modalInstance, row) {\r\n
Login.c(118): $scope.alerts = [];\r\n
Login.c(118): $scope.lineSplit="";\r\n
Login.c(118): \r\n
Login.c(118): var initialSplitItems=[];\r\n
Login.c(118): \r\n
Login.c(118): $scope.totalAmount = row.amount || 0;\r\n
Login.c(118): \r\n
Login.c(118): \t\t $scope.textdisabled=true;\r\n
Login.c(118): $scope.radiodisabled=true;\r\n
Login.c(118): $scope.selectedOption="Evenly";\r\n
Login.c(118): $scope.errorMsgs=[];\r\n
Login.c(118): $scope.formSubmitted= false;\r\n
Login.c(118): $scope.form={\r\n
Login.c(118): name: 'splitform'\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function setErrorMessages(splitform){\r\n
Login.c(118): var errMsgs=[];\r\n
Login.c(118): if(splitform.splitvalue.$invalid){\r\n
Login.c(118): \r\n
Login.c(118): if(splitform.splitvalue.$error.required){\r\n
Login.c(118): errMsgs.push({\r\n
Login.c(118): name: 'splitvalue',\r\n
Login.c(118): error: 'This is required.'\r\n
Login.c(118): });\r\n
Login.c(118): }else if(splitform.splitvalue.$error.pattern)
{\r\n
Login.c(118): errMsgs.push({\r\n
Login.c(118): name: 'splitvalue',\r\n
Login.c(118): error: 'This value is not allowed.'\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): else if(splitform.splitvalue.$error.invalid){\r\n
Login.c(118): errMsgs.push({\r\n
Login.c(118): name: 'splitvalue',\r\n
Login.c(118): error: 'This value is not allowed.'\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): $scope.errorMsgs = errMsgs;\r\n
Login.c(118): }\r\n
Login.c(118): $scope.getTooltip = function(el){\r\n
Login.c(118): if(el && el.$invalid){\r\n
Login.c(118): var elementName = el.$name;\r\n
Login.c(118): var errMsg =
$scope.errorMsgs.filter(function(err){\r\n
Login.c(118): return err.name === elementName;\r\n
Login.c(118): });\r\n
Login.c(118): if(errMsg && errMsg.length>0){\r\n
Login.c(118): return errMsg[0].error;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): return "";\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): for(var i=0;i<10;i++){\r\n
Login.c(118): var item = {\r\n
Login.c(118): value: ""\r\n
Login.c(118): };\r\n
Login.c(118): initialSplitItems.push(item);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.splitItems =
angular.copy(initialSplitItems);\r\n
Login.c(118): \r\n
Login.c(118): function setPercentageTotal(itemsWithValue){\r\n
Login.c(118): \r\n
Login.c(118): $scope.splitTotalMsg= "Split Percentage";\r\n
Login.c(118): $scope.splitTotal = [];\r\n
Login.c(118): var percentage=0;\r\n
Login.c(118): for(var i=0;i<itemsWithValue.length;i++){\r\n
Login.c(118): var item = itemsWithValue[i];\r\n
Login.c(118): percentage += parseInt(item.value);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.totalPercentage =percentage;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setCustomTotal(itemsWithValue){\r\n
Login.c(118): $scope.splitTotalMsg= "Split Total"; \r\n
Login.c(118): $scope.customTotal = 0;\r\n
Login.c(118): var customTotal=0;\r\n
Login.c(118): for(var i=0;i<itemsWithValue.length;i++){\r\n
Login.c(118): var item = itemsWithValue[i];\r\n
Login.c(118): \r\n
Login.c(118): customTotal += parseInt(item.value);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): $scope.customTotal=customTotal;\r\n
Login.c(118): $scope.diffInTotal= $scope.totalAmount -
$scope.customTotal;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.$watch('selectedOption', function(newVal)
{\r\n
Login.c(118): if(newVal){\r\n
Login.c(118): $scope.alerts = [];\r\n
Login.c(118): $scope.splitItems =
angular.copy(initialSplitItems);\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): $scope.$watch('splitItems', function(newVal){\r\n
Login.c(118): if(newVal){\r\n
Login.c(118): var itemsWithValue =
$scope.splitItems.filter(function(item){\r\n
Login.c(118): return (item.value !== "" && item.value !==
undefined);\r\n
Login.c(118): });\r\n
Login.c(118): switch($scope.selectedOption){\r\n
Login.c(118): case "Percentage":\r\n
Login.c(118): setPercentageTotal(itemsWithValue);\r\n
Login.c(118): break;\r\n
Login.c(118): case "Custom":\r\n
Login.c(118): setCustomTotal(itemsWithValue);\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): },true);\r\n
Login.c(118): \r\n
Login.c(118): $scope.getInputState = function(index){\r\n
Login.c(118): if(!$scope.selectedOption ||
$scope.selectedOption=== "Evenly"){\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): else if(parseInt($scope.lineSplit) > index){\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function validatePercentage(){\r\n
Login.c(118): \r\n
Login.c(118): if($scope.totalPercentage !== 100){\r\n
Login.c(118): \r\n
Login.c(118): $scope.alerts = [\r\n
Login.c(118): { type: 'danger', msg: 'Percentage of all
lines must equal 100%' } \r
Login.c(118): \n
Login.c(118): ];\r\n
Login.c(118): return false;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function validateCustom(){\r\n
Login.c(118): if($scope.customTotal !== $scope.totalAmount)
{\r\n
Login.c(118): $scope.alerts = [\r\n
Login.c(118): { type: 'danger', msg: 'Total of the split
lines doesn\\'t equal the t
Login.c(118): otal amount' } \r\n
Login.c(118): ];\r\n
Login.c(118): return false;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): function validateEvenly(){\r\n
Login.c(118): var init=$scope.splitform.splitvalue.
$modelValue;\r\n
Login.c(118): \r\n
Login.c(118): if(($scope.splitform.splitvalue.$modelValue <2)
|| ($scope.splitform.split
Login.c(118): value.$modelValue >10)){\r\n
Login.c(118): \r\n
Login.c(118): $scope.splitform.splitvalue.
$setValidity('invalid',false);\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): $scope.splitform.splitvalue.
$setValidity('invalid',true);\r\n
Login.c(118): }\r\n
Login.c(118): if($scope.splitform.$valid){\r\n
Login.c(118): return true;\r\n
Login.c(118): \r\n
Login.c(118): }else{\r\n
Login.c(118): setErrorMessages($scope.splitform);\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.closeAlert = function(index) {\r\n
Login.c(118): $scope.alerts.splice(index, 1);\r\n
Login.c(118): };\r\n
Login.c(118): function addAlert() {\r\n
Login.c(118): $scope.alerts.push({ type: 'danger',msg:
'Another alert!'});\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): //if($scope.splitform.$valid){\r\n
Login.c(118): $scope.ok = function () {\r\n
Login.c(118): $scope.alerts = [];\r\n
Login.c(118): $scope.formSubmitted= true;\r\n
Login.c(118): var isValidated = true;\r\n
Login.c(118): switch($scope.selectedOption){\r\n
Login.c(118): case 'Evenly':\r\n
Login.c(118): isValidated = validateEvenly();\r\n
Login.c(118): break;\r\n
Login.c(118): case 'Percentage':\r\n
Login.c(118): isValidated = validatePercentage();\r\n
Login.c(118): break;\r\n
Login.c(118): case 'Custom':\r\n
Login.c(118): isValidated = validateCustom();\r\n
Login.c(118): break;\r\n
Login.c(118): \r\n
Login.c(118): } \r\n
Login.c(118): \r\n
Login.c(118): if(isValidated){\r\n
Login.c(118):
$modalInstance.close(parseInt($scope.splitform.splitvalue.$modelValue, 1
Login.c(118): 0));\r\n
Login.c(118): $scope.formSubmitted= false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): $scope.cancel = function () {\r\n
Login.c(118): $modalInstance.dismiss('cancel');\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): }]);\r\n
Login.c(118): /**\r\n
Login.c(118): * @ngdoc directive\r\n
Login.c(118): * @name gridView\r\n
Login.c(118): * @restrict A\r\n
Login.c(118): * @element DIV\r\n
Login.c(118): * @param {string} autoCompleteResource The promise which will
return all the items\r\n
Login.c(118): * @param {boolean=} matchFilteringBeginning If set to true, only
the items which \r\n
Login.c(118): starts with the value entered on input box
will be shown.\r\n
Login.c(118): * @function\r\n
Login.c(118): *\r\n
Login.c(118): * @description\r\n
Login.c(118): * \r\n
Login.c(118): *\r\n
Login.c(118): * @example\r\n
Login.c(118): <example module="myapp">\r\n
Login.c(118): <file name="index.html">\r\n
Login.c(118): \r\n
Login.c(118): </file>\r\n
Login.c(118): </example>\r\n
Login.c(118): */\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .directive('gridView', ['$document',
'GridBuilder','EPConstant','$rootScope', \r\n
Login.c(118): function ($document, GridBuilder,EPConstant,$rootScope)
{\r\n
Login.c(118): return { \r\n
Login.c(118): restrict: 'A',\r\n
Login.c(118): scope: {\r\n
Login.c(118): columns: '=gridColumns',\r\n
Login.c(118): data: '=gridData',\r\n
Login.c(118): options: '=gridOptions',\r\n
Login.c(118): gridId: '@',\r\n
Login.c(118): removeFocus: '@'\r\n
Login.c(118): },\r\n
Login.c(118): link: function (scope, iElement, iAttrs) {\r\n
Login.c(118): var grid, gridId = scope.$id + '-' +
Math.floor(Math.random() * 10000);\r\n
Login.c(118): \r\n
Login.c(118): $document.on('click', function(e){\r\n
Login.c(118): var el = $(e.target);\r\n
Login.c(118): var isChild =
jQuery.contains(iElement[0],el[0]);\r\n
Login.c(118): if(!isChild){\r\n
Login.c(118): window.setTimeout(function(){\r\n
Login.c(118):
Slick.GlobalEditorLock.commitCurrentEdit();\r\n
Login.c(118): }, 0);\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $(document).on('errorValidation', function(e,
args){\r\n
Login.c(118): // alert('custom event triggered');\r\n
Login.c(118): $rootScope.$broadcast("Grid validation
Error",args);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function buildGrid(newVal){\r\n
Login.c(118): if(GridBuilder.isGridInstanceAvailable(gridId))
{\r\n
Login.c(118): GridBuilder.setGridData(gridId,
scope.data);\r\n
Login.c(118):
Login.c(118): t=8082ms: 5802-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): var gridData = {\r\n
Login.c(118): id: gridId,\r\n
Login.c(118): columns: scope.columns,\r\n
Login.c(118): data: scope.data,\r\n
Login.c(118): options: scope.options\r\n
Login.c(118): };\r\n
Login.c(118): grid = GridBuilder.create(iElement,
gridData);\r\n
Login.c(118): } \r\n
Login.c(118): if(scope.removeFocus){\r\n
Login.c(118):
iElement.find('div[tabIndex=0]').remove();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scope.$watch('data', function(newVal, oldVal)
{\r\n
Login.c(118): if(!scope.columns || !scope.data) return;\r\n
Login.c(118): buildGrid(newVal);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): scope.$watch('columns', function(newVal, oldVal)
{\r\n
Login.c(118): if(!scope.columns || !scope.data) return;\r\n
Login.c(118): buildGrid(newVal);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): scope.$on(EPConstant.Message.SaveTriggered,
function(){\r\n
Login.c(118): \r\n
Login.c(118): grid.gotoCell(0,0); \r\n
Login.c(118): var isValid = grid.validate();\r\n
Login.c(118): if(isValid){\r\n
Login.c(118): scope.data =
GridBuilder.getGridData(gridId); \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): scope.$on(EPConstant.Message.ClearTriggered,
function(){\r\n
Login.c(118):
GridBuilder.clearValidationStyles(grid);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): scope.$on('setFoucsGrid',function(e,item){\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): if(item.columnIndex && item.rowIndex){\r\n
Login.c(118):
grid.gotoCell(parseInt(item.rowIndex),parseInt(item.columnIndex),t
Login.c(118): rue); \r\n
Login.c(118): }\r\n
Login.c(118): //grid.setActiveCell();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): $rootScope.$on('$stateChangeStart',
function(event, toState){\r\n
Login.c(118): scope.data =
GridBuilder.getGridData(gridId);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): }]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .factory('SlickGridUtility', ['SlickGridConstants',\r\n
Login.c(118): function (SlickGridConstants) {\r\n
Login.c(118): var keyboardConstants = SlickGridConstants.Shortcuts;\r\n
Login.c(118): var actionConstants = SlickGridConstants.Actions;\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): addSorting: addSorting,\r\n
Login.c(118): subscribeToAddNewRow: subscribeToAddNewRow,\r\n
Login.c(118): addDisablecell:addDisablecell,\r\n
Login.c(118): addCopyManager: addCopyManager\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function addDisablecell(gridInstance){\r\n
Login.c(118): var grid = gridInstance.grid;\r\n
Login.c(118): grid.onBeforeEditCell.subscribe(function(e,args) {\r\n
Login.c(118): var columnId = args.column.id;\r\n
Login.c(118): var disableProperty = ""+columnId+ "_disabled";\r\n
Login.c(118): var item = args.item;\r\n
Login.c(118): if(item){\r\n
Login.c(118): if(item[disableProperty] === true){\r\n
Login.c(118): args.column.focusable=false;\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): if(item.disabled){\r\n
Login.c(118): args.row.selectable=false;\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if(args.column.editable === false){\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addSorting(grid,dataView){\r\n
Login.c(118): grid.onSort.subscribe(function (e, args) {\r\n
Login.c(118): var cols = args.sortCols;\r\n
Login.c(118): \r\n
Login.c(118): dataView.sort(function (dataRow1, dataRow2)
{\r\n
Login.c(118): for (var i = 0, l = cols.length; i < l; i++)
{\r\n
Login.c(118): var field = cols[i].sortCol.field;\r\n
Login.c(118): var sign = cols[i].sortAsc ? 1 : -1;\r\n
Login.c(118): var value1 = dataRow1[field], value2 =
dataRow2[field];\r\n
Login.c(118): var result = (value1 == value2 ? 0 :
(value1 > value2 ? 1 : -1)) * s
Login.c(118): ign;\r\n
Login.c(118): if (result !== 0) {\r\n
Login.c(118): return result;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return 0;\r\n
Login.c(118): }, args.sortAsc);\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function subscribeToAddNewRow(grid,dataView){\r\n
Login.c(118): grid.onAddNewRow.subscribe(function (e, args) {\r\n
Login.c(118): var item = args.item;\r\n
Login.c(118): dataView.addItem(item);\r\n
Login.c(118): });\r\n
Login.c(118): dataView.onRowCountChanged.subscribe(function (e,
args) {\r\n
Login.c(118): grid.updateRowCount();\r\n
Login.c(118): grid.render();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): dataView.onRowsChanged.subscribe(function (e, args)
{\r\n
Login.c(118): grid.invalidateRows(args.rows);\r\n
Login.c(118): grid.render();\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addCopyManager(grid,data,columns){\r\n
Login.c(118): var copyManager = new Slick.CellCopyManager();\r\n
Login.c(118): grid.registerPlugin(copyManager);\r\n
Login.c(118): \r\n
Login.c(118): copyManager.onPasteCells.subscribe(function (e, args)
{\r\n
Login.c(118): if (args.from.length !== 1 || args.to.length !
== 1) {\r\n
Login.c(118): throw "This implementation only supports
single range copy and paste o
Login.c(118): perations";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var from = args.from[0];\r\n
Login.c(118): var to = args.to[0];\r\n
Login.c(118): var val;\r\n
Login.c(118): for (var i = 0; i <= from.toRow - from.fromRow;
i++) {\r\n
Login.c(118): for (var j = 0; j <= from.toCell -
from.fromCell; j++) {\r\n
Login.c(118): if (i <= to.toRow - to.fromRow && j <=
to.toCell - to.fromCell) {\r\n
Login.c(118): val = data[from.fromRow + i]
[columns[from.fromCell + j].field];\r\n
Login.c(118): data[to.fromRow + i][columns[to.fromCell
+ j].field] = val;\r\n
Login.c(118): grid.invalidateRow(to.fromRow + i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): grid.render();\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }]);
Login.c(118): t=8089ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"72592-1418683842000"\r\n
Login.c(118): Last-Modified: Mon, 15 Dec 2014 22:50:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 72592\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=8090ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): /**\n
Login.c(118): * angular-ui-utils - Swiss-Army-Knife of AngularJS tools (with
no external dependencies!)
Login.c(118): \n
Login.c(118): * @version v0.1.1 - 2014-02-05\n
Login.c(118): * @link http://angular-ui.github.com\n
Login.c(118): * @license MIT License, http://www.opensource.org/licenses/MIT\n
Login.c(118): */\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): angular.module('ui.alias', []).config(['$compileProvider',
'uiAliasConfig', function($comp
Login.c(118): ileProvider, uiAliasConfig){\n
Login.c(118): uiAliasConfig = uiAliasConfig || {};\n
Login.c(118): angular.forEach(uiAliasConfig, function(config, alias){\n
Login.c(118): if (angular.isString(config)) {\n
Login.c(118): config = {\n
Login.c(118): replace: true,\n
Login.c(118): template: config\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): $compileProvider.directive(alias, function(){\n
Login.c(118): return config;\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * General-purpose Event binding. Bind any event not natively
supported by Angular\n
Login.c(118): * Pass an object with keynames for events to ui-event\n
Login.c(118): * Allows $event object and $params object to be passed\n
Login.c(118): *\n
Login.c(118): * @example <input ui-event="{ focus : 'counter++', blur :
'someCallback()' }">\n
Login.c(118): * @example <input ui-event="{ myCustomEvent :
'myEventHandler($event, $params)'}">\n
Login.c(118): *\n
Login.c(118): * @param ui-event {string|object literal} The event to bind to
as a string or a hash of e
Login.c(118): vents with their callbacks\n
Login.c(118): */\n
Login.c(118): angular.module('ui.event',[]).directive('uiEvent', ['$parse',\n
Login.c(118): function ($parse) {\n
Login.c(118): return function ($scope, elm, attrs) {\n
Login.c(118): var events = $scope.$eval(attrs.uiEvent);\n
Login.c(118): angular.forEach(events, function (uiEvent, eventName) {\n
Login.c(118): var fn = $parse(uiEvent);\n
Login.c(118): elm.bind(eventName, function (evt) {\n
Login.c(118): var params = Array.prototype.slice.call(arguments);\n
Login.c(118): //Take out first paramater (event object);\n
Login.c(118): params = params.splice(1);\n
Login.c(118): fn($scope, {$event: evt, $params: params});\n
Login.c(118): if (!$scope.$$phase) {\n
Login.c(118): $scope.$apply();\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * A replacement utility for internationalization very similar to
sprintf.\n
Login.c(118): *\n
Login.c(118): * @param replace {mixed} The tokens to replace depends on type\n
Login.c(118): * string: all instances of $0 will be replaced\n
Login.c(118): * array: each instance of $0, $1, $2 etc. will be placed with
each array item in corresp
Login.c(118): onding order\n
Login.c(118): * object: all attributes will be iterated through, with :key
being replaced with its cor
Login.c(118): responding value\n
Login.c(118): * @return string\n
Login.c(118): *\n
Login.c(118): * @example: 'Hello :name, how are you
:day'.format({ name:'John', day:'Today' })\n
Login.c(118): * @example: 'Records $0 to $1 out of $2 total'.format(['10',
'20', '3000'])\n
Login.c(118): * @example: '$0 agrees to all mentions $0 makes in the event
that $0 hits a tree while $0
Login.c(118): is driving drunk'.format('Bob')\n
Login.c(118): */\n
Login.c(118): angular.module('ui.format',[]).filter('format', function(){\n
Login.c(118): return function(value, replace) {\n
Login.c(118): var target = value;\n
Login.c(118): if (angular.isString(target) && replace !== undefined) {\n
Login.c(118): if (!angular.isArray(replace) && !
angular.isObject(replace)) {\n
Login.c(118): replace = [replace];\n
Login.c(118): }\n
Login.c(118): if (angular.isArray(replace)) {\n
Login.c(118): var rlen = replace.length;\n
Login.c(118): var rfx = function (str, i) {\n
Login.c(118): i = parseInt(i, 10);\n
Login.c(118): return (i>=0 && i<rlen) ? replace[i] : str;\n
Login.c(118): };\n
Login.c(118): target = target.replace(/\\$([0-9]+)/g, rfx);\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): angular.forEach(replace, function(value, key){\n
Login.c(118): target = target.split(':'+key).join(value);\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return target;\n
Login.c(118): };\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Wraps the\n
Login.c(118): * @param text {string} haystack to search through\n
Login.c(118): * @param search {string} needle to search for\n
Login.c(118): * @param [caseSensitive] {boolean} optional boolean to use case-
sensitive searching\n
Login.c(118): */\n
Login.c(118): angular.module('ui.highlight',[]).filter('highlight', function ()
{\n
Login.c(118): return function (text, search, caseSensitive) {\n
Login.c(118): if (search || angular.isNumber(search)) {\n
Login.c(118): text = text.toString();\n
Login.c(118): search = search.toString();\n
Login.c(118): if (caseSensitive) {\n
Login.c(118): return text.split(search).join('<span class="ui-match">'
+ search + '</span>');\n
Login.c(118): } else {\n
Login.c(118): return text.replace(new RegExp(search, 'gi'), '<span
class="ui-match">$&</span>');
Login.c(118): \n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): return text;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // modeled after: angular-1.0.7/src/ng/directive/ngInclude.js\n
Login.c(118): angular.module('ui.include',[])\n
Login.c(118): .directive('uiInclude', ['$http', '$templateCache',
'$anchorScroll', '$compile',\n
Login.c(118): function($http, $templateCache,
$anchorScroll, $compile) {\n
Login.c(118): return {\n
Login.c(118): restrict: 'ECA',\n
Login.c(118): terminal: true,\n
Login.c(118): compile: function(element, attr) {\n
Login.c(118): var srcExp = attr.uiInclude || attr.src,\n
Login.c(118): fragExp = attr.fragment || '',\n
Login.c(118): onloadExp = attr.onload || '',\n
Login.c(118): autoScrollExp = attr.autoscroll;\n
Login.c(118): \n
Login.c(118): return function(scope, element) {\n
Login.c(118): var changeCounter = 0,\n
Login.c(118): childScope;\n
Login.c(118): \n
Login.c(118): var clearContent = function() {\n
Login.c(118): if (childScope) {\n
Login.c(118): childScope.$destroy();\n
Login.c(118): childScope = null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): element.html('');\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function ngIncludeWatchAction() {\n
Login.c(118): var thisChangeId = ++changeCounter;\n
Login.c(118): var src = scope.$eval(srcExp);\n
Login.c(118): var fragment = scope.$eval(fragExp);\n
Login.c(118): \n
Login.c(118): if (src) {\n
Login.c(118): $http.get(src, {cache:
$templateCache}).success(function(response) {\n
Login.c(118): if (thisChangeId !== changeCounter) { return; }\n
Login.c(118): \n
Login.c(118): if (childScope) { childScope.$destroy(); }\n
Login.c(118): childScope = scope.$new();\n
Login.c(118): \n
Login.c(118): var contents;\n
Login.c(118): if (fragment) {\n
Login.c(118): contents =
angular.element('<div/>').html(response).find(fragment);\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): contents =
angular.element('<div/>').html(response).contents();\n
Login.c(118): }\n
Login.c(118): element.html(contents);\n
Login.c(118): $compile(contents)(childScope);\n
Login.c(118): \n
Login.c(118): if (angular.isDefined(autoScrollExp) && (!
autoScrollExp || scope.$eval(autoS
Login.c(118): crollExp))) {\n
Login.c(118): $anchorScroll();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): childScope.$emit('$includeContentLoaded');\n
Login.c(118): scope.$eval(onloadExp);\n
Login.c(118): }).error(function() {\n
Login.c(118): if (thisChangeId === changeCounter)
{ clearContent(); }\n
Login.c(118): });\n
Login.c(118): } else { clearContent(); }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): scope.$watch(fragExp, ngIncludeWatchAction);\n
Login.c(118): scope.$watch(srcExp, ngIncludeWatchAction);\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Provides an easy way to toggle a checkboxes indeterminate
property\n
Login.c(118): *\n
Login.c(118): * @example <input type="checkbox" ui-indeterminate="isUnkown">\n
Login.c(118): */\n
Login.c(118): angular.module('ui.indeterminate',
[]).directive('uiIndeterminate', [\n
Login.c(118): function () {\n
Login.c(118): return {\n
Login.c(118): compile: function(tElm, tAttrs) {\n
Login.c(118): if (!tAttrs.type || tAttrs.type.toLowerCase() !==
'checkbox') {\n
Login.c(118): return angular.noop;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return function ($scope, elm, attrs) {\n
Login.c(118): $scope.$watch(attrs.uiIndeterminate, function(newVal)
{\n
Login.c(118): elm[0].indeterminate = !!newVal;\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Converts variable-esque naming conventions to something
presentational, capitalized wor
Login.c(118): ds separated by space.\n
Login.c(118): * @param {String} value The value to be parsed and prettified.\n
Login.c(118): * @param {String} [inflector] The inflector to use. Default:
humanize.\n
Login.c(118): * @return {String}\n
Login.c(118): * @example {{ 'Here Is my_phoneNumber' | inflector:'humanize' }}
=> Here Is My Phone Numb
Login.c(118): er\n
Login.c(118): * {{ 'Here Is my_phoneNumber' |
inflector:'underscore' }} => here_is_my_phone_nu
Login.c(118): mber\n
Login.c(118): * {{ 'Here Is my_phoneNumber' | inflector:'variable' }}
=> hereIsMyPhoneNumber\n
Login.c(118): */\n
Login.c(118): angular.module('ui.inflector',[]).filter('inflector', function ()
{\n
Login.c(118): function ucwords(text) {\n
Login.c(118): return text.replace(/^([a-z])|\\s+([a-z])/g, function ($1)
{\n
Login.c(118): return $1.toUpperCase();\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function breakup(text, separator) {\n
Login.c(118): return text.replace(/[A-Z]/g, function (match) {\n
Login.c(118): return separator + match;\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var inflectors = {\n
Login.c(118): humanize: function (value) {\n
Login.c(118): return ucwords(breakup(value, ' ').split('_').join(' '));\n
Login.c(118): },\n
Login.c(118): underscore: function (value) {\n
Login.c(118): return value.substr(0, 1).toLowerCase() +
breakup(value.substr(1), '_').toLowerCase(
Login.c(118): ).split(' ').join('_');\n
Login.c(118): },\n
Login.c(118): variable: function (value) {\n
Login.c(118): value = value.substr(0, 1).toLowerCase() +
ucwords(value.split('_').join(' ')).subst
Login.c(118): r(1).split(' ').join('');\n
Login.c(118): return value;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): return function (text, inflector) {\n
Login.c(118): if (inflector !== false && angular.isString(text)) {\n
Login.c(118): inflector = inflector || 'humanize';\n
Login.c(118): return inflectors[inflector](text);\n
Login.c(118): } else {\n
Login.c(118): return text;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * General-purpose jQuery wrapper. Simply pass the plugin name as
the expression.\n
Login.c(118): *\n
Login.c(118): * It is possible to specify a default set of parameters for each
jQuery plugin.\n
Login.c(118): * Under the jq key, namespace each plugin by that which will be
passed to ui-jq.\n
Login.c(118): * Unfortunately, at this time you can
Login.c(118): t=8102ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): only pre-define the first parameter.\n
Login.c(118): * @example { jq : { datepicker : { showOn:'click' } } }\n
Login.c(118): *\n
Login.c(118): * @param ui-jq {string} The $elm.[pluginName]() to call.\n
Login.c(118): * @param [ui-options] {mixed} Expression to be evaluated and
passed as options to the fun
Login.c(118): ction\n
Login.c(118): * Multiple parameters can be separated by commas\n
Login.c(118): * @param [ui-refresh] {expression} Watch expression and refire
plugin on changes\n
Login.c(118): *\n
Login.c(118): * @example <input ui-jq="datepicker" ui-
options="{showOn:'click'},secondParameter,thirdPa
Login.c(118): rameter" ui-refresh="iChange">\n
Login.c(118): */\n
Login.c(118): angular.module('ui.jq',[]).\n
Login.c(118): value('uiJqConfig',{}).\n
Login.c(118): directive('uiJq', ['uiJqConfig', '$timeout', function
uiJqInjectingFunction(uiJqConfig,
Login.c(118): $timeout) {\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): restrict: 'A',\n
Login.c(118): compile: function uiJqCompilingFunction(tElm, tAttrs) {\n
Login.c(118): \n
Login.c(118): if (!angular.isFunction(tElm[tAttrs.uiJq])) {\n
Login.c(118): throw new Error('ui-jq: The "' + tAttrs.uiJq + '"
function does not exist');\n
Login.c(118): }\n
Login.c(118): var options = uiJqConfig && uiJqConfig[tAttrs.uiJq];\n
Login.c(118): \n
Login.c(118): return function uiJqLinkingFunction(scope, elm, attrs) {\n
Login.c(118): \n
Login.c(118): var linkOptions = [];\n
Login.c(118): \n
Login.c(118): // If ui-options are passed, merge (or override) them
onto global defaults and pas
Login.c(118): s to the jQuery method\n
Login.c(118): if (attrs.uiOptions) {\n
Login.c(118): linkOptions = scope.$eval('[' + attrs.uiOptions +
']');\n
Login.c(118): if (angular.isObject(options) &&
angular.isObject(linkOptions[0])) {\n
Login.c(118): linkOptions[0] = angular.extend({}, options,
linkOptions[0]);\n
Login.c(118): }\n
Login.c(118): } else if (options) {\n
Login.c(118): linkOptions = [options];\n
Login.c(118): }\n
Login.c(118): // If change compatibility is enabled, the form input's
"change" event will trigge
Login.c(118): r an "input" event\n
Login.c(118): if (attrs.ngModel && elm.is('select,input,textarea')) {\n
Login.c(118): elm.bind('change', function() {\n
Login.c(118): elm.trigger('input');\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Call jQuery method and pass relevant options\n
Login.c(118): function callPlugin() {\n
Login.c(118): $timeout(function() {\n
Login.c(118): elm[attrs.uiJq].apply(elm, linkOptions);\n
Login.c(118): }, 0, false);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // If ui-refresh is used, re-fire the the method upon
every change\n
Login.c(118): if (attrs.uiRefresh) {\n
Login.c(118): scope.$watch(attrs.uiRefresh, function() {\n
Login.c(118): callPlugin();\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): callPlugin();\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): angular.module('ui.keypress',[]).\n
Login.c(118): factory('keypressHelper', ['$parse', function keypress($parse){\n
Login.c(118): var keysByCode = {\n
Login.c(118): 8: 'backspace',\n
Login.c(118): 9: 'tab',\n
Login.c(118): 13: 'enter',\n
Login.c(118): 27: 'esc',\n
Login.c(118): 32: 'space',\n
Login.c(118): 33: 'pageup',\n
Login.c(118): 34: 'pagedown',\n
Login.c(118): 35: 'end',\n
Login.c(118): 36: 'home',\n
Login.c(118): 37: 'left',\n
Login.c(118): 38: 'up',\n
Login.c(118): 39: 'right',\n
Login.c(118): 40: 'down',\n
Login.c(118): 45: 'insert',\n
Login.c(118): 46: 'delete'\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var capitaliseFirstLetter = function (string) {\n
Login.c(118): return string.charAt(0).toUpperCase() + string.slice(1);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): return function(mode, scope, elm, attrs) {\n
Login.c(118): var params, combinations = [];\n
Login.c(118): params = scope.
$eval(attrs['ui'+capitaliseFirstLetter(mode)]);\n
Login.c(118): \n
Login.c(118): // Prepare combinations for simple checking\n
Login.c(118): angular.forEach(params, function (v, k) {\n
Login.c(118): var combination, expression;\n
Login.c(118): expression = $parse(v);\n
Login.c(118): \n
Login.c(118): angular.forEach(k.split(' '), function(variation) {\n
Login.c(118): combination = {\n
Login.c(118): expression: expression,\n
Login.c(118): keys: {}\n
Login.c(118): };\n
Login.c(118): angular.forEach(variation.split('-'), function (value)
{\n
Login.c(118): combination.keys[value] = true;\n
Login.c(118): });\n
Login.c(118): combinations.push(combination);\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // Check only matching of pressed keys one of the
conditions\n
Login.c(118): elm.bind(mode, function (event) {\n
Login.c(118): // No need to do that inside the cycle\n
Login.c(118): var metaPressed = !!(event.metaKey && !event.ctrlKey);\n
Login.c(118): var altPressed = !!event.altKey;\n
Login.c(118): var ctrlPressed = !!event.ctrlKey;\n
Login.c(118): var shiftPressed = !!event.shiftKey;\n
Login.c(118): var keyCode = event.keyCode;\n
Login.c(118): \n
Login.c(118): // normalize keycodes\n
Login.c(118): if (mode === 'keypress' && !shiftPressed && keyCode >= 97
&& keyCode <= 122) {\n
Login.c(118): keyCode = keyCode - 32;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Iterate over prepared combinations\n
Login.c(118): angular.forEach(combinations, function (combination) {\n
Login.c(118): \n
Login.c(118): var mainKeyPressed =
combination.keys[keysByCode[keyCode]] || combination.keys[key
Login.c(118): Code.toString()];\n
Login.c(118): \n
Login.c(118): var metaRequired = !!combination.keys.meta;\n
Login.c(118): var altRequired = !!combination.keys.alt;\n
Login.c(118): var ctrlRequired = !!combination.keys.ctrl;\n
Login.c(118): var shiftRequired = !!combination.keys.shift;\n
Login.c(118): \n
Login.c(118): if (\n
Login.c(118): mainKeyPressed &&\n
Login.c(118): ( metaRequired === metaPressed ) &&\n
Login.c(118): ( altRequired === altPressed ) &&\n
Login.c(118): ( ctrlRequired === ctrlPressed ) &&\n
Login.c(118): ( shiftRequired === shiftPressed )\n
Login.c(118): ) {\n
Login.c(118): // Run the function\n
Login.c(118): scope.$apply(function () {\n
Login.c(118): combination.expression(scope, { '$event': event });\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Bind one or more handlers to particular keys or their
combination\n
Login.c(118): * @param hash {mixed} keyBindings Can be an object or string
where keybinding expression
Login.c(118): of keys or keys combinations and AngularJS Exspressions are set.
Object syntax: "{ keys1:
Login.c(118): expression1 [, keys2: expression2 [ , ... ]]}". String syntax:
""expression1 on keys1 [ an
Login.c(118): d expression2 on keys2 [ and ... ]]"". Expression is an AngularJS
Expression, and key(s) a
Login.c(118): re dash-separated combinations of keys and modifiers (one or
many, if any. Order does not
Login.c(118): matter). Supported modifiers are 'ctrl', 'shift', 'alt' and key
can be used either via its
Login.c(118): keyCode (13 for Return) or name. Named keys are 'backspace',
'tab', 'enter', 'esc', 'spac
Login.c(118): e', 'pageup', 'pagedown', 'end', 'home', 'left', 'up', 'right',
'down', 'insert', 'delete'
Login.c(118): .\n
Login.c(118): * @example <input ui-keypress="{enter:'x = 1', 'ctrl-shift-
space':'foo()', 'shift-13':'ba
Login.c(118): r()'}" /> <input ui-keypress="foo = 2 on ctrl-13 and bar('hello')
on shift-esc" />\n
Login.c(118): **/\n
Login.c(118): angular.module('ui.keypress').directive('uiKeydown',
['keypressHelper', function(keypressH
Login.c(118): elper){\n
Login.c(118): return {\n
Login.c(118): link: function (scope, elm, attrs) {\n
Login.c(118): keypressHelper('keydown', scope, elm, attrs);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): angular.module('ui.keypress').directive('uiKeypress',
['keypressHelper', function(keypress
Login.c(118): Helper){\n
Login.c(118): return {\n
Login.c(118): link: function (scope, elm, attrs) {\n
Login.c(118): keypressHelper('keypress', scope, elm, attrs);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): angular.module('ui.keypress').directive('uiKeyup',
['keypressHelper', function(keypressHel
Login.c(118): per){\n
Login.c(118): return {\n
Login.c(118): link: function (scope, elm, attrs) {\n
Login.c(118): keypressHelper('keyup', scope, elm, attrs);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): Attaches input mask onto input element\n
Login.c(118): */\n
Login.c(118): angular.module('ui.mask', [])\n
Login.c(118): .value('uiMaskConfig', {\n
Login.c(118): 'maskDefinitions': {\n
Login.c(118): '9': /\\d/,\n
Login.c(118): 'A': /[a-zA-Z]/,\n
Login.c(118): '*': /[a-zA-Z0-9]/\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): .directive('uiMask', ['uiMaskConfig', function (maskConfig) {\n
Login.c(118): return {\n
Login.c(118): priority: 100,\n
Login.c(118): require: 'ngModel',\n
Login.c(118): restrict: 'A',\n
Login.c(118): compile: function uiMaskCompilingFunction(){\n
Login.c(118): var options = maskConfig;\n
Login.c(118): \n
Login.c(118): return function uiMaskLinkingFunction(scope, iElement,
iAttrs, controller){\n
Login.c(118): var maskProcessed = false, eventsBound = false,\n
Login.c(118): maskCaretMap, maskPatterns, maskPlaceholder,
maskComponents,\n
Login.c(118): // Minimum required length of the value to be
considered valid\n
Login.c(118): minRequiredLength,\n
Login.c(118): value, valueMasked, isValid,\n
Login.c(118): // Vars for initializing/uninitializing\n
Login.c(118): originalPlaceholder = iAttrs.placeholder,\n
Login.c(118): originalMaxlength = iAttrs.maxlength,\n
Login.c(118): // Vars used exclusively in eventHandler()\n
Login.c(118): oldValue, oldValueUnmasked, oldCaretPosition,
oldSelectionLength;\n
Login.c(118): \n
Login.c(118): function initialize(maskAttr){\n
Login.c(118): if (!angular.isDefined(maskAttr)) {\n
Login.c(118): return uninitialize();\n
Login.c(118): }\n
Login.c(118): processRawMask(maskAttr);\n
Login.c(118): if (!maskProcessed) {\n
Login.c(118): return uninitialize();\n
Login.c(118): }\n
Login.c(118): initializeElement();\n
Login.c(118): bindEventListeners();\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function initPlaceholder(placeholderAttr) {\n
Login.c(118): if(! angular.isDefined(placeholderAttr)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): maskPlaceholder = placeholderAttr;\n
Login.c(118): \n
Login.c(118): // If the mask is processed, then we need to update
the value\n
Login.c(118): if (maskProcessed) {\n
Login.c(118): eventHandler();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function formatter(fromModelValue){\n
Login.c(118): if (!maskProcessed) {\n
Login.c(118): return fromModelValue;\n
Login.c(118): }\n
Login.c(118): value = unmaskValue(fromModelValue || '');\n
Login.c(118): isValid = validateValue(value);\n
Login.c(118): controller.$setValidity('mask', isValid);\n
Login.c(118): return isValid && value.length ? maskValue(value) :
undefined;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function parser(fromViewValue){\n
Login.c(118): if (!maskProcessed) {\n
Login.c(118): return fromViewValue;\n
Login.c(118): }\n
Login.c(118): value = unmaskValue(fromViewValue || '');\n
Login.c(118): isValid = validateValue(value);\n
Login.c(118): // We have to set viewValue manually as the
reformatting of the input\n
Login.c(118): // value performed by eventHandler() doesn't happen
until after\n
Login.c(118): // this parser is called, which causes what the user
sees in the input\n
Login.c(118): // to be out-of-sync with what the controller's
$viewValue is set to.\n
Login.c(118): controller.$viewValue = value.length ?
maskValue(value) : '';\n
Login.c(118): controller.$setValidity('mask', isValid);\n
Login.c(118): if (value === '' && controller.$error.required !==
undefined) {\n
Login.c(118): controller.$setValidity('required', false);\n
Login.c(118): }\n
Login.c(118): return isValid ? value : undefined;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var linkOptions = {};\n
Login.c(118): \n
Login.c(118): if (iAttrs.uiOptions) {\n
Login.c(118): linkOptions = scope.$eval('[' + iAttrs.uiOptions +
']');\n
Login.c(118): if (angular.isObject(linkOptions[0])) {\n
Login.c(118): // we can't use angular.copy nor angular.extend,
they lack the power to do a
Login.c(118): deep merge\n
Login.c(118): linkOptions = (function(original, current){\n
Login.c(118): for(var i in original) {\n
Login.c(118): if
(Object.prototype.hasOwnProperty.call(original, i)) {\n
Login.c(118): if (!current[i]) {\n
Login.c(118): current[i] = angular.copy(original[i]);\n
Login.c(118): } else {\n
Login.c(118): angular.extend(current[i], original[i]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return current;\n
Login.c(118): })(options, linkOptions[0]);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): linkOptions = options;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): iAttrs.$observe('uiMask', initialize);\n
Login.c(118): iAttrs.$observe('placeholder', initPlaceholder);\n
Login.c(118): controller.$formatters.push(formatter);\n
Login.c(118): controller.$parsers.push(parser);\n
Login.c(118): \n
Login.c(118): function uninitialize(){\n
Login.c(118): maskProcessed = false;\n
Login.c(118): unbindEventListeners();\n
Login.c(118): \n
Login.c(118): if (angular.isDefined(originalPlaceholder)) {\n
Login.c(118): iElement.attr('placeholder',
originalPlaceholder);\n
Login.c(118): } else {\n
Login.c(118): iElement.removeAttr('placeholder');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (angular.isDefined(originalMaxlength)) {\n
Login.c(118): iElement.attr('maxlength', originalMaxlength);\n
Login.c(118): } else {\n
Login.c(118): iElement.removeAttr('maxlength');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): iElement.val(controller.$modelValue);\n
Login.c(118): controller.$viewValue = controller.$modelValue;\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function initializeElement(){\n
Login.c(118): value = oldValueUnmasked = unmaskValue(controller.
$modelValue || '');\n
Login.c(118): valueMasked = oldValue = maskValue(value);\n
Login.c(118): isValid = validateValue(value);\n
Login.c(118): var viewValue = isValid && value.length ? valueMasked
: '';\n
Login.c(118): if (iAttrs.maxlength) { // Double maxlength to allow
pasting new val at end of
Login.c(118): mask\n
Login.c(118): iElement.attr('maxlength',
maskCaretMap[maskCaretMap.length - 1] * 2);\n
Login.c(118): }\n
Login.c(118): iElement.attr('placeholder', maskPlaceholder);\n
Login.c(118): iElement.val(viewValue);\n
Login.c(118): controller.$viewValue = viewValue;\n
Login.c(118): // Not using $setViewValue so we don't clobber the
model value and dirty the f
Login.c(118): orm\n
Login.c(118): // without any kind of user interaction.\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function bindEventListeners(){\n
Login.c(118): if (eventsBound) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): iElement.bind('blur', blurHandler);\n
Login.c(118): iElement.bind('mousedown mouseup',
mouseDownUpHandler);\n
Login.c(118): iElement.bind('input keyup click focus',
eventHandler);
Login.c(118): t=8117ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): \n
Login.c(118): eventsBound = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function unbindEventListeners(){\n
Login.c(118): if (!eventsBound) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): iElement.unbind('blur', blurHandler);\n
Login.c(118): iElement.unbind('mousedown', mouseDownUpHandler);\n
Login.c(118): iElement.unbind('mouseup', mouseDownUpHandler);\n
Login.c(118): iElement.unbind('input', eventHandler);\n
Login.c(118): iElement.unbind('keyup', eventHandler);\n
Login.c(118): iElement.unbind('click', eventHandler);\n
Login.c(118): iElement.unbind('focus', eventHandler);\n
Login.c(118): eventsBound = false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function validateValue(value){\n
Login.c(118): // Zero-length value validity is ngRequired's
determination\n
Login.c(118): return value.length ? value.length >=
minRequiredLength : true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function unmaskValue(value){\n
Login.c(118): var valueUnmasked = '',\n
Login.c(118): maskPatternsCopy = maskPatterns.slice();\n
Login.c(118): // Preprocess by stripping mask components from
value\n
Login.c(118): value = value.toString();\n
Login.c(118): angular.forEach(maskComponents, function (component)
{\n
Login.c(118): value = value.replace(component, '');\n
Login.c(118): });\n
Login.c(118): angular.forEach(value.split(''), function (chr){\n
Login.c(118): if (maskPatternsCopy.length &&
maskPatternsCopy[0].test(chr)) {\n
Login.c(118): valueUnmasked += chr;\n
Login.c(118): maskPatternsCopy.shift();\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): return valueUnmasked;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function maskValue(unmaskedValue){\n
Login.c(118): var valueMasked = '',\n
Login.c(118): maskCaretMapCopy = maskCaretMap.slice();\n
Login.c(118): \n
Login.c(118): angular.forEach(maskPlaceholder.split(''), function
(chr, i){\n
Login.c(118): if (unmaskedValue.length && i ===
maskCaretMapCopy[0]) {\n
Login.c(118): valueMasked += unmaskedValue.charAt(0) || '_';\n
Login.c(118): unmaskedValue = unmaskedValue.substr(1);\n
Login.c(118): maskCaretMapCopy.shift();\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): valueMasked += chr;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): return valueMasked;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getPlaceholderChar(i) {\n
Login.c(118): var placeholder = iAttrs.placeholder;\n
Login.c(118): \n
Login.c(118): if (typeof placeholder !== 'undefined' &&
placeholder[i]) {\n
Login.c(118): return placeholder[i];\n
Login.c(118): } else {\n
Login.c(118): return '_';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Generate array of mask components that will be
stripped from a masked value\n
Login.c(118): // before processing to prevent mask components from
being added to the unmasked
Login.c(118): value.\n
Login.c(118): // E.g., a mask pattern of '+7 9999' won't have the 7
bleed into the unmasked va
Login.c(118): lue.\n
Login.c(118): // If a maskable char is followed by a mask char and
has a mask\n
Login.c(118): // char behind it, we'll split it into it's own
component so if\n
Login.c(118): // a user is aggressively deleting in the input and a
char ahead\n
Login.c(118): // of the maskable char gets deleted, we'll still be
able to strip\n
Login.c(118): // it in the unmaskValue() preprocessing.\n
Login.c(118): function getMaskComponents() {\n
Login.c(118): return maskPlaceholder.replace(/[_]+/g,
'_').replace(/([^_]+)([a-zA-Z0-9])([^_
Login.c(118): ])/g, '$1$2_$3').split('_');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function processRawMask(mask){\n
Login.c(118): var characterCount = 0;\n
Login.c(118): \n
Login.c(118): maskCaretMap = [];\n
Login.c(118): maskPatterns = [];\n
Login.c(118): maskPlaceholder = '';\n
Login.c(118): \n
Login.c(118): if (typeof mask === 'string') {\n
Login.c(118): minRequiredLength = 0;\n
Login.c(118): \n
Login.c(118): var isOptional = false,\n
Login.c(118): splitMask = mask.split('');\n
Login.c(118): \n
Login.c(118): angular.forEach(splitMask, function (chr, i){\n
Login.c(118): if (linkOptions.maskDefinitions[chr]) {\n
Login.c(118): \n
Login.c(118): maskCaretMap.push(characterCount);\n
Login.c(118): \n
Login.c(118): maskPlaceholder += getPlaceholderChar(i);\n
Login.c(118):
maskPatterns.push(linkOptions.maskDefinitions[chr]);\n
Login.c(118): \n
Login.c(118): characterCount++;\n
Login.c(118): if (!isOptional) {\n
Login.c(118): minRequiredLength++;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): else if (chr === '?') {\n
Login.c(118): isOptional = true;\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): maskPlaceholder += chr;\n
Login.c(118): characterCount++;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): // Caret position immediately following last position
is valid.\n
Login.c(118): maskCaretMap.push(maskCaretMap.slice().pop() + 1);\n
Login.c(118): \n
Login.c(118): maskComponents = getMaskComponents();\n
Login.c(118): maskProcessed = maskCaretMap.length > 1 ? true :
false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function blurHandler(){\n
Login.c(118): oldCaretPosition = 0;\n
Login.c(118): oldSelectionLength = 0;\n
Login.c(118): if (!isValid || value.length === 0) {\n
Login.c(118): valueMasked = '';\n
Login.c(118): iElement.val('');\n
Login.c(118): scope.$apply(function (){\n
Login.c(118): controller.$setViewValue('');\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function mouseDownUpHandler(e){\n
Login.c(118): if (e.type === 'mousedown') {\n
Login.c(118): iElement.bind('mouseout', mouseoutHandler);\n
Login.c(118): } else {\n
Login.c(118): iElement.unbind('mouseout', mouseoutHandler);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): iElement.bind('mousedown mouseup',
mouseDownUpHandler);\n
Login.c(118): \n
Login.c(118): function mouseoutHandler(){\n
Login.c(118): /*jshint validthis: true */\n
Login.c(118): oldSelectionLength = getSelectionLength(this);\n
Login.c(118): iElement.unbind('mouseout', mouseoutHandler);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function eventHandler(e){\n
Login.c(118): /*jshint validthis: true */\n
Login.c(118): e = e || {};\n
Login.c(118): // Allows more efficient minification\n
Login.c(118): var eventWhich = e.which,\n
Login.c(118): eventType = e.type;\n
Login.c(118): \n
Login.c(118): // Prevent shift and ctrl from mucking with old
values\n
Login.c(118): if (eventWhich === 16 || eventWhich === 91)
{ return;}\n
Login.c(118): \n
Login.c(118): var val = iElement.val(),\n
Login.c(118): valOld = oldValue,\n
Login.c(118): valMasked,\n
Login.c(118): valUnmasked = unmaskValue(val),\n
Login.c(118): valUnmaskedOld = oldValueUnmasked,\n
Login.c(118): valAltered = false,\n
Login.c(118): \n
Login.c(118): caretPos = getCaretPosition(this) || 0,\n
Login.c(118): caretPosOld = oldCaretPosition || 0,\n
Login.c(118): caretPosDelta = caretPos - caretPosOld,\n
Login.c(118): caretPosMin = maskCaretMap[0],\n
Login.c(118): caretPosMax = maskCaretMap[valUnmasked.length] ||
maskCaretMap.slice().shift
Login.c(118): (),\n
Login.c(118): \n
Login.c(118): selectionLenOld = oldSelectionLength || 0,\n
Login.c(118): isSelected = getSelectionLength(this) > 0,\n
Login.c(118): wasSelected = selectionLenOld > 0,\n
Login.c(118): \n
Login.c(118): // Case: Typing a character to overwrite a
selection\n
Login.c(118): isAddition = (val.length > valOld.length) ||
(selectionLenOld && val.length
Login.c(118): > valOld.length - selectionLenOld),\n
Login.c(118): // Case: Delete and backspace behave identically on a
selection\n
Login.c(118): isDeletion = (val.length < valOld.length) ||
(selectionLenOld && val.length
Login.c(118): === valOld.length - selectionLenOld),\n
Login.c(118): isSelection = (eventWhich >= 37 && eventWhich <=
40) && e.shiftKey, // Arrow
Login.c(118): key codes\n
Login.c(118): \n
Login.c(118): isKeyLeftArrow = eventWhich === 37,\n
Login.c(118): // Necessary due to "input" event not providing a key
code\n
Login.c(118): isKeyBackspace = eventWhich === 8 || (eventType !==
'keyup' && isDeletion &&
Login.c(118): (caretPosDelta === -1)),\n
Login.c(118): isKeyDelete = eventWhich === 46 || (eventType !==
'keyup' && isDeletion && (
Login.c(118): caretPosDelta === 0 ) && !wasSelected),\n
Login.c(118): \n
Login.c(118): // Handles cases where caret is moved and placed in
front of invalid maskCaret
Login.c(118): Map position. Logic below\n
Login.c(118): // ensures that, on click or leftward caret
placement, caret is moved leftward
Login.c(118): until directly right of\n
Login.c(118): // non-mask character. Also applied to click since
users are (arguably) more l
Login.c(118): ikely to backspace\n
Login.c(118): // a character when clicking within a filled input.\n
Login.c(118): caretBumpBack = (isKeyLeftArrow || isKeyBackspace
|| eventType === 'click')
Login.c(118): && caretPos > caretPosMin;\n
Login.c(118): \n
Login.c(118): oldSelectionLength = getSelectionLength(this);\n
Login.c(118): \n
Login.c(118): // These events don't require any action\n
Login.c(118): if (isSelection || (isSelected && (eventType ===
'click' || eventType === 'key
Login.c(118): up'))) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Value Handling\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): // User attempted to delete but raw value was
unaffected--correct this grievou
Login.c(118): s offense\n
Login.c(118): if ((eventType === 'input') && isDeletion && !
wasSelected && valUnmasked === v
Login.c(118): alUnmaskedOld) {\n
Login.c(118): while (isKeyBackspace && caretPos > caretPosMin
&& !isValidCaretPosition(car
Login.c(118): etPos)) {\n
Login.c(118): caretPos--;\n
Login.c(118): }\n
Login.c(118): while (isKeyDelete && caretPos < caretPosMax &&
maskCaretMap.indexOf(caretPo
Login.c(118): s) === -1) {\n
Login.c(118): caretPos++;\n
Login.c(118): }\n
Login.c(118): var charIndex = maskCaretMap.indexOf(caretPos);\n
Login.c(118): // Strip out non-mask character that user would
have deleted if mask hadn't
Login.c(118): been in the way.\n
Login.c(118): valUnmasked = valUnmasked.substring(0, charIndex) +
valUnmasked.substring(ch
Login.c(118): arIndex + 1);\n
Login.c(118): valAltered = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Update values\n
Login.c(118): valMasked = maskValue(valUnmasked);\n
Login.c(118): \n
Login.c(118): oldValue = valMasked;\n
Login.c(118): oldValueUnmasked = valUnmasked;\n
Login.c(118): iElement.val(valMasked);\n
Login.c(118): if (valAltered) {\n
Login.c(118): // We've altered the raw value after it's been
$digest'ed, we need to $apply
Login.c(118): the new value.\n
Login.c(118): scope.$apply(function (){\n
Login.c(118): controller.$setViewValue(valUnmasked);\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Caret Repositioning\n
Login.c(118): // ===================\n
Login.c(118): \n
Login.c(118): // Ensure that typing always places caret ahead of
typed character in cases wh
Login.c(118): ere the first char of\n
Login.c(118): // the input is a mask char and the caret is placed
at the 0 position.\n
Login.c(118): if (isAddition && (caretPos <= caretPosMin)) {\n
Login.c(118): caretPos = caretPosMin + 1;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (caretBumpBack) {\n
Login.c(118): caretPos--;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Make sure caret is within min and max position
limits\n
Login.c(118): caretPos = caretPos > caretPosMax ? caretPosMax :
caretPos < caretPosMin ? car
Login.c(118): etPosMin : caretPos;\n
Login.c(118): \n
Login.c(118): // Scoot the caret back or forth until it's in a non-
mask position and within
Login.c(118): min/max position limits\n
Login.c(118): while (!isValidCaretPosition(caretPos) && caretPos >
caretPosMin && caretPos <
Login.c(118): caretPosMax) {\n
Login.c(118): caretPos += caretBumpBack ? -1 : 1;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ((caretBumpBack && caretPos < caretPosMax) ||
(isAddition && !isValidCaretP
Login.c(118): osition(caretPosOld))) {\n
Login.c(118): caretPos++;\n
Login.c(118): }\n
Login.c(118): oldCaretPosition = caretPos;\n
Login.c(118): setCaretPosition(this, caretPos);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function isValidCaretPosition(pos){ return
maskCaretMap.indexOf(pos) > -1; }\n
Login.c(118): \n
Login.c(118): function getCaretPosition(input){\n
Login.c(118): if (!input) return 0;\n
Login.c(118): if (input.selectionStart !== undefined) {\n
Login.c(118): return input.selectionStart;\n
Login.c(118): } else if (document.selection) {\n
Login.c(118): // Curse you IE\n
Login.c(118): input.focus();\n
Login.c(118): var selection = document.selection.createRange();\n
Login.c(118): selection.moveStart('character',
-input.value.length);\n
Login.c(118): return selection.text.length;\n
Login.c(118): }\n
Login.c(118): return 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setCaretPosition(input, pos){\n
Login.c(118): if (!input) return 0;\n
Login.c(118): if (input.offsetWidth === 0 || input.offsetHeight ===
0) {\n
Login.c(118): return; // Input's hidden\n
Login.c(118): }\n
Login.c(118): if (input.setSelectionRange) {\n
Login.c(118): input.focus();\n
Login.c(118): input.setSelectionRange(pos, pos);\n
Login.c(118): }\n
Login.c(118): else if (input.createTextRange) {\n
Login.c(118): // Curse you IE\n
Login.c(118): var range = input.createTextRange();\n
Login.c(118): range.collapse(true);\n
Login.c(118): range.moveEnd('character', pos);\n
Login.c(118): range.moveStart('character', pos);\n
Login.c(118): range.select();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getSelectionLength(input){\n
Login.c(118): if (!input) return 0;\n
Login.c(118): if (input.selectionStart !== undefined) {\n
Login.c(118): return (input.selectionEnd -
input.selectionStart);\n
Login.c(118): }\n
Login.c(118): if (document.selection) {\n
Login.c(118): return
(document.selection.createRange().text.length);\n
Login.c(118): }\n
Login.c(118): return 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // https://developer.mozilla.org/en-
US/docs/JavaScript/Reference/Global_Objects/
Login.c(118): Array/indexOf\n
Login.c(118): if (!Array.prototype.indexO
Login.c(118): t=8194ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): f) {\n
Login.c(118): Array.prototype.indexOf = function (searchElement /*,
fromIndex */){\n
Login.c(118): if (this === null) {\n
Login.c(118): throw new TypeError();\n
Login.c(118): }\n
Login.c(118): var t = Object(this);\n
Login.c(118): var len = t.length >>> 0;\n
Login.c(118): if (len === 0) {\n
Login.c(118): return -1;\n
Login.c(118): }\n
Login.c(118): var n = 0;\n
Login.c(118): if (arguments.length > 1) {\n
Login.c(118): n = Number(arguments[1]);\n
Login.c(118): if (n !== n) { // shortcut for verifying if it's
NaN\n
Login.c(118): n = 0;\n
Login.c(118): } else if (n !== 0 && n !== Infinity && n !==
-Infinity) {\n
Login.c(118): n = (n > 0 || -1) * Math.floor(Math.abs(n));\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (n >= len) {\n
Login.c(118): return -1;\n
Login.c(118): }\n
Login.c(118): var k = n >= 0 ? n : Math.max(len - Math.abs(n),
0);\n
Login.c(118): for (; k < len; k++) {\n
Login.c(118): if (k in t && t[k] === searchElement) {\n
Login.c(118): return k;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return -1;\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): ]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Add a clear button to form inputs to reset their value\n
Login.c(118): */\n
Login.c(118): angular.module('ui.reset',
[]).value('uiResetConfig',null).directive('uiReset', ['uiResetCo
Login.c(118): nfig', function (uiResetConfig) {\n
Login.c(118): var resetValue = null;\n
Login.c(118): if (uiResetConfig !== undefined){\n
Login.c(118): resetValue = uiResetConfig;\n
Login.c(118): }\n
Login.c(118): return {\n
Login.c(118): require: 'ngModel',\n
Login.c(118): link: function (scope, elm, attrs, ctrl) {\n
Login.c(118): var aElement;\n
Login.c(118): aElement = angular.element('<a class="ui-reset" />');\n
Login.c(118): elm.wrap('<span class="ui-resetwrap"
/>').after(aElement);\n
Login.c(118): aElement.bind('click', function (e) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): scope.$apply(function () {\n
Login.c(118): if (attrs.uiReset){\n
Login.c(118): ctrl.$setViewValue(scope.$eval(attrs.uiReset));\n
Login.c(118): }else{\n
Login.c(118): ctrl.$setViewValue(resetValue);\n
Login.c(118): }\n
Login.c(118): ctrl.$render();\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Set a $uiRoute boolean to see if the current route matches\n
Login.c(118): */\n
Login.c(118): angular.module('ui.route', []).directive('uiRoute', ['$location',
'$parse', function ($loc
Login.c(118): ation, $parse) {\n
Login.c(118): return {\n
Login.c(118): restrict: 'AC',\n
Login.c(118): scope: true,\n
Login.c(118): compile: function(tElement, tAttrs) {\n
Login.c(118): var useProperty;\n
Login.c(118): if (tAttrs.uiRoute) {\n
Login.c(118): useProperty = 'uiRoute';\n
Login.c(118): } else if (tAttrs.ngHref) {\n
Login.c(118): useProperty = 'ngHref';\n
Login.c(118): } else if (tAttrs.href) {\n
Login.c(118): useProperty = 'href';\n
Login.c(118): } else {\n
Login.c(118): throw new Error('uiRoute missing a route or href property
on ' + tElement[0]);\n
Login.c(118): }\n
Login.c(118): return function ($scope, elm, attrs) {\n
Login.c(118): var modelSetter = $parse(attrs.ngModel ||
attrs.routeModel || '$uiRoute').assign;\n
Login.c(118): var watcher = angular.noop;\n
Login.c(118): \n
Login.c(118): // Used by href and ngHref\n
Login.c(118): function staticWatcher(newVal) {\n
Login.c(118): var hash = newVal.indexOf('#');\n
Login.c(118): if (hash > -1){\n
Login.c(118): newVal = newVal.substr(hash + 1);\n
Login.c(118): }\n
Login.c(118): watcher = function watchHref() {\n
Login.c(118): modelSetter($scope, ($location.path().indexOf(newVal)
> -1));\n
Login.c(118): };\n
Login.c(118): watcher();\n
Login.c(118): }\n
Login.c(118): // Used by uiRoute\n
Login.c(118): function regexWatcher(newVal) {\n
Login.c(118): var hash = newVal.indexOf('#');\n
Login.c(118): if (hash > -1){\n
Login.c(118): newVal = newVal.substr(hash + 1);\n
Login.c(118): }\n
Login.c(118): watcher = function watchRegex() {\n
Login.c(118): var regexp = new RegExp('^' + newVal + '$', ['i']);\n
Login.c(118): modelSetter($scope, regexp.test($location.path()));\n
Login.c(118): };\n
Login.c(118): watcher();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): switch (useProperty) {\n
Login.c(118): case 'uiRoute':\n
Login.c(118): // if uiRoute={{}} this will be undefined, otherwise
it will have a value and
Login.c(118): $observe() never gets triggered\n
Login.c(118): if (attrs.uiRoute){\n
Login.c(118): regexWatcher(attrs.uiRoute);\n
Login.c(118): }else{\n
Login.c(118): attrs.$observe('uiRoute', regexWatcher);\n
Login.c(118): }\n
Login.c(118): break;\n
Login.c(118): case 'ngHref':\n
Login.c(118): // Setup watcher() every time ngHref changes\n
Login.c(118): if (attrs.ngHref){\n
Login.c(118): staticWatcher(attrs.ngHref);\n
Login.c(118): }else{\n
Login.c(118): attrs.$observe('ngHref', staticWatcher);\n
Login.c(118): }\n
Login.c(118): break;\n
Login.c(118): case 'href':\n
Login.c(118): // Setup watcher()\n
Login.c(118): staticWatcher(attrs.href);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $scope.$on('$routeChangeSuccess', function(){\n
Login.c(118): watcher();\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): //Added for compatibility with ui-router\n
Login.c(118): $scope.$on('$stateChangeSuccess', function(){\n
Login.c(118): watcher();\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): angular.module('ui.scroll.jqlite',
['ui.scroll']).service('jqLiteExtras', [\n
Login.c(118): '$log', '$window', function(console, window) {\n
Login.c(118): return {\n
Login.c(118): registerFor: function(element) {\n
Login.c(118): var convertToPx, css, getMeasurements, getStyle,
getWidthHeight, isWindow, scrollT
Login.c(118): o;\n
Login.c(118): css = angular.element.prototype.css;\n
Login.c(118): element.prototype.css = function(name, value) {\n
Login.c(118): var elem, self;\n
Login.c(118): self = this;\n
Login.c(118): elem = self[0];\n
Login.c(118): if (!(!elem || elem.nodeType === 3 || elem.nodeType ===
8 || !elem.style)) {\n
Login.c(118): return css.call(self, name, value);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): isWindow = function(obj) {\n
Login.c(118): return obj && obj.document && obj.location && obj.alert
&& obj.setInterval;\n
Login.c(118): };\n
Login.c(118): scrollTo = function(self, direction, value) {\n
Login.c(118): var elem, method, preserve, prop, _ref;\n
Login.c(118): elem = self[0];\n
Login.c(118): _ref = {\n
Login.c(118): top: ['scrollTop', 'pageYOffset', 'scrollLeft'],\n
Login.c(118): left: ['scrollLeft', 'pageXOffset', 'scrollTop']\n
Login.c(118): }[direction], method = _ref[0], prop = _ref[1],
preserve = _ref[2];\n
Login.c(118): if (isWindow(elem)) {\n
Login.c(118): if (angular.isDefined(value)) {\n
Login.c(118): return elem.scrollTo(self[preserve].call(self),
value);\n
Login.c(118): } else {\n
Login.c(118): if (prop in elem) {\n
Login.c(118): return elem[prop];\n
Login.c(118): } else {\n
Login.c(118): return elem.document.documentElement[method];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (angular.isDefined(value)) {\n
Login.c(118): return elem[method] = value;\n
Login.c(118): } else {\n
Login.c(118): return elem[method];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): if (window.getComputedStyle) {\n
Login.c(118): getStyle = function(elem) {\n
Login.c(118): return window.getComputedStyle(elem, null);\n
Login.c(118): };\n
Login.c(118): convertToPx = function(elem, value) {\n
Login.c(118): return parseFloat(value);\n
Login.c(118): };\n
Login.c(118): } else {\n
Login.c(118): getStyle = function(elem) {\n
Login.c(118): return elem.currentStyle;\n
Login.c(118): };\n
Login.c(118): convertToPx = function(elem, value) {\n
Login.c(118): var core_pnum, left, result, rnumnonpx, rs, rsLeft,
style;\n
Login.c(118): core_pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE]
[+-]?\\d+|)/.source;\n
Login.c(118): rnumnonpx = new RegExp('^(' + core_pnum + ')(?!px)[a-
z%]+$', 'i');\n
Login.c(118): if (!rnumnonpx.test(value)) {\n
Login.c(118): return parseFloat(value);\n
Login.c(118): } else {\n
Login.c(118): style = elem.style;\n
Login.c(118): left = style.left;\n
Login.c(118): rs = elem.runtimeStyle;\n
Login.c(118): rsLeft = rs && rs.left;\n
Login.c(118): if (rs) {\n
Login.c(118): rs.left = style.left;\n
Login.c(118): }\n
Login.c(118): style.left = value;\n
Login.c(118): result = style.pixelLeft;\n
Login.c(118): style.left = left;\n
Login.c(118): if (rsLeft) {\n
Login.c(118): rs.left = rsLeft;\n
Login.c(118): }\n
Login.c(118): return result;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): getMeasurements = function(elem, measure) {\n
Login.c(118): var base, borderA, borderB, computedMarginA,
computedMarginB, computedStyle, dir
Login.c(118): A, dirB, marginA, marginB, paddingA, paddingB, _ref;\n
Login.c(118): if (isWindow(elem)) {\n
Login.c(118): base = document.documentElement[{\n
Login.c(118): height: 'clientHeight',\n
Login.c(118): width: 'clientWidth'\n
Login.c(118): }[measure]];\n
Login.c(118): return {\n
Login.c(118): base: base,\n
Login.c(118): padding: 0,\n
Login.c(118): border: 0,\n
Login.c(118): margin: 0\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): _ref = {\n
Login.c(118): width: [elem.offsetWidth, 'Left', 'Right'],\n
Login.c(118): height: [elem.offsetHeight, 'Top', 'Bottom']\n
Login.c(118): }[measure], base = _ref[0], dirA = _ref[1], dirB =
_ref[2];\n
Login.c(118): computedStyle = getStyle(elem);\n
Login.c(118): paddingA = convertToPx(elem, computedStyle['padding' +
dirA]) || 0;\n
Login.c(118): paddingB = convertToPx(elem, computedStyle['padding' +
dirB]) || 0;\n
Login.c(118): borderA = convertToPx(elem, computedStyle['border' +
dirA + 'Width']) || 0;\n
Login.c(118): borderB = convertToPx(elem, computedStyle['border' +
dirB + 'Width']) || 0;\n
Login.c(118): computedMarginA = computedStyle['margin' + dirA];\n
Login.c(118): computedMarginB = computedStyle['margin' + dirB];\n
Login.c(118): marginA = convertToPx(elem, computedMarginA) || 0;\n
Login.c(118): marginB = convertToPx(elem, computedMarginB) || 0;\n
Login.c(118): return {\n
Login.c(118): base: base,\n
Login.c(118): padding: paddingA + paddingB,\n
Login.c(118): border: borderA + borderB,\n
Login.c(118): margin: marginA + marginB\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): getWidthHeight = function(elem, direction, measure) {\n
Login.c(118): var computedStyle, measurements, result;\n
Login.c(118): measurements = getMeasurements(elem, direction);\n
Login.c(118): if (measurements.base > 0) {\n
Login.c(118): return {\n
Login.c(118): base: measurements.base - measurements.padding -
measurements.border,\n
Login.c(118): outer: measurements.base,\n
Login.c(118): outerfull: measurements.base +
measurements.margin\n
Login.c(118): }[measure];\n
Login.c(118): } else {\n
Login.c(118): computedStyle = getStyle(elem);\n
Login.c(118): result = computedStyle[direction];\n
Login.c(118): if (result < 0 || result === null) {\n
Login.c(118): result = elem.style[direction] || 0;\n
Login.c(118): }\n
Login.c(118): result = parseFloat(result) || 0;\n
Login.c(118): return {\n
Login.c(118): base: result - measurements.padding -
measurements.border,\n
Login.c(118): outer: result,\n
Login.c(118): outerfull: result + measurements.padding +
measurements.border + measurement
Login.c(118): s.margin\n
Login.c(118): }[measure];\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): return angular.forEach({\n
Login.c(118): before: function(newElem) {\n
Login.c(118): var children, elem, i, parent, self, _i, _ref;\n
Login.c(118): self = this;\n
Login.c(118): elem = self[0];\n
Login.c(118): parent = self.parent();\n
Login.c(118): children = parent.contents();\n
Login.c(118): if (children[0] === elem) {\n
Login.c(118): return parent.prepend(newElem);\n
Login.c(118): } else {\n
Login.c(118): for (i = _i = 1, _ref = children.length - 1; 1 <=
_ref ? _i <= _ref : _i >=
Login.c(118): _ref; i = 1 <= _ref ? ++_i : --_i) {\n
Login.c(118): if (children[i] === elem) {\n
Login.c(118): angular.element(children[i -
1]).after(newElem);\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): throw new Error('invalid DOM structure ' +
elem.outerHTML);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): height: function(value) {\n
Login.c(118): var self;\n
Login.c(118): self = this;\n
Login.c(118): if (angular.isDefined(value)) {\n
Login.c(118): if (angular.isNumber(value)) {\n
Login.c(118): value = value + 'px';\n
Login.c(118): }\n
Login.c(118): return css.call(self, 'height', value);\n
Login.c(118): } else {\n
Login.c(118): return getWidthHeight(this[0], 'height', 'base');\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): outerHeight: function(option) {\n
Login.c(118): return getWidthHeight(this[0], 'height', option ?
'outerfull' : 'outer');\n
Login.c(118): },\n
Login.c(118): offset: function(value) {\n
Login.c(118): var box, doc, docElem, elem, self, win;\n
Login.c(118): self = this;\n
Login.c(118): if (arguments.length) {\n
Login.c(118): if (value === void 0) {\n
Login.c(118): return self;\n
Login.c(118): } else {\n
Login.c(118): return value;\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): box = {\n
Login.c(118): top: 0,\n
Login.c(118): left: 0\n
Login.c(118): };\n
Login.c(118): elem = self[0];\n
Login.c(118): doc = elem && elem.ownerDocument;\n
Login.c(118): if (!doc) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): docElem = doc.documentElement;\n
Login.c(118): if (elem.getBoundingClientRect) {\n
Login.c(118): box = elem.getBoundingClientRect();\n
Login.c(118): }\n
Login.c(118): win = doc.defaultView || doc.parentWindow;\n
Login.c(118): return {\n
Login.c(118): top: box.top + (win.pageYOffset ||
docElem.scrollTop) - (docElem.clientTop |
Login.c(118): | 0),\n
Login.c(118): left: box.left + (win.pageXOffset ||
docElem.scrollLeft) - (docElem.clientLe
Login.c(118): ft || 0)\n
Login.c(118): };\n
Login.c(118): },\n
Login.c(118): scrollTop: function(value) {\n
Login.c(118): return scrollTo(this, 'top', value);\n
Login.c(118): },\n
Login.c(118): scrollLeft: function(value) {\n
Login.c(118): return scrollTo(this, 'left', value);\n
Login.c(118):
Login.c(118): t=8218ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): }\n
Login.c(118): }, function(value, key) {\n
Login.c(118): if (!element.prototype[key]) {\n
Login.c(118): return element.prototype[key] = value;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): ]).run([\n
Login.c(118): '$log', '$window', 'jqLiteExtras', function(console, window,
jqLiteExtras) {\n
Login.c(118): if (!window.jQuery) {\n
Login.c(118): return jqLiteExtras.registerFor(angular.element);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): ]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): /*\n
Login.c(118): \n
Login.c(118): List of used element methods available in JQuery but not in
JQuery Lite\n
Login.c(118): \n
Login.c(118): element.before(elem)\n
Login.c(118): element.height()\n
Login.c(118): element.outerHeight(true)\n
Login.c(118): element.height(value) = only for Top/Bottom padding elements\n
Login.c(118): element.scrollTop()\n
Login.c(118): element.scrollTop(value)\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): angular.module('ui.scroll', []).directive('ngScrollViewport', [\n
Login.c(118): \t\t'$log', function() {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\tcontroller: [\n
Login.c(118): \t\t\t\t\t'$scope', '$element', function(scope, element) {\n
Login.c(118): \t\t\t\t\t\treturn element;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t]\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t]).directive('ngScroll', [\n
Login.c(118): \t\t'$log', '$injector', '$rootScope', '$timeout',
function(console, $injector, $rootScope
Login.c(118): , $timeout) {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\trequire: ['?^ngScrollViewport'],\n
Login.c(118): \t\t\t\ttransclude: 'element',\n
Login.c(118): \t\t\t\tpriority: 1000,\n
Login.c(118): \t\t\t\tterminal: true,\n
Login.c(118): \t\t\t\tcompile: function(element, attr, linker) {\n
Login.c(118): \t\t\t\t\treturn function($scope, $element, $attr, controllers)
{\n
Login.c(118): \t\t\t\t\t\tvar adapter, adjustBuffer, adjustRowHeight, bof,
bottomVisiblePos, buffer, buf
Login.c(118): ferPadding, bufferSize, clipBottom, clipTop, datasource,
datasourceName, enqueueFetch, eof
Login.c(118): , eventListener, fetch, finalize, first, insert, isDatasource,
isLoading, itemName, loadin
Login.c(118): g, match, next, pending, reload, removeFromBuffer, resizeHandler,
scrollHandler, scrollHei
Login.c(118): ght, shouldLoadBottom, shouldLoadTop, tempScope, topVisiblePos,
viewport;\n
Login.c(118): \t\t\t\t\t\tmatch = $attr.ngScroll.match(/^\\s*(\\w+)\\s+in\\s+
(\\w+)\\s*$/);\n
Login.c(118): \t\t\t\t\t\tif (!match) {\n
Login.c(118): \t\t\t\t\t\t\tthrow new Error('Expected ngScroll in form of
"item_ in _datasource_" but go
Login.c(118): t "' + $attr.ngScroll + '"');\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\titemName = match[1];\n
Login.c(118): \t\t\t\t\t\tdatasourceName = match[2];\n
Login.c(118): \t\t\t\t\t\tisDatasource = function(datasource) {\n
Login.c(118): \t\t\t\t\t\t\treturn angular.isObject(datasource) &&
datasource.get && angular.isFunction(
Login.c(118): datasource.get);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tdatasource = $scope[datasourceName];\n
Login.c(118): \t\t\t\t\t\tif (!isDatasource(datasource)) {\n
Login.c(118): \t\t\t\t\t\t\tdatasource = $injector.get(datasourceName);\n
Login.c(118): \t\t\t\t\t\t\tif (!isDatasource(datasource)) {\n
Login.c(118): \t\t\t\t\t\t\t\tthrow new Error(datasourceName + ' is not a valid
datasource');\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tbufferSize = Math.max(3, +$attr.bufferSize || 10);\n
Login.c(118): \t\t\t\t\t\tbufferPadding = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.height() * Math.max(0.1, +
$attr.padding || 0.1);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tscrollHeight = function(elem) {\n
Login.c(118): \t\t\t\t\t\t\treturn elem[0].scrollHeight ||
elem[0].document.documentElement.scrollHeight
Login.c(118): ;\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tadapter = null;\n
Login.c(118): \t\t\t\t\t\tlinker(tempScope = $scope.$new(), function(template)
{\n
Login.c(118): \t\t\t\t\t\t\tvar bottomPadding, createPadding, padding,
repeaterType, topPadding, viewpor
Login.c(118): t;\n
Login.c(118): \t\t\t\t\t\t\trepeaterType = template[0].localName;\n
Login.c(118): \t\t\t\t\t\t\tif (repeaterType === 'dl') {\n
Login.c(118): \t\t\t\t\t\t\t\tthrow new Error('ng-scroll directive does not
support <' + template[0].loc
Login.c(118): alName + '> as a repeating tag: ' + template[0].outerHTML);\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (repeaterType !== 'li' && repeaterType !== 'tr')
{\n
Login.c(118): \t\t\t\t\t\t\t\trepeaterType = 'div';\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tviewport = controllers[0] ||
angular.element(window);\n
Login.c(118): \t\t\t\t\t\t\tviewport.css({\n
Login.c(118): \t\t\t\t\t\t\t\t'overflow-y': 'auto',\n
Login.c(118): \t\t\t\t\t\t\t\t'display': 'block'\n
Login.c(118): \t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\tpadding = function(repeaterType) {\n
Login.c(118): \t\t\t\t\t\t\t\tvar div, result, table;\n
Login.c(118): \t\t\t\t\t\t\t\tswitch (repeaterType) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tcase 'tr':\n
Login.c(118): \t\t\t\t\t\t\t\t\t\ttable =
angular.element('<table><tr><td><div></div></td></tr></table>'
Login.c(118): );\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tdiv = table.find('div');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult = table.find('tr');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult.paddingHeight = function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn div.height.apply(div, arguments);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn result;\n
Login.c(118): \t\t\t\t\t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult = angular.element('<' + repeaterType +
'></' + repeaterType + '
Login.c(118): >');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult.paddingHeight = result.height;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn result;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\tcreatePadding = function(padding, element,
direction) {\n
Login.c(118): \t\t\t\t\t\t\t\telement[{\n
Login.c(118): \t\t\t\t\t\t\t\t\ttop: 'before',\n
Login.c(118): \t\t\t\t\t\t\t\t\tbottom: 'after'\n
Login.c(118): \t\t\t\t\t\t\t\t}[direction]](padding);\n
Login.c(118): \t\t\t\t\t\t\t\treturn {\n
Login.c(118): \t\t\t\t\t\t\t\t\tpaddingHeight: function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn padding.paddingHeight.apply(padding,
arguments);\n
Login.c(118): \t\t\t\t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\t\t\t\tinsert: function(element) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn padding[{\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\ttop: 'after',\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tbottom: 'before'\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}[direction]](element);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\ttopPadding = createPadding(padding(repeaterType),
element, 'top');\n
Login.c(118): \t\t\t\t\t\t\tbottomPadding =
createPadding(padding(repeaterType), element, 'bottom');\n
Login.c(118): \t\t\t\t\t\t\ttempScope.$destroy();\n
Login.c(118): \t\t\t\t\t\t\treturn adapter = {\n
Login.c(118): \t\t\t\t\t\t\t\tviewport: viewport,\n
Login.c(118): \t\t\t\t\t\t\t\ttopPadding: topPadding.paddingHeight,\n
Login.c(118): \t\t\t\t\t\t\t\tbottomPadding: bottomPadding.paddingHeight,\n
Login.c(118): \t\t\t\t\t\t\t\tappend: bottomPadding.insert,\n
Login.c(118): \t\t\t\t\t\t\t\tprepend: topPadding.insert,\n
Login.c(118): \t\t\t\t\t\t\t\tbottomDataPos: function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn scrollHeight(viewport) -
bottomPadding.paddingHeight();\n
Login.c(118): \t\t\t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\t\t\ttopDataPos: function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn topPadding.paddingHeight();\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\tviewport = adapter.viewport;\n
Login.c(118): \t\t\t\t\t\tfirst = 1;\n
Login.c(118): \t\t\t\t\t\tnext = 1;\n
Login.c(118): \t\t\t\t\t\tbuffer = [];\n
Login.c(118): \t\t\t\t\t\tpending = [];\n
Login.c(118): \t\t\t\t\t\teof = false;\n
Login.c(118): \t\t\t\t\t\tbof = false;\n
Login.c(118): \t\t\t\t\t\tloading = datasource.loading || function() {};\n
Login.c(118): \t\t\t\t\t\tisLoading = false;\n
Login.c(118): \t\t\t\t\t\tremoveFromBuffer = function(start, stop) {\n
Login.c(118): \t\t\t\t\t\t\tvar i, _i;\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _i = start; start <= stop ? _i < stop : _i
> stop; i = start <= sto
Login.c(118): p ? ++_i : --_i) {\n
Login.c(118): \t\t\t\t\t\t\t\tbuffer[i].scope.$destroy();\n
Login.c(118): \t\t\t\t\t\t\t\tbuffer[i].element.remove();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn buffer.splice(start, stop - start);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\treload = function() {\n
Login.c(118): \t\t\t\t\t\t\tfirst = 1;\n
Login.c(118): \t\t\t\t\t\t\tnext = 1;\n
Login.c(118): \t\t\t\t\t\t\tremoveFromBuffer(0, buffer.length);\n
Login.c(118): \t\t\t\t\t\t\tadapter.topPadding(0);\n
Login.c(118): \t\t\t\t\t\t\tadapter.bottomPadding(0);\n
Login.c(118): \t\t\t\t\t\t\tpending = [];\n
Login.c(118): \t\t\t\t\t\t\teof = false;\n
Login.c(118): \t\t\t\t\t\t\tbof = false;\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(false);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tbottomVisiblePos = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.scrollTop() + viewport.height();\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\ttopVisiblePos = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.scrollTop();\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tshouldLoadBottom = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn !eof && adapter.bottomDataPos() <
bottomVisiblePos() + bufferPadding(
Login.c(118): );\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tclipBottom = function() {\n
Login.c(118): \t\t\t\t\t\t\tvar bottomHeight, i, itemHeight, overage, _i,
_ref;\n
Login.c(118): \t\t\t\t\t\t\tbottomHeight = 0;\n
Login.c(118): \t\t\t\t\t\t\toverage = 0;\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _i = _ref = buffer.length - 1; _ref <= 0 ?
_i <= 0 : _i >= 0; i = _
Login.c(118): ref <= 0 ? ++_i : --_i) {\n
Login.c(118): \t\t\t\t\t\t\t\titemHeight =
buffer[i].element.outerHeight(true);\n
Login.c(118): \t\t\t\t\t\t\t\tif (adapter.bottomDataPos() - bottomHeight -
itemHeight > bottomVisiblePos
Login.c(118): () + bufferPadding()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbottomHeight += itemHeight;\n
Login.c(118): \t\t\t\t\t\t\t\t\toverage++;\n
Login.c(118): \t\t\t\t\t\t\t\t\teof = false;\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (overage > 0) {\n
Login.c(118): \t\t\t\t\t\t\t\tadapter.bottomPadding(adapter.bottomPadding() +
bottomHeight);\n
Login.c(118): \t\t\t\t\t\t\t\tremoveFromBuffer(buffer.length - overage,
buffer.length);\n
Login.c(118): \t\t\t\t\t\t\t\tnext -= overage;\n
Login.c(118): \t\t\t\t\t\t\t\treturn console.log('clipped off bottom ' +
overage + ' bottom padding ' +
Login.c(118): (adapter.bottomPadding()));\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tshouldLoadTop = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn !bof && (adapter.topDataPos() >
topVisiblePos() - bufferPadding());\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tclipTop = function() {\n
Login.c(118): \t\t\t\t\t\t\tvar item, itemHeight, overage, topHeight, _i,
_len;\n
Login.c(118): \t\t\t\t\t\t\ttopHeight = 0;\n
Login.c(118): \t\t\t\t\t\t\toverage = 0;\n
Login.c(118): \t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i++)
{\n
Login.c(118): \t\t\t\t\t\t\t\titem = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\titemHeight = item.element.outerHeight(true);\n
Login.c(118): \t\t\t\t\t\t\t\tif (adapter.topDataPos() + topHeight + itemHeight
< topVisiblePos() - buff
Login.c(118): erPadding()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\ttopHeight += itemHeight;\n
Login.c(118): \t\t\t\t\t\t\t\t\toverage++;\n
Login.c(118): \t\t\t\t\t\t\t\t\tbof = false;\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (overage > 0) {\n
Login.c(118): \t\t\t\t\t\t\t\tadapter.topPadding(adapter.topPadding() +
topHeight);\n
Login.c(118): \t\t\t\t\t\t\t\tremoveFromBuffer(0, overage);\n
Login.c(118): \t\t\t\t\t\t\t\tfirst += overage;\n
Login.c(118): \t\t\t\t\t\t\t\treturn console.log('clipped off top ' + overage +
' top padding ' + (adapt
Login.c(118): er.topPadding()));\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tenqueueFetch = function(direction, scrolling) {\n
Login.c(118): \t\t\t\t\t\t\tif (!isLoading) {\n
Login.c(118): \t\t\t\t\t\t\t\tisLoading = true;\n
Login.c(118): \t\t\t\t\t\t\t\tloading(true);\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (pending.push(direction) === 1) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn fetch(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tinsert = function(index, item) {\n
Login.c(118): \t\t\t\t\t\t\tvar itemScope, toBeAppended, wrapper;\n
Login.c(118): \t\t\t\t\t\t\titemScope = $scope.$new();\n
Login.c(118): \t\t\t\t\t\t\titemScope[itemName] = item;\n
Login.c(118): \t\t\t\t\t\t\ttoBeAppended = index > first;\n
Login.c(118): \t\t\t\t\t\t\titemScope.$index = index;\n
Login.c(118): \t\t\t\t\t\t\tif (toBeAppended) {\n
Login.c(118): \t\t\t\t\t\t\t\titemScope.$index--;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\twrapper = {\n
Login.c(118): \t\t\t\t\t\t\t\tscope: itemScope\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\tlinker(itemScope, function(clone) {\n
Login.c(118): \t\t\t\t\t\t\t\twrapper.element = clone;\n
Login.c(118): \t\t\t\t\t\t\t\tif (toBeAppended) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (index === next) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tadapter.append(clone);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn buffer.push(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tbuffer[index - first].element.after(clone);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn buffer.splice(index - first + 1, 0,
wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tadapter.prepend(clone);\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn buffer.unshift(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\treturn {\n
Login.c(118): \t\t\t\t\t\t\t\tappended: toBeAppended,\n
Login.c(118): \t\t\t\t\t\t\t\twrapper: wrapper\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tadjustRowHeight = function(appended, wrapper) {\n
Login.c(118): \t\t\t\t\t\t\tvar newHeight;\n
Login.c(118): \t\t\t\t\t\t\tif (appended) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn adapter.bottomPadding(Math.max(0,
adapter.bottomPadding() - wrapper
Login.c(118): .element.outerHeight(true)));\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tnewHeight = adapter.topPadding() -
wrapper.element.outerHeight(true);\n
Login.c(118): \t\t\t\t\t\t\t\tif (newHeight >= 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn adapter.topPadding(newHeight);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn viewport.scrollTop(viewport.scrollTop()
+ wrapper.element.outerHe
Login.c(118): ight(true));\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tadjustBuffer = function(scrolling, newItems,
finalize) {\n
Login.c(118): \t\t\t\t\t\t\tvar doAdjustment;\n
Login.c(118): \t\t\t\t\t\t\tdoAdjustment = function() {\n
Login.c(118): \t\t\t\t\t\t\t\tconsole.log('top {actual=' +
(adapter.topDataPos()) + ' visible from=' + (
Login.c(118): topVisiblePos()) + ' bottom {visible through=' +
(bottomVisiblePos()) + ' actual=' + (adap
Login.c(118): ter.bottomDataPos()) + '}');\n
Login.c(118): \t\t\t\t\t\t\t\tif (shouldLoadBottom()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tenqueueFetch(true, scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (shouldLoadTop()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tenqueueFetch(false, scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\tif (finalize) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn finalize();\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\tif (newItems) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn $timeout(function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\tvar row, _i, _len;\n
Login.c(118): \t\t\t\t\t\t\t\t\tfor (_i = 0, _len = newItems.length; _i < _len;
_i++) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\trow = newItems[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tadjustRowHeight(row.appended, row.wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn doAdjustment();\n
Login.c(118): \t\t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\treturn doAdjustment();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tfinalize = function(scrolling, newItems) {\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(scrolling, newItems, function()
{\n
Login.c(118): \t\t\t\t\t\t\t\tpending.shift();\n
Login.c(118): \t\t\t\t\t\t\t\tif (pending.length === 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tisLoading = false;\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn loading(false);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn fetch(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tfetch = function(scrolling) {\n
Login.c(118): \t\t\t\t\t\t\tvar direction;\n
Login.c(118): \t\t\t\t\t\t\tdirection = pending[0];\n
Login.c(118): \t\t\t\t\t\t\tif (direction) {\n
Login.c(118): \t\t\t\t\t\t\t\tif (buffer.length && !shouldLoadBottom()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn finalize(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn datasource.get(next, bufferSize,
function(result) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tvar item, newItems, _i, _len;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tnewItems = [];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tif (result.length === 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\teof = true;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tadapter.bottomPadding(0);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('appended: requested ' +
bufferSize + ' records starting
Login.c(118): from ' + next + ' recieved: eof');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tclipTop();\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tfor (_i = 0, _len = result.length; _i <
_len; _i++) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\titem = result[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\tnewItems.push(insert(++next, item));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('appended: requested ' +
bufferSize + ' received ' + res
Login.c(118): ult.length + ' buffer size ' + buffer.length + ' first ' + first
+ ' next ' + next);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn finalize(scrolling, newItems);\n
Login.c(118): \t\t\t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif (buffer.length && !shouldLoadTop()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn finalize(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn datasource.get(first - bufferSize,
bufferSize, function(result) {
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t\t\t\tvar i, newItems, _i, _ref;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tnewItems = [];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tif (result.length === 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tbof = true;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tadapter.topPadding(0);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('prepended: requested ' +
bufferSize + ' records startin
Login.c(118): g from ' + (first - bufferSize) + ' recieved: bof');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t
Login.c(118): t=8257ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): \t\t\t\t\t\t\t\t\t\tclipBottom();\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tfor (i = _i = _ref = result.length - 1;
_ref <= 0 ? _i <= 0 : _i >=
Login.c(118): 0; i = _ref <= 0 ? ++_i : --_i) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\tnewItems.unshift(insert(--first,
result[i]));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('prepended: requested ' +
bufferSize + ' received ' + re
Login.c(118): sult.length + ' buffer size ' + buffer.length + ' first ' + first
+ ' next ' + next);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn finalize(scrolling, newItems);\n
Login.c(118): \t\t\t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tresizeHandler = function() {\n
Login.c(118): \t\t\t\t\t\t\tif (!$rootScope.$$phase && !isLoading) {\n
Login.c(118): \t\t\t\t\t\t\t\tadjustBuffer(false);\n
Login.c(118): \t\t\t\t\t\t\t\treturn $scope.$apply();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tviewport.bind('resize', resizeHandler);\n
Login.c(118): \t\t\t\t\t\tscrollHandler = function() {\n
Login.c(118): \t\t\t\t\t\t\tif (!$rootScope.$$phase && !isLoading) {\n
Login.c(118): \t\t\t\t\t\t\t\tadjustBuffer(true);\n
Login.c(118): \t\t\t\t\t\t\t\treturn $scope.$apply();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tviewport.bind('scroll', scrollHandler);\n
Login.c(118): \t\t\t\t\t\t$scope.$watch(datasource.revision, function() {\n
Login.c(118): \t\t\t\t\t\t\treturn reload();\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\tif (datasource.scope) {\n
Login.c(118): \t\t\t\t\t\t\teventListener = datasource.scope.$new();\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\teventListener = $scope.$new();\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t$scope.$on('$destroy', function() {\n
Login.c(118): \t\t\t\t\t\t\teventListener.$destroy();\n
Login.c(118): \t\t\t\t\t\t\tviewport.unbind('resize', resizeHandler);\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.unbind('scroll', scrollHandler);\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\teventListener.$on('update.items', function(event,
locator, newItem) {\n
Login.c(118): \t\t\t\t\t\t\tvar wrapper, _fn, _i, _len, _ref;\n
Login.c(118): \t\t\t\t\t\t\tif (angular.isFunction(locator)) {\n
Login.c(118): \t\t\t\t\t\t\t\t_fn = function(wrapper) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn locator(wrapper.scope);\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i+
+) {\n
Login.c(118): \t\t\t\t\t\t\t\t\twrapper = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t_fn(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif ((0 <= (_ref = locator - first - 1) && _ref <
buffer.length)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbuffer[locator - first - 1].scope[itemName] =
newItem;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn null;\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\teventListener.$on('delete.items', function(event,
locator) {\n
Login.c(118): \t\t\t\t\t\t\tvar i, item, temp, wrapper, _fn, _i, _j, _k, _len,
_len1, _len2, _ref;\n
Login.c(118): \t\t\t\t\t\t\tif (angular.isFunction(locator)) {\n
Login.c(118): \t\t\t\t\t\t\t\ttemp = [];\n
Login.c(118): \t\t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i+
+) {\n
Login.c(118): \t\t\t\t\t\t\t\t\titem = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\ttemp.unshift(item);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t_fn = function(wrapper) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (locator(wrapper.scope)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tremoveFromBuffer(temp.length - 1 - i,
temp.length - i);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn next--;\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\tfor (i = _j = 0, _len1 = temp.length; _j < _len1;
i = ++_j) {\n
Login.c(118): \t\t\t\t\t\t\t\t\twrapper = temp[i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t_fn(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif ((0 <= (_ref = locator - first - 1) && _ref <
buffer.length)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tremoveFromBuffer(locator - first - 1, locator -
first);\n
Login.c(118): \t\t\t\t\t\t\t\t\tnext--;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _k = 0, _len2 = buffer.length; _k < _len2;
i = ++_k) {\n
Login.c(118): \t\t\t\t\t\t\t\titem = buffer[i];\n
Login.c(118): \t\t\t\t\t\t\t\titem.scope.$index = first + i;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(false);\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\treturn eventListener.$on('insert.item',
function(event, locator, item) {\n
Login.c(118): \t\t\t\t\t\t\tvar i, inserted, temp, wrapper, _fn, _i, _j, _k,
_len, _len1, _len2, _ref;\n
Login.c(118): \t\t\t\t\t\t\tinserted = [];\n
Login.c(118): \t\t\t\t\t\t\tif (angular.isFunction(locator)) {\n
Login.c(118): \t\t\t\t\t\t\t\ttemp = [];\n
Login.c(118): \t\t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i+
+) {\n
Login.c(118): \t\t\t\t\t\t\t\t\titem = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\ttemp.unshift(item);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t_fn = function(wrapper) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tvar j, newItems, _k, _len2, _results;\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (newItems = locator(wrapper.scope)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tinsert = function(index, newItem) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tinsert(index, newItem);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn next++;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tif (angular.isArray(newItems)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t_results = [];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tfor (j = _k = 0, _len2 = newItems.length;
_k < _len2; j = ++_k) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\titem = newItems[j];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\t_results.push(inserted.push(insert(i + j,
item)));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn _results;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn inserted.push(insert(i,
newItems));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\tfor (i = _j = 0, _len1 = temp.length; _j < _len1;
i = ++_j) {\n
Login.c(118): \t\t\t\t\t\t\t\t\twrapper = temp[i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t_fn(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif ((0 <= (_ref = locator - first - 1) && _ref <
buffer.length)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tinserted.push(insert(locator, item));\n
Login.c(118): \t\t\t\t\t\t\t\t\tnext++;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _k = 0, _len2 = buffer.length; _k < _len2;
i = ++_k) {\n
Login.c(118): \t\t\t\t\t\t\t\titem = buffer[i];\n
Login.c(118): \t\t\t\t\t\t\t\titem.scope.$index = first + i;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(false, inserted);\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Adds a 'ui-scrollfix' class to the element when the page
scrolls past it's position.\n
Login.c(118): * @param [offset] {int} optional Y-offset to override the
detected offset.\n
Login.c(118): * Takes 300 (absolute) or -300 or +300 (relative to
detected)\n
Login.c(118): */\n
Login.c(118): angular.module('ui.scrollfix',[]).directive('uiScrollfix',
['$window', function ($window)
Login.c(118): {\n
Login.c(118): return {\n
Login.c(118): require: '^?uiScrollfixTarget',\n
Login.c(118): link: function (scope, elm, attrs, uiScrollfixTarget) {\n
Login.c(118): var top = elm[0].offsetTop,\n
Login.c(118): $target = uiScrollfixTarget && uiScrollfixTarget.
$element || angular.element($wi
Login.c(118): ndow);\n
Login.c(118): \n
Login.c(118): if (!attrs.uiScrollfix) {\n
Login.c(118): attrs.uiScrollfix = top;\n
Login.c(118): } else if (typeof(attrs.uiScrollfix) === 'string') {\n
Login.c(118): // charAt is generally faster than indexOf:
http://jsperf.com/indexof-vs-charat\n
Login.c(118): if (attrs.uiScrollfix.charAt(0) === '-') {\n
Login.c(118): attrs.uiScrollfix = top -
parseFloat(attrs.uiScrollfix.substr(1));\n
Login.c(118): } else if (attrs.uiScrollfix.charAt(0) === '+') {\n
Login.c(118): attrs.uiScrollfix = top +
parseFloat(attrs.uiScrollfix.substr(1));\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function onScroll() {\n
Login.c(118): // if pageYOffset is defined use it, otherwise use other
crap for IE\n
Login.c(118): var offset;\n
Login.c(118): if (angular.isDefined($window.pageYOffset)) {\n
Login.c(118): offset = $window.pageYOffset;\n
Login.c(118): } else {\n
Login.c(118): var iebody = (document.compatMode &&
document.compatMode !== 'BackCompat') ? doc
Login.c(118): ument.documentElement : document.body;\n
Login.c(118): offset = iebody.scrollTop;\n
Login.c(118): }\n
Login.c(118): if (!elm.hasClass('ui-scrollfix') && offset >
attrs.uiScrollfix) {\n
Login.c(118): elm.addClass('ui-scrollfix');\n
Login.c(118): } else if (elm.hasClass('ui-scrollfix') && offset <
attrs.uiScrollfix) {\n
Login.c(118): elm.removeClass('ui-scrollfix');\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $target.on('scroll', onScroll);\n
Login.c(118): \n
Login.c(118): // Unbind scroll event handler when directive is removed\n
Login.c(118): scope.$on('$destroy', function() {\n
Login.c(118): $target.off('scroll', onScroll);\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]).directive('uiScrollfixTarget', [function () {\n
Login.c(118): return {\n
Login.c(118): controller: ['$element', function($element) {\n
Login.c(118): this.$element = $element;\n
Login.c(118): }]\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * uiShow Directive\n
Login.c(118): *\n
Login.c(118): * Adds a 'ui-show' class to the element instead of
display:block\n
Login.c(118): * Created to allow tighter control of CSS without bulkier
directives\n
Login.c(118): *\n
Login.c(118): * @param expression {boolean} evaluated expression to determine
if the class should be ad
Login.c(118): ded\n
Login.c(118): */\n
Login.c(118): angular.module('ui.showhide',[])\n
Login.c(118): .directive('uiShow', [function () {\n
Login.c(118): return function (scope, elm, attrs) {\n
Login.c(118): scope.$watch(attrs.uiShow, function (newVal) {\n
Login.c(118): if (newVal) {\n
Login.c(118): elm.addClass('ui-show');\n
Login.c(118): } else {\n
Login.c(118): elm.removeClass('ui-show');\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }])\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * uiHide Directive\n
Login.c(118): *\n
Login.c(118): * Adds a 'ui-hide' class to the element instead of
display:block\n
Login.c(118): * Created to allow tighter control of CSS without bulkier
directives\n
Login.c(118): *\n
Login.c(118): * @param expression {boolean} evaluated expression to determine
if the class should be ad
Login.c(118): ded\n
Login.c(118): */\n
Login.c(118): .directive('uiHide', [function () {\n
Login.c(118): return function (scope, elm, attrs) {\n
Login.c(118): scope.$watch(attrs.uiHide, function (newVal) {\n
Login.c(118): if (newVal) {\n
Login.c(118): elm.addClass('ui-hide');\n
Login.c(118): } else {\n
Login.c(118): elm.removeClass('ui-hide');\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }])\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * uiToggle Directive\n
Login.c(118): *\n
Login.c(118): * Adds a class 'ui-show' if true, and a 'ui-hide' if false to
the element instead of disp
Login.c(118): lay:block/display:none\n
Login.c(118): * Created to allow tighter control of CSS without bulkier
directives. This also allows y
Login.c(118): ou to override the\n
Login.c(118): * default visibility of the element using either class.\n
Login.c(118): *\n
Login.c(118): * @param expression {boolean} evaluated expression to determine
if the class should be ad
Login.c(118): ded\n
Login.c(118): */\n
Login.c(118): .directive('uiToggle', [function () {\n
Login.c(118): return function (scope, elm, attrs) {\n
Login.c(118): scope.$watch(attrs.uiToggle, function (newVal) {\n
Login.c(118): if (newVal) {\n
Login.c(118): elm.removeClass('ui-hide').addClass('ui-show');\n
Login.c(118): } else {\n
Login.c(118): elm.removeClass('ui-show').addClass('ui-hide');\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Filters out all duplicate items from an array by checking the
specified key\n
Login.c(118): * @param [key] {string} the name of the attribute of each object
to compare for uniquenes
Login.c(118): s\n
Login.c(118): if the key is empty, the entire object will be compared\n
Login.c(118): if the key === false then no filtering will be performed\n
Login.c(118): * @return {array}\n
Login.c(118): */\n
Login.c(118): angular.module('ui.unique',[]).filter('unique', ['$parse',
function ($parse) {\n
Login.c(118): \n
Login.c(118): return function (items, filterOn) {\n
Login.c(118): \n
Login.c(118): if (filterOn === false) {\n
Login.c(118): return items;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ((filterOn || angular.isUndefined(filterOn)) &&
angular.isArray(items)) {\n
Login.c(118): var newItems = [],\n
Login.c(118): get = angular.isString(filterOn) ? $parse(filterOn) :
function (item) { return ite
Login.c(118): m; };\n
Login.c(118): \n
Login.c(118): var extractValueToCompare = function (item) {\n
Login.c(118): return angular.isObject(item) ? get(item) : item;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): angular.forEach(items, function (item) {\n
Login.c(118): var isDuplicate = false;\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < newItems.length; i++) {\n
Login.c(118): if (angular.equals(extractValueToCompare(newItems[i]),
extractValueToCompare(ite
Login.c(118): m))) {\n
Login.c(118): isDuplicate = true;\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (!isDuplicate) {\n
Login.c(118): newItems.push(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): items = newItems;\n
Login.c(118): }\n
Login.c(118): return items;\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\r\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * General-purpose validator for ngModel.\r\n
Login.c(118): * angular.js comes with several built-in validation mechanism
for input fields (ngRequire
Login.c(118): d, ngPattern etc.) but using\r\n
Login.c(118): * an arbitrary validation function requires creation of a custom
formatters and / or pars
Login.c(118): ers.\r\n
Login.c(118): * The ui-validate directive makes it easy to use any function(s)
defined in scope as a va
Login.c(118): lidator function(s).\r\n
Login.c(118): * A validator function will trigger validation on both model and
input changes.\r\n
Login.c(118): *\r\n
Login.c(118): * @example <input ui-validate=" 'myValidatorFunction($value)'
">\r\n
Login.c(118): * @example <input ui-validate="{ foo : '$value > anotherModel',
bar : 'validateFoo($value
Login.c(118): )' }">\r\n
Login.c(118): * @example <input ui-validate="{ foo : '$value >
anotherModel' }" ui-validate-watch=" 'an
Login.c(118): otherModel' ">\r\n
Login.c(118): * @example <input ui-validate="{ foo : '$value > anotherModel',
bar : 'validateFoo($value
Login.c(118): )' }" ui-validate-watch=" { foo : 'anotherModel' } ">\r\n
Login.c(118): *\r\n
Login.c(118): * @param ui-validate {string|object literal} If strings is
passed it should be a scope's
Login.c(118): function to be used as a validator.\r\n
Login.c(118): * If an object literal is passed a key denotes a validation
error key while a value shoul
Login.c(118): d be a validator function.\r\n
Login.c(118): * In both cases validator function should take a value to
validate as its argument and sh
Login.c(118): ould return true/false indicating a validation result.\r\n
Login.c(118): */\r\n
Login.c(118): angular.module('ui.validate',[]).directive('uiValidate', function
() {\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): restrict: 'A',\r\n
Login.c(118): require: 'ngModel',\r\n
Login.c(118): link: function (scope, elm, attrs, ctrl) {\r\n
Login.c(118): var validateFn, validators = {},\r\n
Login.c(118): validateExpr = scope.$eval(attrs.uiValidate);\r\n
Login.c(118): \r\n
Login.c(118): if (!validateExpr){ return;}\r\n
Login.c(118): \r\n
Login.c(118): if (angular.isString(validateExpr)) {\r\n
Login.c(118): validateExpr = { validator: validateExpr };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): angular.forEach(validateExpr, function (exprssn, key) {\r\n
Login.c(118): validateFn = function (valueToValidate) {\r\n
Login.c(118): var expression = scope.$eval(exprssn, { '$value' :
valueToValidate });\r\n
Login.c(118): if (angular.isObject(expression) &&
angular.isFunction(expression.then)) {\r\n
Login.c(118): // expression is a promise\r\n
Login.c(118): expression.then(function(){\r\n
Login.c(118): ctrl.$setValidity(key, true);\r\n
Login.c(118): }, function(){\r\n
Login.c(118): ctrl.$setValidity(key, false);\r\n
Login.c(118): });\r\n
Login.c(118): return valueToValidate;\r\n
Login.c(118): } else if (expression) {\r\n
Login.c(118): // expression is true\r\n
Login.c(118): ctrl.$setValidity(key, true);\r\n
Login.c(118): return valueToValidate;\r\n
Login.c(118): } else {\r\n
Login.c(118): // expression is false\r\n
Login.c(118): ctrl.$setValidity(key, false);\r\n
Login.c(118): return valueToValidate;\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): validators[key] = validateFn;\r\n
Login.c(118): ctrl.$formatters.push
Login.c(118): t=8274ms: 2477-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): (validateFn);\r\n
Login.c(118): ctrl.$parsers.push(validateFn);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function apply_watch(watch)\r\n
Login.c(118): {\r\n
Login.c(118): //string - update all validators on expression
change\r\n
Login.c(118): if (angular.isString(watch))\r\n
Login.c(118): {\r\n
Login.c(118): scope.$watch(watch, function(){\r\n
Login.c(118): angular.forEach(validators,
function(validatorFn){\r\n
Login.c(118): validatorFn(ctrl.$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //array - update all validators on change of any
expression\r\n
Login.c(118): if (angular.isArray(watch))\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(watch, function(expression){\r\n
Login.c(118): scope.$watch(expression, function()\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(validators,
function(validatorFn){\r\n
Login.c(118): validatorFn(ctrl.$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //object - update appropriate validator\r\n
Login.c(118): if (angular.isObject(watch))\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(watch, function(expression,
validatorKey)\r\n
Login.c(118): {\r\n
Login.c(118): //value is string - look after one
expression\r\n
Login.c(118): if (angular.isString(expression))\r\n
Login.c(118): {\r\n
Login.c(118): scope.$watch(expression, function(){\r\n
Login.c(118): validators[validatorKey](ctrl.
$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //value is array - look after all expressions
in array\r\n
Login.c(118): if (angular.isArray(expression))\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(expression,
function(intExpression)\r\n
Login.c(118): {\r\n
Login.c(118): scope.$watch(intExpression, function()
{\r\n
Login.c(118): validators[validatorKey](ctrl.
$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): // Support for ui-validate-watch\r\n
Login.c(118): if (attrs.uiValidateWatch){\r\n
Login.c(118): apply_watch( scope.$eval(attrs.uiValidateWatch) );\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): });\r\n
Login.c(118): \n
Login.c(118): angular.module('ui.utils', [\n
Login.c(118): 'ui.event',\n
Login.c(118): 'ui.format',\n
Login.c(118): 'ui.highlight',\n
Login.c(118): 'ui.include',\n
Login.c(118): 'ui.indeterminate',\n
Login.c(118): 'ui.inflector',\n
Login.c(118): 'ui.jq',\n
Login.c(118): 'ui.keypress',\n
Login.c(118): 'ui.mask',\n
Login.c(118): 'ui.reset',\n
Login.c(118): 'ui.route',\n
Login.c(118): 'ui.scrollfix',\n
Login.c(118): 'ui.scroll',\n
Login.c(118): 'ui.scroll.jqlite',\n
Login.c(118): 'ui.showhide',\n
Login.c(118): 'ui.unique',\n
Login.c(118): 'ui.validate'\n
Login.c(118): ]);\n
Login.c(118): t=8278ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"25248-1419875280000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:48:00 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=8278ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): a\r\n
Login.c(118): t=8278ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8280ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 1fa\r\n
Login.c(118): t=8280ms: 5-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 8\r\n
Login.c(118): t=8280ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=8280ms: 4620-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): t=8280ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): angular.module('templates-main', ['company-
setup/templates/additional-information.tpl.html
Login.c(118): ', 'company-setup/templates/company-help.tpl.html', 'company-
setup/templates/company-infor
Login.c(118): mation.tpl.html', 'company-setup/templates/company-
setup.tpl.html', 'company-setup/templat
Login.c(118): es/tax-authorities-chooser-item.tpl.html', 'company-
setup/templates/tax-form-chooser-item.
Login.c(118): tpl.html', 'core/templates/country-chooser-item.tpl.html',
'core/templates/error-message-p
Login.c(118): opup.tpl.html', 'core/templates/state-chooser-item.tpl.html',
'dashboard/templates/dashboa
Login.c(118): rd-help.tpl.html', 'dashboard/templates/dashboard.tpl.html',
'layout/templates/contentarea
Login.c(118): .tpl.html', 'layout/templates/navSearch.tpl.html',
'layout/templates/navigation.tpl.html',
Login.c(118): 'layout/templates/navsearch-item.tpl.html',
'layout/templates/shell.tpl.html', 'layout/te
Login.c(118): mplates/tab-header.tpl.html', 'layout/templates/user-license-
header.tpl.html', 'layout/tem
Login.c(118): plates/verdivider.tpl.html',
'login/templates/contentarea.tpl.html', 'login/templates/lice
Login.c(118): nse-chooser-item.tpl.html']);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/additional-
information.tpl.html", []).run(["$templ
Login.c(118): ateCache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/additional-
information.tpl.html",\r\n
Login.c(118): "<!-- grid --><div class=\\"row clearfix box-border\\"><label
class=serverMessage ng-c
Login.c(118): lass=\\"{'success':
company.serverStatusType}\\">{{company.serverStatus}}</label><div clas
Login.c(118): s=\\"col-md-12 column\\"><fieldset><label>Addresses:</label><div
class=\\"row clearfix\\">
Login.c(118): </div><!-- grid data binding --><div class=\\"table table-
bordered grid-view\\" grid-view=
Login.c(118): \\"\\" grid-columns=company.additionalColumnsDynamic grid-
id=address-grid grid-data=compan
Login.c(118): y.additionalDataDynamic grid-
options=company.additionalGridOptions></div></fieldset></div>
Login.c(118): </div><div class=\\"row clearfix box-border\\"><div class=\\"col-
md-6 column\\"><fieldset>
Login.c(118): <label>Contact Information (Including Tax Contact):</label><div
class=\\"row clearfix\\"><
Login.c(118): /div><!-- grid data binding --><div class=\\"table table-bordered
grid-view\\" grid-view=\\
Login.c(118): "\\" grid-columns=company.contactinfoColumnsDynamic grid-
id=contact-info-grid grid-data=co
Login.c(118): mpany.contactinfoDataDynamic grid-
options=company.contactinfoGridOptions></div></fieldset>
Login.c(118): </div><div class=\\"col-md-6
column\\"><fieldset><label></label><div class=\\"row clearfix
Login.c(118): \\"></div><!-- grid data binding --><div class=\\"table table-
bordered grid-view\\" grid-v
Login.c(118): iew=\\"\\" grid-columns=company.contactDetailColumnInfo grid-
id=contact-detail-grid grid-d
Login.c(118): ata=company.contactDetailInfo grid-
options=company.contactDetailGridOptions></div></fields
Login.c(118): et></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/company-help.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/company-
help.tpl.html",\r\n
Login.c(118): "<div class=modal-header><h3 class=modal-title>Help of
CompanySetup</h3></div><div cla
Login.c(118): ss=modal-body>This is a CompanySetup help content</div><div
class=modal-footer><button cla
Login.c(118): ss=\\"btn btn-warning\\" ng-
click=$dismiss()>Close</button></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/company-
information.tpl.html", []).run(["$template
Login.c(118): Cache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/company-
information.tpl.html",\r\n
Login.c(118): "<div class=\\"row clearfix\\"><div class=\\"col-md-12
column\\"><div class=\\"row cle
Login.c(118): arfix\\"><div class=\\"col-md-6 column\\"><div class=\\"col-md-10
column\\"><label class=s
Login.c(118): erverMessage ng-class=\\"{'success':
company.serverStatusType}\\">{{company.serverStatus}}
Login.c(118): </label><div class=form-horizontal><div class=form-group><label
for=inputEmail3 class=\\"c
Login.c(118): ol-sm-3 control-label text-left\\">{{ 'NUMBER' |
translate }}:</label><div class=col-sm-5>
Login.c(118): <input id=companyNumber name=companyNumber class=form-control
required tooltip-placement=r
Login.c(118): ight ng-model=company.form.companyNumber
tooltip={{company.getTooltip(company.form.name.co
Login.c(118): mpanyNumber)}} ng-disabled=company.disableCode ng-
maxlength=2></div><div class=col-sm-4><d
Login.c(118): iv class=checkbox><label><input type=checkbox id=companyactive
name=companyactive ng-model
Login.c(118): =company.form.companyactive>{{ 'ACTIVE' |
translate }}</label></div></div></div><div class
Login.c(118): =form-group><label for=inputPassword3 class=\\"col-sm-3 control-
label text-left\\">{{ 'NAM
Login.c(118): E' | translate }}:</label><div class=col-sm-9><input
id=companName name=companyName class=
Login.c(118): form-control required tooltip-placement=right ng-
model=company.form.companyName tooltip={{
Login.c(118):
company.getTooltip(company.form.name.companyName)}}></div></div><div class=form-
group><lab
Login.c(118): el for=inputEmail3 class=\\"col-sm-3 control-label text-
left\\">{{ 'COUNTRY' | translate }
Login.c(118): }:</label><div class=col-sm-8><div name=country chooser=\\"\\"
id-attr=id display-attr=alp
Login.c(118): ha3code auto-complete-resource=company.countryResource strict-
enabled=true ng-model=compan
Login.c(118): y.form.country model-attr=company.form.country grid-
data=company.countryGridData item-temp
Login.c(118): late=core/templates/country-chooser-item.tpl.html match-
filtering-beginning=true chooser-t
Login.c(118): ooltip=company.getTooltip(company.form.name.country)
required></div></div></div><div class
Login.c(118): =form-group><label for=inputPassword3 class=\\"col-sm-3 control-
label text-left\\">{{ 'ADD
Login.c(118): RESS' | translate }} 1:</label><div class=col-sm-9><input
id=companyAddress1 name=companyA
Login.c(118): ddress1 class=form-control required tooltip-placement=right ng-
model=company.form.companyA
Login.c(118): ddress1
tooltip={{company.getTooltip(company.form.name.companyAddress1)}} ng-change=compan
Login.c(118): y.syncWithAddInfoPage()></div></div><div class=form-group><label
for=inputEmail3 class=\\"
Login.c(118): col-sm-3 control-label text-left\\">{{ 'ADDRESS' | translate }}
2:</label><div class=col-s
Login.c(118): m-9><input class=form-control id=companyAddress2
name=companyAddress2 ng-model=company.for
Login.c(118): m.companyAddress2 ng-
change=company.syncWithAddInfoPage()></div></div><div class=form-grou
Login.c(118): p><label for=inputPassword3 class=\\"col-sm-3 control-label text-
left\\">{{ 'CITY' | trans
Login.c(118): late }}:</label><div class=col-sm-9><input id=companyCity
name=companyCity class=form-cont
Login.c(118): rol required tooltip-placement=right ng-
model=company.form.companyCity tooltip={{company.g
Login.c(118): etTooltip(company.form.name.companyCity)}} ng-
change=company.syncWithAddInfoPage()></div><
Login.c(118): /div><div class=form-group><label for=inputPassword3
class=\\"col-sm-3 control- text-left\\
Login.c(118): ">{{ 'STATE' | translate }}:</label><div class=col-sm-8><div
name=states chooser=\\"\\" id
Login.c(118): -attr=regionCode display-attr=regionCode auto-complete-
resource=company.stateResource stri
Login.c(118): ct-enabled=true ng-model=company.form.states model-
attr=company.form.states grid-data=comp
Login.c(118): any.stateGridData item-template=core/templates/state-chooser-
item.tpl.html match-filtering
Login.c(118): -beginning=true chooser-
tooltip=company.getTooltip(company.form.name.states) required ng-c
Login.c(118): hange=company.syncWithAddInfoPage() tooltip-
placement=right></div></div></div><div class=f
Login.c(118): orm-group><label for=inputPassword3 class=\\"col-sm-3 control-
label text-left\\">{{ 'ZIP_C
Login.c(118): ODE' | translate }}:</label><div class=col-sm-5><input
id=companyZipcode name=companyZipco
Login.c(118): de class=form-control required tooltip-placement=right ng-
model=company.form.companyZipcod
Login.c(118): e
tooltip={{company.getTooltip(company.form.name.companyZipcode)}} ng-
change=company.syncW
Login.c(118): ithAddInfoPage()></div></div><div class=form-group><label
for=inputPassword3 class=\\"col-
Login.c(118): sm-3 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.ATTENTION' | translate }}:</label>
Login.c(118): <div class=col-sm-5><input class=form-control id=companyAttention
name=companyAttention ng
Login.c(118): -model=company.form.companyAttention ng-
change=company.syncWithAddInfoPage()></div></div><
Login.c(118): div class=form-group><label for=inputPassword3 class=\\"col-sm-3
control-label text-left\\
Login.c(118): ">{{ 'PHONE' | translate }}#:</label><div class=col-sm-5><input
id=companyPhone name=compa
Login.c(118): nyPhone class=form-control ep-phone-formatter=\\"\\" ng-
model=company.form.companyPhone ng
Login.c(118): -change=company.syncWithAddInfoPage() ui-mask=\\"(999) 999-
9999\\" placeholder=\\"(xxx) xx
Login.c(118): x-xxxx\\"></div></div><div class=form-group><label
for=inputEmail3 class=\\"col-sm-3 contr
Login.c(118): ol-label text-left\\">{{ 'DESCRIPTION' |
translate }}:</label><div class=col-sm-9><input c
Login.c(118): lass=form-control id=companyDescription name=companyDescription
ng-model=company.form.comp
Login.c(118): anyDescription></div></div></div><!-- form-horizontal
--></div><!-- col-md-10 --></div><!
Login.c(118): -- col-md-6 column --><div class=\\"col-md-6 column tax-
info\\"><div class=\\"row clearfix
Login.c(118): box-border\\"><div class=\\"col-md-12
column\\"><fieldset><label>{{ 'PAGES.COMPANY_SETUP.
Login.c(118): TAX_INFORMATION' | translate }}:</label><div class=\\"row
clearfix box-border\\"><div clas
Login.c(118): s=\\"col-md-9 column\\"><div class=form-horizontal><div
class=form-group><label for=inputE
Login.c(118): mail3 class=\\"col-sm-5 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.TAX_AUTHORITY'
Login.c(118): | translate }}:</label><div class=col-sm-7><div chooser=\\"\\"
id-attr=authorityName displ
Login.c(118): ay-attr=authorityName auto-complete-
resource=company.authoritiesResource strict-enabled=tr
Login.c(118): ue ng-model=company.form.companyTaxauthority model-
attr=company.form.companyTaxauthority g
Login.c(118): rid-data=company.authoritiesGridData item-
template=global/templates/chooser-autocomplete-i
Login.c(118): tem-default.tpl.html match-filtering-beginning=true chooser-
tooltip=company.getTooltip(com
Login.c(118): pany.form.name.companyTaxauthority) required
name=companyTaxauthority></div></div></div><d
Login.c(118): iv class=form-group><label for=inputPassword3 class=\\"col-sm-5
control-label text-left\\"
Login.c(118): >{{ 'PAGES.COMPANY_SETUP.TAX_FORM' | translate }}:</label><div
class=col-sm-7><div chooser
Login.c(118): =\\"\\" id-attr=formName display-attr=formName auto-complete-
resource=company.taxformResou
Login.c(118): rce strict-enabled=true ng-model=company.form.companyTaxform
model-attr=company.form.compa
Login.c(118): nyTaxform grid-data=company.taxformGridData item-
template=global/templates/chooser-autocom
Login.c(118): plete-item-default.tpl.html match-filtering-beginning=true
chooser-tooltip=company.getTool
Login.c(118): tip(company.form.name.companyTaxform) required
name=companyTaxform tooltip-placement=right
Login.c(118): ></div></div></div><div class=form-group><label for=inputEmail3
class=\\"col-sm-5 control-
Login.c(118): label text-left\\">{{ 'PAGES.COMPANY_SETUP.TAX_ID_NUM' |
translate }}:</label><div class=c
Login.c(118): ol-sm-7><input class=form-control ng-
model=company.form.companyTaxidnumber id=companyTaxid
Login.c(118): number name=companyTaxidnumber tooltip-placement=right required
tooltip={{company.getToolt
Login.c(118): ip(company.form.name.companyTaxidnumber)}} ng-
minlength=9></div></div><div class=form-grou
Login.c(118): p><label for=inputPassword3 class=\\"col-sm-5 control-label text-
left\\">{{ 'PAGES.COMPANY
Login.c(118): _SETUP.DEFAULT_TCC' | translate }}:</label><div class=col-sm-
7><input class=form-control i
Login.c(118): d=companyDefaulttcc name=companyDefaulttcc ng-
model=company.form.companyDefaulttcc ng-minl
Login.c(118):
ength=5></div></div></div></div></div></fieldset><div><fieldset><!-- 1st grid
--><label>{{
Login.c(118): 'PAGES.COMPANY_SETUP.TAX_AMOUNT_ADJUSTMENT_OFFSET' |
translate }}:</label><div class=col-
Login.c(118): md-10><!-- grid data binding --><div class=\\"table table-
bordered taxInfo-grid-view\\" gr
Login.c(118): id-view=\\"\\" grid-columns=company.taxamountColumnsDynamic grid-
id=tax-amount-grid grid-d
Login.c(118): ata=company.taxamountDataDynamic grid-
options=company.taxamountGridOptions remove-focus=tr
Login.c(118): ue></div></div></fieldset></div></div></div><!-- col-md-6 column
--></div><!-- row clearfi
Login.c(118): x --></div><!-- col-md-12 column --></div><!-- row clearfix box-
border --><div class=\\"ro
Login.c(118): w clearfix box-border\\"><div class=\\"col-md-12 column box-
border icr-info-div\\"><fields
Login.c(118): et><label>{{ 'PAGES.COMPANY_SETUP.ICR_INFO' |
translate }}:</label><div class=\\"row clear
Login.c(118): fix\\"><div class=col-xs-4><div class=form-group><label
for=exampleInput1 class=\\"col-sm-
Login.c(118): 6 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.STATE_OF_INCORPORATION' | translate }
Login.c(118): }:</label><div class=col-sm-5><div
name=companyStateofincorporation chooser=\\"\\" id-attr
Login.c(118): =regionCode display-attr=regionCode auto-complete-
resource=company.stateofincorporationRes
Login.c(118): ource strict-enabled=true ng-
model=company.form.companyStateofincorporation model-attr=com
Login.c(118): pany.form.companyStateofincorporation grid-
data=company.stateGridData item-template=core/t
Login.c(118): emplates/state-chooser-item.tpl.html match-filtering-
beginning=true chooser-tooltip=compan
Login.c(118): y.getTooltip(company.form.name.companyStateofincorporation)
required tooltip-placement=rig
Login.c(118): ht></div></div></div></div><div class=col-xs-4><div class=form-
group><label for=exampleInp
Login.c(118): ut1 class=\\"col-sm-6 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.STATE_TAX_ID_NUM'
Login.c(118): | translate }}:</label><div class=col-sm-6><input class=form-
control ng-model=company.for
Login.c(118): m.companyStatetaxidnumber id=companyStatetaxidn
Login.c(118): t=8287ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): umber name=companyStatetaxidnumber tooltip-placement=right
required tooltip={{company.getT
Login.c(118):
ooltip(company.form.name.companyStatetaxidnumber)}}></div></div></div><div
class=col-xs-4>
Login.c(118): <div class=form-group><label for=exampleInput1 class=\\"col-sm-6
control-label text-right\\
Login.c(118): ">{{ 'PAGES.COMPANY_SETUP.REPORTABLE_AMOUNT' |
translate }}:</label><div class=col-sm-6><i
Login.c(118): nput class=\\"form-control ep-calc\\" ng-
model=company.form.companyReportableamountfield i
Login.c(118): d=companyReportableamountfield name=companyReportableamountfield
ep-calc-field=\\"\\" vali
Login.c(118): d-number=\\"\\" tooltip-placement=right required
tooltip={{company.getTooltip(company.form
Login.c(118):
.name.companyReportableamountfield)}}></div></div></div></div><div class=form-
group><label
Login.c(118): class=\\"col-sm-4 control-label text-
right\\">{{ 'PAGES.COMPANY_SETUP.INCOME_TO_REPORT' |
Login.c(118): translate }}:</label><div class=col-sm-8><label class=radio-
inline><input type=radio name
Login.c(118): =companyincome value=All ng-
model=company.form.companyincome>{{ 'PAGES.COMPANY_SETUP.ALL'
Login.c(118): | translate }}</label><label class=radio-inline><input type=radio
name=companyincome value
Login.c(118): =\\"NEC Only\\" ng-
model=company.form.companyincome>{{ 'PAGES.COMPANY_SETUP.NEC' | transla
Login.c(118): te }}</label></div></div></fieldset></div></div><!-- grid --><div
class=\\"row clearfix bo
Login.c(118): x-border\\"><div class=\\"col-md-12 column\\"><fieldset><label>{{
'PAGES.COMPANY_SETUP.BIL
Login.c(118): LOVER_DESC' | translate }}:</label><div class=\\"row
clearfix\\"></div><div class=col-md-6
Login.c(118): ><b>{{ 'PAGES.COMPANY_SETUP.FROM_ACCNT' |
translate }}:</b></div><div class=col-md-6><b>{{
Login.c(118): 'PAGES.COMPANY_SETUP.TO_ACCNT' | translate }}:</b></div><!--
grid data binding --><div cl
Login.c(118): ass=\\"table table-bordered grid-view\\" grid-view=\\"\\" grid-
columns=company.billoverCol
Login.c(118): umnsDynamic grid-id=billover-grid grid-
data=company.billoverDataDynamic grid-options=compa
Login.c(118):
ny.billoverGridOptions></div></fieldset></div></div><div></div><!-- error >--><div
class=r
Login.c(118): ow><div class=col-md-6 ep-err-display=\\"\\" err-
data=company.errorMsgs form-name=companyf
Login.c(118): orm></div></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/company-setup.tpl.html",
[]).run(["$templateCache"
Login.c(118): , function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/company-
setup.tpl.html",\r\n
Login.c(118): "<div data-ng-controller=\\"CompanySetupCtrl as
company\\"><div ep-action-button-conta
Login.c(118): iner=\\"\\"></div><div id=myTabHeader ep-tab-header=\\"\\"
custom-tabs=company.tabs></div>
Login.c(118): <form class=form-horizontal id=companyform ng-
class=\\"{'submitted': company.formSubmitted
Login.c(118): , 'edited':company.disableCode}\\" name=company.form.name ng-
submit=company.form.submit(co
Login.c(118): mpanyform)><div id=myTabContent data-ui-view=\\"\\" class=tab-
content></div></form></div>"
Login.c(118): );\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/tax-authorities-chooser-
item.tpl.html", []).run(["
Login.c(118): $templateCache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/tax-authorities-
chooser-item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.authorityName | t
Login.c(118): ypeaheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.authorityDescripti
Login.c(118): on></span> | <span bind-html-
unsafe=match.model.countryDescription></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/tax-form-chooser-
item.tpl.html", []).run(["$templa
Login.c(118): teCache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/tax-form-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.formName | typeah
Login.c(118): eadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.countryDescription></sp
Login.c(118): an> | <span bind-html-
unsafe=match.model.authorityName></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("core/templates/country-chooser-item.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("core/templates/country-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.alpha3code | type
Login.c(118): aheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.name span=\\"\\"></sp
Login.c(118): an></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("core/templates/error-message-popup.tpl.html",
[]).run(["$templateCache", f
Login.c(118): unction($templateCache) {\r\n
Login.c(118): $templateCache.put("core/templates/error-message-
popup.tpl.html",\r\n
Login.c(118): "<div class=modal-header><h3 class=modal-
title>{{type}}</h3></div><div class=modal-bod
Login.c(118): y><h1>{{message}}</h1></div><div class=modal-footer></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("core/templates/state-chooser-item.tpl.html",
[]).run(["$templateCache", fu
Login.c(118): nction($templateCache) {\r\n
Login.c(118): $templateCache.put("core/templates/state-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.regionCode | type
Login.c(118): aheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.regionName span=\\"\\
Login.c(118): "></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("dashboard/templates/dashboard-help.tpl.html",
[]).run(["$templateCache", f
Login.c(118): unction($templateCache) {\r\n
Login.c(118): $templateCache.put("dashboard/templates/dashboard-
help.tpl.html",\r\n
Login.c(118): "<div class=modal-header><h3 class=modal-title>Help of
Dashboard</h3></div><div class=
Login.c(118): modal-body>This is a dashboard help content</div><div
class=modal-footer><button class=\\"
Login.c(118): btn btn-warning\\" ng-click=$dismiss()>OK</button></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("dashboard/templates/dashboard.tpl.html",
[]).run(["$templateCache", functi
Login.c(118): on($templateCache) {\r\n
Login.c(118):
$templateCache.put("dashboard/templates/dashboard.tpl.html",\r\n
Login.c(118): "<div data-ng-controller=\\"DashboardCtrl as
dashboard\\"><div class=jumbotron><h2>Wel
Login.c(118): come</h2><p>This is the Home page.</p></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/contentarea.tpl.html",
[]).run(["$templateCache", functio
Login.c(118): n($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/contentarea.tpl.html",\r\n
Login.c(118): "<div class=\\"container-fluid content-subtext\\" clip-board-
manager=\\"\\"><div class
Login.c(118): =row><div ep-tab-header=\\"\\" custom-
tabs=shell.tabs></div></div><div class=row><div clas
Login.c(118): s=content-area-outline data-ui-view=\\"\\"></div></div><div
vertical-divider=\\"\\"></div>
Login.c(118): </div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/navSearch.tpl.html",
[]).run(["$templateCache", function(
Login.c(118): $templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/navSearch.tpl.html",\r\n
Login.c(118): "<div class=form-group><div class=col-sm-12><input
placeholder=Search ng-model=selecte
Login.c(118): d typeahead-on-select=\\"onSelect({item: $item, group:
sectionNames, navigations: navItems
Login.c(118): }); clearItem();\\" typeahead=\\"item as item.name for item in
sectionNames | filter:$view
Login.c(118): Value | limitTo:8\\" typeahead-template-
url=layout/templates/navsearch-item.tpl.html class
Login.c(118): =form-control></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/navigation.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/navigation.tpl.html",\r\n
Login.c(118): "<ul class=nav id=side-menu><li><accordion class=\\"nav
navbar-nav side-nav\\" close-o
Login.c(118): thers=navigation.oneAtATime><accordion-group
heading={{group.tabname}} ng-repeat=\\"group
Login.c(118): in navigation.navigations\\" is-open=group.open><ul class=list-
group><li ng-repeat=\\"sub
Login.c(118): in group.subtabs\\"><a href=\\"\\" ng-
click=\\"shell.addTabs(sub,group, navigation.navigat
Login.c(118): ions)\\" class=list-group-
item>{{sub.name}}</a></li></ul></accordion-group></accordion></l
Login.c(118): i><li class=sidebar-search><div id=searchBox nav-search=\\"\\"
on-select=\\"shell.addTabs(
Login.c(118): item, gruop, navigations)\\" nav-
items=navigation.navigations></div><!-- /input-group --><
Login.c(118): /li></ul><!-- \\n" +\r\n
Login.c(118): "<div id=\\"searchBox\\" nav-search=\\"\\" on-
select=\\"shell.addTabs(item, gruop, na
Login.c(118): vigations)\\" nav-items=\\"navigation.navigations\\"></div>
-->");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/navsearch-item.tpl.html",
[]).run(["$templateCache", func
Login.c(118): tion($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/navsearch-
item.tpl.html",\r\n
Login.c(118): "<a href=\\"\\" class=\\"list-group-item
autoCompTextHighlite\\"><span bind-html-unsaf
Login.c(118): e=\\"match.label | typeaheadHighlight:query\\"></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/shell.tpl.html",
[]).run(["$templateCache", function($tem
Login.c(118): plateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/shell.tpl.html",\r\n
Login.c(118): "<nav class=\\"navbar navbar-default navbar-static-top
topHeader\\" role=navigation><d
Login.c(118): iv class=navbar-header><button type=button class=navbar-toggle
data-toggle=collapse data-t
Login.c(118): arget=.navbar-collapse><span class=sr-only>Toggle
navigation</span> <span class=icon-bar><
Login.c(118): /span> <span class=icon-bar></span> <span class=icon-
bar></span></button> <a class=navbar-
Login.c(118): brand id=logo href=\\"\\">Vista 5</a></div><!-- /.navbar-header
--><ul class=\\"nav navbar
Login.c(118): -top-links navbar-right\\"><!-- /.dropdown --><li
class=dropdown><a class=dropdown-toggle
Login.c(118): href=#><div user-license-header=\\"\\" class=username></div><i
class=\\"fa fa-caret-down\\
Login.c(118): "></i></a><ul class=\\"dropdown-menu dropdown-user\\"><li><a
href=\\"\\" ng-click=shell.lo
Login.c(118): gOff()><i class=\\"fa fa-sign-out fa-fw\\"></i>
Logout</a></li></ul><!-- /.dropdown-user -
Login.c(118): -></li><!-- /.dropdown --></ul><!-- /.navbar-top-links --><div
class=\\"navbar-default sid
Login.c(118): ebar\\" role=navigation><div class=\\"sidebar-nav navbar-
collapse\\"><div id=navLeftSideba
Login.c(118): r class=\\"col-md-2 sidebar\\" role=navigation data-ng-
controller=\\"NavigationCtrl as nav
Login.c(118): igation\\" data-ng-
include=\\"'layout/templates/navigation.tpl.html'\\"></div></div><!-- /
Login.c(118): .sidebar-collapse --></div><!-- /.navbar-static-side
--></nav><div id=page-wrapper class=\\
Login.c(118): "col-md-offset-2 col-md-10\\"><div class=\\"row content-area-
outer\\"><div class=col-lg-12
Login.c(118): ><div id=deskRightContent class=main data-ng-
controller=\\"ContentAreaCtrl as contentarea\\
Login.c(118): " data-ng-
include=\\"'layout/templates/contentarea.tpl.html'\\"></div></div><!-- /.col-lg-
Login.c(118): 12 --></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/tab-header.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/tab-header.tpl.html",\r\n
Login.c(118): "<ul class=\\"nav nav-tabs nav-tabs-hover\\" role=tablist
id=sortableTabs><li ui-sref-
Login.c(118): active=active ng-repeat=\\"tab in customTabs\\"><a ng-
if=tab.subModule ui-sref=\\"module.s
Login.c(118): ubmodule({moduleId: '{{tab.module}}', subModuleId:
'{{tab.subModule}}', subModuleName: '{{
Login.c(118): tab.name}}', pageId: '{{tab.pageId}}' })\\"
translate={{tab.name}}></a> <span ng-if=!tab.s
Login.c(118): ubModule ng-click=removeTab(tab,$index)><i class=\\"fa fa-times-
circle\\"></i></span> <a n
Login.c(118): g-if=!tab.subModule ui-sref=\\"module({moduleId:
'{{tab.module}}', moduleName: '{{tab.name
Login.c(118): }}' , pageId: '{{tab.pageId}}' })\\"
translate={{tab.name}}></a></li></ul><!-- <i class=\\
Login.c(118): "fa fa-times-circle\\"></i>\\n" +\r\n
Login.c(118): "class='ui-icon-circle-close ui-icon ui-closable-tab'
-->");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/user-license-header.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/user-license-
header.tpl.html",\r\n
Login.c(118):
"<span>{{userDetails.username}}@{{userDetails.license}}</span>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/verdivider.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/verdivider.tpl.html",\r\n
Login.c(118): "<div id=dividerContainerDiv><i class=\\"fa fa-pause\\"
id=dividerGraphic></i></div>")
Login.c(118): ;\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("login/templates/contentarea.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("login/templates/contentarea.tpl.html",\r\n
Login.c(118): "<div data-ng-controller=\\"LoginCtrl as loginarea\\"><div
class=container-fluid><div>
Login.c(118): <form novalidate class=form-signin role=form name=loginform
id=loginform ng-submit=loginar
Login.c(118): ea.form.submit(loginform)><div class=error-container><div
class=error ng-show=\\"loginform
Login.c(118): .license.$invalid && loginarea.form.submitted\\"><small
class=error ng-show=loginform.lice
Login.c(118): nse.$error.required>License should not be
blank</small></div></div><div class=error ng-sho
Login.c(118): w=loginarea.authenticaionFailed><small
class=error>{{loginarea.authenticationFailureMsg}}<
Login.c(118): /small></div><h3 class=form-signin-heading>EP - VISTA 5</h3><p
class=eplogin>License</p><d
Login.c(118): iv class=col-md-11><div name=license ng-disabled=!
loginarea.authenticated is-disbled=!logi
Login.c(118): narea.authenticated ep-focus-me=loginarea.authenticated
chooser=\\"\\" id-attr=id display-
Login.c(118): attr=licenseCode auto-complete-resource=loginarea.licenseResource
strict-enabled=true ng-m
Login.c(118): odel=loginarea.form.license model-attr=loginarea.form.license
grid-data=loginarea.gridData
Login.c(118): item-template=login/templates/license-chooser-item.tpl.html
match-filtering-beginning=tru
Login.c(118): e required></div></div><br><br><br><div class=col-md-11><div
class=action-btns><button ng-
Login.c(118): disabled=!loginarea.authenticated
Login.c(118): t=8296ms: 672-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): class=\\"btn btn-lg btn-primary\\" type=submit>Log
In</button></div></div></form></div><di
Login.c(118): v class=\\"modal fade in\\" id=oAuthModal ng-
style=loginarea.modalStyle tabindex=-1 role=d
Login.c(118): ialog><div class=\\"modal-backdrop fade in\\" style=\\"height:
100%\\"></div></div></div><
Login.c(118): /div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("login/templates/license-chooser-item.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("login/templates/license-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.licenseCode | typ
Login.c(118): eaheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.description span=\\"
Login.c(118): \\"></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): t=8297ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/app.js" (RelFrameId=, Internal ID=48)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"62141-1419875274000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:47:54 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 62141\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=8298ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/app.js" (RelFrameId=, Internal ID=48)
Login.c(118): angular.module('app.core',[\n
Login.c(118): 'pascalprecht.translate',\n
Login.c(118): 'ui.router',\n
Login.c(118): 'templates-global',\n
Login.c(118): 'templates-main',\n
Login.c(118): 'angular-data.DS',\n
Login.c(118): 'angular-data.DSCacheFactory',\n
Login.c(118): 'ui.bootstrap',\n
Login.c(118): 'ngStorage',\n
Login.c(118): 'angularOauth',\n
Login.c(118): 'ui.utils',\n
Login.c(118): 'config'\n
Login.c(118): ]);\r\n
Login.c(118): angular.module('app.layout.controllers',[]);\n
Login.c(118): angular.module('app.layout.services',[]);\n
Login.c(118): angular.module('app.layout',['app.layout.services',\n
Login.c(118): \t'app.layout.controllers']);\n
Login.c(118): \r\n
Login.c(118): angular.module('app.company-setup.controllers',[]);\r\n
Login.c(118): angular.module('app.company-setup.services',[]);\r\n
Login.c(118): angular.module('app.company-setup',[\r\n
Login.c(118): \t'app.company-setup.controllers', \r\n
Login.c(118): \t'app.company-setup.services'\r\n
Login.c(118): \t]);\r\n
Login.c(118): angular.module('app.dashboard.controllers',[]);\n
Login.c(118): angular.module('app.dashboard.services',[]);\n
Login.c(118): \n
Login.c(118): angular.module('app.dashboard',[\n
Login.c(118): \t'app.dashboard.controllers',\n
Login.c(118): \t'app.dashboard.services'\n
Login.c(118): ]);\r\n
Login.c(118): var app = angular.module('app', [\n
Login.c(118): 'app.core',\n
Login.c(118): 'app.layout',\n
Login.c(118): 'app.global',\n
Login.c(118): 'app.company-setup',\n
Login.c(118): 'app.dashboard',\n
Login.c(118): 'slickgrid'\n
Login.c(118): ]);\r\n
Login.c(118): angular.module('app.company-setup')\r\n
Login.c(118): .controller('CompanySetupCtrl', ['$scope','$rootScope',
'EPConstant','$stateParams','$mo
Login.c(118): dal','$timeout','$state', '$http','$q', 'CommonRepository',
'CompanySetupRepository','Choo
Login.c(118): serPopupUtility', 'ENV',\r\n
Login.c(118): function ($scope,$rootScope, EPConstant,$stateParams,$modal,
$timeout,$state,$http,$q, Co
Login.c(118): mmonRepository,CompanySetupRepository,ChooserPopupUtility, ENV)
{\r\n
Login.c(118): var vm = this;\r\n
Login.c(118): \r\n
Login.c(118): /***************************/\r\n
Login.c(118): vm.countries=[];\r\n
Login.c(118): \r\n
Login.c(118): vm.restReqObj = {};\r\n
Login.c(118): vm.getAllCompanies=CompanySetupRepository.getAllCompanies;\r\n
Login.c(118): vm.countryResource = CommonRepository.Country;\r\n
Login.c(118): vm.stateResource = CommonRepository.State;\r\n
Login.c(118): vm.stateofincorporationResource = CommonRepository.State;\r\n
Login.c(118): \r\n
Login.c(118): vm.authoritiesResource=CommonRepository.Authorities;\r\n
Login.c(118): vm.taxformResource=CommonRepository.Taxform;\r\n
Login.c(118): vm.form={\r\n
Login.c(118): name: 'companyform'\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.countryGridData = {\r\n
Login.c(118): columns: [{name: 'alpha3code', display: 'Country Code'}, {name:
'name', display: 'Countr
Login.c(118): y Name'}]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.stateGridData = {\r\n
Login.c(118): columns: [{name: 'regionCode', display: 'Region Code',
defaultSort: true}, {name: 'regio
Login.c(118): nName', display: 'Region Name'}]\r\n
Login.c(118): };\r\n
Login.c(118): vm.authoritiesGridData = {\r\n
Login.c(118): columns: [{name: 'authorityName', display: 'Tax Authority'},
{name: 'authorityDescriptio
Login.c(118): n', display: 'Description'},{name: 'countryDescription', display:
'Country Code'}]\r\n
Login.c(118): };\r\n
Login.c(118): vm.taxformGridData={\r\n
Login.c(118): columns: [{name: 'formName', display: 'Tax Form'}, {name:
'countryDescription', displa
Login.c(118): y: 'Country Code'},{name: 'authorityName', display: 'Tax
Authority'}]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.contactDetTypeGridData={\r\n
Login.c(118): columns: [{name: 'name', display: 'Detail Type'}]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.serverStatus = "";\r\n
Login.c(118): vm.disableCode = false;\r\n
Login.c(118): /**** Timer vars to clear once timeout called ****/\r\n
Login.c(118): var saveTimer;\r\n
Login.c(118): var errStatusTimer;\r\n
Login.c(118): \r\n
Login.c(118): /***********Save form****************/\r\n
Login.c(118): \r\n
Login.c(118): function constructReqObj(){\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var IcrInfoDTO = [{\r\n
Login.c(118): //id: null,\r\n
Login.c(118): stateOfRegistration:
vm.form.companyStateofincorporation || "CA" ,\r\n
Login.c(118): stateTaxId: vm.form.companyStatetaxidnumber ||
"",\r\n
Login.c(118): reportableAmount:
vm.form.companyReportableamountfield || "0",\r\n
Login.c(118): incomeToReport: vm.form.companyincome || "All",\r\n
Login.c(118): //companyId: null,\r\n
Login.c(118): currencyId: "25"\r\n
Login.c(118): }];\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var AddressDTO = (function(){\r\n
Login.c(118): var AddressDTOInfoArr=[];\r\n
Login.c(118): for(var i=0;i<vm.additionalDataDynamic.length;i++){\r\n
Login.c(118): var gridItem = vm.additionalDataDynamic[i];\r\n
Login.c(118): //var isDefaultItem = i===0? true : false;\r\n
Login.c(118): var infoItem = {\r\n
Login.c(118): attention: gridItem.attention || null,\r\n
Login.c(118): addressLine1: gridItem.addressLine1 || "",\r\n
Login.c(118): addressLine2: gridItem.addressLine2 ||
null,\r\n
Login.c(118): city: gridItem.city || "",\r\n
Login.c(118): regionId: 5,\r\n
Login.c(118): regionCode: gridItem.regionCode || "CA", \r\n
Login.c(118): postalCode: gridItem.postalCode || "",\r\n
Login.c(118): countryId: vm.form.country, \r\n
Login.c(118): isDefault: gridItem.isDefault,\r\n
Login.c(118): lineNumber: i+1,\r\n
Login.c(118): phoneNumber: gridItem.phoneNumber || null,\r\n
Login.c(118): payeeName: "",\r\n
Login.c(118): isDisabled: false\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): AddressDTOInfoArr.push(infoItem);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return AddressDTOInfoArr;\r\n
Login.c(118): })();\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var contactDetailDTO = (function(){\r\n
Login.c(118): var contactDetDtoInfoArr=[];\r\n
Login.c(118): for(var i=0;i<vm.contactDetailInfo.length;i++){\r\n
Login.c(118): var gridItem = vm.contactDetailInfo[i];\r\n
Login.c(118): \r\n
Login.c(118): var infoItem = {\r\n
Login.c(118): contactType: (gridItem.contactType) ?
String(gridItem.contactType).toUpp
Login.c(118): erCase() : "MOBILE",\r\n
Login.c(118): detail: gridItem.detail || "",\r\n
Login.c(118): description: "description",\r\n
Login.c(118): lineNumber: i+1,\r\n
Login.c(118): isDefault: gridItem.isDefault // i===0? true :
false, \r\n
Login.c(118): };\r\n
Login.c(118): contactDetDtoInfoArr.push(infoItem);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return contactDetDtoInfoArr;\r\n
Login.c(118): })();\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var ContactDTO = (function(){\r\n
Login.c(118): var contactDtoInfo=[];\r\n
Login.c(118): for(var i=0;i<vm.contactinfoDataDynamic.length;i++)
{\r\n
Login.c(118): var gridItem = vm.contactinfoDataDynamic[i];\r\n
Login.c(118): \r\n
Login.c(118): var infoItem = {\r\n
Login.c(118): contactName: gridItem.contactName ||
"Name",\r\n
Login.c(118): comments: gridItem.comments || null,\r\n
Login.c(118): contactDetailDTO: contactDetailDTO,\r\n
Login.c(118): isDefault: gridItem.isDefault, //i===0? true :
false, \r\n
Login.c(118): lineNumber: i+1,\r\n
Login.c(118): };\r\n
Login.c(118): contactDtoInfo.push(infoItem);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return contactDtoInfo;\r\n
Login.c(118): })();\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var taxInfoDTO = {\r\n
Login.c(118): //"id": null,\r\n
Login.c(118): taxId: vm.form.companyTaxidnumber,\r\n
Login.c(118): taxFormId: "1" ,\r\n
Login.c(118): taxFormName: vm.form.companyTaxform,\r\n
Login.c(118): taxContactDTO: [\r\n
Login.c(118): { \r\n
Login.c(118): // "id": null,\r\n
Login.c(118): personName: "",\r\n
Login.c(118): phoneNumber: "",\r\n
Login.c(118): emailAddress: "sample@xxxxxx.com",\r\n
Login.c(118): companyTaxInfoId: 20\r\n
Login.c(118): }\r\n
Login.c(118): ]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.restReqObj = {\r\n
Login.c(118): \r\n
Login.c(118): // "id": null,\r\n
Login.c(118): code: vm.form.companyNumber,\r\n
Login.c(118): active: vm.form.companyactive,\r\n
Login.c(118): name: vm.form.companyName,\r\n
Login.c(118): description: vm.form.companyDescription || null,\r\n
Login.c(118): comments: "comments",\r\n
Login.c(118): partConfigId: "11",\r\n
Login.c(118): defaultTccCode: vm.form.companyDefaulttcc || null,\r\n
Login.c(118): icrInfoDTO: IcrInfoDTO,\r\n
Login.c(118): addressDTO: AddressDTO,\r\n
Login.c(118): contactDTO: ContactDTO ,\r\n
Login.c(118): taxInfoDTO: taxInfoDTO,\r\n
Login.c(118): breakLevel: 1,\r\n
Login.c(118): isBreakLevelUpdatedByUser: false,\r\n
Login.c(118): isCompanyBillover: false,\r\n
Login.c(118): //"license": null,\r\n
Login.c(118): // "user": null,\r\n
Login.c(118): // "billoverInfo": null\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /***************************/\r\n
Login.c(118): vm.tabs = [\r\n
Login.c(118): {\r\n
Login.c(118): name: 'Company Information',\r\n
Login.c(118): module: 'company-setup',\r\n
Login.c(118): subModule: 'company-information',\r\n
Login.c(118): pageId: $stateParams.pageId\r\n
Login.c(118): },\r\n
Login.c(118): {\r\n
Login.c(118): name: 'Add'l Information',\r\n
Login.c(118): module: 'company-setup',\r\n
Login.c(118): subModule: 'additional-information',\r\n
Login.c(118): pageId: $stateParams.pageId\r\n
Login.c(118): }];\r\n
Login.c(118): vm.errorMsgs=[];\r\n
Login.c(118): vm.formSubmitted= false;\r\n
Login.c(118): \r\n
Login.c(118): vm.form.companyactive=true;\r\n
Login.c(118): vm.form.companyincome="All";\r\n
Login.c(118): \r\n
Login.c(118): $scope.$on(EPConstant.Message.SearchTriggered, function()
{\r\n
Login.c(118): var options= { \r\n
Login.c(118): displayAttr: 'name',\r\n
Login.c(118): idAttr: 'code',\r\n
Login.c(118): multiSelect: false\r\n
Login.c(118): };\r\n
Login.c(118): vm.companySearchData=[];\r\n
Login.c(118): \r\n
Login.c(118): var searchResource =vm.getAllCompanies.findAll({},
{bypassCache: true});
Login.c(118): \r\n
Login.c(118): searchResource.then(function(searchdata){\r\n
Login.c(118): vm.companySearchData=searchdata;\r\n
Login.c(118): });\r\n
Login.c(118): var searchColumns = {columns: [{name: 'code',
display: 'Company Number', defau
Login.c(118): ltSort: true},{name: 'name', display: 'Company Name'}]};\r\n
Login.c(118): \r\n
Login.c(118): var modalInstance=
ChooserPopupUtility.openModal(searchResource, searchColumns,
Login.c(118): options);\r\n
Login.c(118): modalInstance.result.then(function(){\r\n
Login.c(118): var selectedItem
=vm.companySearchData.filter(function(item){\r\n
Login.c(118): return item.selected === true;\r\n
Login.c(118): });\r\n
Login.c(118): vm.selectedItem = selectedItem[0];\r\n
Login.c(118): delete vm.selectedItem.selected;\r\n
Login.c(118): vm.disableCode=true;\r\n
Login.c(118): vm.form.companyId=vm.selectedItem.id;\r\n
Login.c(118): vm.form.companyNumber=vm.selectedItem.code;\r\n
Login.c(118): vm.form.companyName=vm.selectedItem.name;\r\n
Login.c(118): vm.form.companyact
Login.c(118): t=8309ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/app.js" (RelFrameId=, Internal ID=48)
Login.c(118): ive=vm.selectedItem.active==='true'? true: false;\r\n
Login.c(118):
vm.form.country=vm.selectedItem.addressDTO[0].countryId;\r\n
Login.c(118):
vm.form.companyAddress1=vm.selectedItem.addressDTO[0].addressLine1;\r\n
Login.c(118):
vm.form.companyAddress2=vm.selectedItem.addressDTO[0].addressLine2;\r\n
Login.c(118):
vm.form.companyCity=vm.selectedItem.addressDTO[0].city;\r\n
Login.c(118): vm.form.states =
vm.selectedItem.addressDTO[0].regionCode;\r\n
Login.c(118):
vm.form.companyZipcode=vm.selectedItem.addressDTO[0].postalCode;\r\n
Login.c(118):
vm.form.companyAttention=vm.selectedItem.addressDTO[0].attention;\r\n
Login.c(118):
vm.form.companyPhone=vm.selectedItem.addressDTO[0].phoneNumber;\r\n
Login.c(118):
vm.form.companyDescription=vm.selectedItem.description;\r\n
Login.c(118):
vm.form.companyStateofincorporation=vm.selectedItem.icrInfoDTO[0].stateOfRegis
Login.c(118): tration;\r\n
Login.c(118):
vm.form.companyReportableamountfield=vm.selectedItem.icrInfoDTO[0].reportableA
Login.c(118): mount;\r\n
Login.c(118):
vm.form.companyStatetaxidnumber=vm.selectedItem.icrInfoDTO[0].stateTaxId;\r\n
Login.c(118): vm.form.companyincome =
vm.selectedItem.icrInfoDTO[0].incomeToReport;\r\n
Login.c(118): \r\n
Login.c(118): vm.form.companyTaxform=
"IRS";//vm.selectedItem[0].taxInfoDTO.taxFormId;\r\n
Login.c(118): vm.form.companyTaxauthority = "IRS";
//selectedItem.taxInfoDTO.authorityName
Login.c(118): \r\n
Login.c(118): vm.form.companyTaxidnumber =
vm.selectedItem.taxInfoDTO.taxId ;\r\n
Login.c(118): \r\n
Login.c(118): vm.form.companyDefaulttcc =
vm.selectedItem.defaultTccCode;\r\n
Login.c(118): \r\n
Login.c(118): //*** code to get data for additional info page grids
********\r\n
Login.c(118): \r\n
Login.c(118): vm.additionalDataDynamic =
vm.selectedItem.addressDTO;\r\n
Login.c(118): if(vm.selectedItem.contactDTO[0]){\r\n
Login.c(118): vm.contactDetailInfo =
vm.selectedItem.contactDTO[0].contactDetailDTO; \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): vm.contactinfoDataDynamic =
vm.selectedItem.contactDTO;\r\n
Login.c(118): \r\n
Login.c(118): vm.serverStatus = '';\r\n
Login.c(118): \r\n
Login.c(118): if(vm.form.companyId){\r\n
Login.c(118): vm.disableCode = true;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): vm.disableCode = false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): $scope.$on(EPConstant.Message.ResetTriggered, function()
{\r\n
Login.c(118): resetCompany();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $scope.$on(EPConstant.Message.ClearTriggered, function()
{\r\n
Login.c(118): clear();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $scope.$on(EPConstant.Message.DeleteTriggered, function()
{\r\n
Logi