aurora git commit: Reload instance page when URL changes.
Repository: aurora Updated Branches: refs/heads/master 2507e6f59 -> 5201cf16a Reload instance page when URL changes. Reviewed at https://reviews.apache.org/r/63221/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/5201cf16 Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/5201cf16 Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/5201cf16 Branch: refs/heads/master Commit: 5201cf16a7a29799664e4baaf741233ff59edec7 Parents: 2507e6f Author: Reza MotamediAuthored: Wed Oct 25 15:30:37 2017 -0700 Committer: David McLaughlin Committed: Wed Oct 25 15:30:37 2017 -0700 -- ui/package.json | 2 +- ui/src/main/js/pages/Instance.js| 21 +++-- ui/src/main/js/pages/__tests__/Instance-test.js | 47 3 files changed, 66 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/aurora/blob/5201cf16/ui/package.json -- diff --git a/ui/package.json b/ui/package.json index 0651fc7..634d0f7 100644 --- a/ui/package.json +++ b/ui/package.json @@ -5,6 +5,7 @@ "main": "index.js", "dependencies": { "bootstrap": "^3.3.7", +"deep-equal": "^1.0.1", "diff": "^3.4.0", "es6-shim": "^0.35.3", "moment": "^2.18.1", @@ -23,7 +24,6 @@ "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "css-loader": "^0.28.5", -"deep-equal": "^1.0.1", "enzyme": "^3.0.0", "enzyme-adapter-react-16": "^1.0.0", "eslint": "^4.4.1", http://git-wip-us.apache.org/repos/asf/aurora/blob/5201cf16/ui/src/main/js/pages/Instance.js -- diff --git a/ui/src/main/js/pages/Instance.js b/ui/src/main/js/pages/Instance.js index 4b85545..2979b3c 100644 --- a/ui/src/main/js/pages/Instance.js +++ b/ui/src/main/js/pages/Instance.js @@ -1,4 +1,5 @@ import React from 'react'; +import deepEqual from 'deep-equal'; import Breadcrumb from 'components/Breadcrumb'; import InstanceHistory from 'components/InstanceHistory'; @@ -8,13 +9,16 @@ import TaskStatus from 'components/TaskStatus'; import { isActive } from 'utils/Task'; export default class Instance extends React.Component { + getInitialState() { +return {cluster: '', tasks: [], loading: true}; + } + constructor(props) { super(props); -this.state = {cluster: '', tasks: [], loading: true, loadingNeighbors: true}; +this.state = this.getInitialState(); } - componentWillMount(props) { -const { role, environment, name, instance } = this.props.match.params; + fetchTask(role, environment, name, instance) { const query = new TaskQuery(); query.role = role; query.environment = environment; @@ -31,6 +35,11 @@ export default class Instance extends React.Component { }); } + componentWillMount(props) { +const { role, environment, name, instance } = this.props.match.params; +this.fetchTask(role, environment, name, instance); + } + componentWillUpdate(nextProps, nextState) { if (this.state.loading && !nextState.loading) { const activeTask = nextState.tasks.find(isActive); @@ -49,6 +58,12 @@ export default class Instance extends React.Component { }); }); } + +if (!deepEqual(this.props.match.params, nextProps.match.params)) { + const { role, environment, name, instance } = nextProps.match.params; + this.setState(this.getInitialState()); + this.fetchTask(role, environment, name, instance); +} } render() { http://git-wip-us.apache.org/repos/asf/aurora/blob/5201cf16/ui/src/main/js/pages/__tests__/Instance-test.js -- diff --git a/ui/src/main/js/pages/__tests__/Instance-test.js b/ui/src/main/js/pages/__tests__/Instance-test.js index 2395e2e..1a8cd7b 100644 --- a/ui/src/main/js/pages/__tests__/Instance-test.js +++ b/ui/src/main/js/pages/__tests__/Instance-test.js @@ -17,6 +17,13 @@ const params = { instance: '1' }; +const differentParams = { + role: 'test-role', + environment: 'test-env', + name: 'test-job', + instance: '2' +}; + function createMockApi(tasks) { const api = {}; api.getTasksWithoutConfigs = (query, handler) => handler({ @@ -40,6 +47,16 @@ const tasks = [{ status: ScheduleStatus.KILLED }]; +function apiSpy() { + return { +getTasksWithoutConfigs: jest.fn(), +getPendingReason: jest.fn(), +getConfigSummary: jest.fn(), +getJobUpdateDetails: jest.fn(), +getJobSummary: jest.fn() + }; +} + describe('Instance', () => { it('Should render Loading before data is fetched', () => { expect(shallow( {
[14/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/lib/angular/angular.min.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/lib/angular/angular.min.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/lib/angular/angular.min.js deleted file mode 100644 index 07b6249..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/lib/angular/angular.min.js +++ /dev/null @@ -1,3772 +0,0 @@ -/* - AngularJS v1.0.6 - (c) 2010-2012 Google, Inc. http://angularjs.org - License: MIT - */ -(function (N, Y, q) { -'use strict'; -function n(b, a, c) { -var d; -if (b)if (H(b))for (d in b)d != "prototype" && d != "length" && d != "name" && b.hasOwnProperty(d) && a.call(c, b[d], d); else if (b.forEach && b.forEach !== n)b.forEach(a, c); else if (!b || typeof b.length !== "number" ? 0 : typeof b.hasOwnProperty != "function" && typeof b.constructor != "function" || b instanceof K || ca && b instanceof ca || xa.call(b) !== "[object Object]" || typeof b.callee === "function")for (d = 0; d < b.length; d++)a.call(c, b[d], d); else for (d in b)b.hasOwnProperty(d) && a.call(c, b[d], -d); -return b -} - -function nb(b) { -var a = [], c; -for (c in b)b.hasOwnProperty(c) && a.push(c); -return a.sort() -} - -function fc(b, a, c) { -for (var d = nb(b), e = 0; e < d.length; e++)a.call(c, b[d[e]], d[e]); -return d -} - -function ob(b) { -return function (a, c) { -b(c, a) -} -} - -function ya() { -for (var b = aa.length, a; b;) { -b--; -a = aa[b].charCodeAt(0); -if (a == 57)return aa[b] = "A", aa.join(""); -if (a == 90)aa[b] = "0"; else return aa[b] = String.fromCharCode(a + 1), aa.join("") -} -aa.unshift("0"); -return aa.join("") -} - -function v(b) { -n(arguments, function (a) { -a !== b && n(a, function (a, d) { -b[d] = -a -}) -}); -return b -} - -function G(b) { -return parseInt(b, 10) -} - -function za(b, a) { -return v(new (v(function () { -}, {prototype: b})), a) -} - -function w() { -} - -function na(b) { -return b -} - -function I(b) { -return function () { -return b -} -} - -function x(b) { -return typeof b == "undefined" -} - -function y(b) { -return typeof b != "undefined" -} - -function L(b) { -return b != null && typeof b == "object" -} - -function B(b) { -return typeof b == "string" -} - -function Ra(b) { -return typeof b == "number" -} - -function oa(b) { -return xa.apply(b) == "[object Date]" -} - -function E(b) { -return xa.apply(b) == "[object Array]" -} - -function H(b) { -return typeof b == "function" -} - -function pa(b) { -return b && b.document && b.location && b.alert && b.setInterval -} - -function O(b) { -return B(b) ? b.replace(/^\s*/, "").replace(/\s*$/, "") : b -} - -function gc(b) { -return b && (b.nodeName || b.bind && b.find) -} - -function Sa(b, a, c) { -var d = []; -n(b, function (b, g, h) { -d.push(a.call(c, b, g, h)) -}); -return d -} - -function Aa(b, a) { -if (b.indexOf)return b.indexOf(a); -for (var c = 0; c < b.length; c++)if (a === b[c])return c; -return-1 -} - -function Ta(b, a) { -var c = Aa(b, a); -c >= 0 && b.splice(c, 1); -return a -} - -function V(b, a) { -if (pa(b) || -b && b.$evalAsync && b.$watch)throw Error("Can't copy Window or Scope"); -if (a) { -if (b === a)throw Error("Can't copy equivalent objects or arrays"); -if (E(b))for (var c = a.length = 0; c < b.length; c++)a.push(V(b[c])); else for (c in n(a, function (b, c) { -delete a[c] -}), b)a[c] = V(b[c]) -} else(a = b) && (E(b) ? a = V(b, []) : oa(b) ? a = new Date(b.getTime()) : L(b) && (a = V(b, {}))); -return a -} - -function hc(b, a) { -var a = a || {}, c; -for (c in b)b.hasOwnProperty(c) && c.substr(0, 2) !== "$$" && (a[c] = b[c]); -return a -} - -function ga(b, a) { -if (b === a)return!0; -if (b === null || a === -null)return!1; -if (b !== b && a !== a)return!0; -var c = typeof b, d; -if (c == typeof a && c == "object")if (E(b)) { -if ((c = b.length) ==
[16/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/css/bootstrap.css -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/css/bootstrap.css b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/css/bootstrap.css deleted file mode 100644 index 080a293..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/css/bootstrap.css +++ /dev/null @@ -1,5776 +0,0 @@ -/*! - * Bootstrap v2.3.1 - * - * Copyright 2012 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world @twitter by @mdo and @fat. - */ - -.clearfix { -*zoom: 1; -} - -.clearfix:before, -.clearfix:after { -display: table; -line-height: 0; -content: ""; -} - -.clearfix:after { -clear: both; -} - -.hide-text { -font: 0/0 a; -color: transparent; -text-shadow: none; -background-color: transparent; -border: 0; -} - -.input-block-level { -display: block; -width: 100%; -min-height: 30px; --webkit-box-sizing: border-box; --moz-box-sizing: border-box; -box-sizing: border-box; -} - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section { -display: block; -} - -audio, -canvas, -video { -display: inline-block; -*display: inline; -*zoom: 1; -} - -audio:not([controls]) { -display: none; -} - -html { -font-size: 100%; --webkit-text-size-adjust: 100%; --ms-text-size-adjust: 100%; -} - -a:focus { -outline: thin dotted #333; -outline: 5px auto -webkit-focus-ring-color; -outline-offset: -2px; -} - -a:hover, -a:active { -outline: 0; -} - -sub, -sup { -position: relative; -font-size: 75%; -line-height: 0; -vertical-align: baseline; -} - -sup { -top: -0.5em; -} - -sub { -bottom: -0.25em; -} - -img { -width: auto\9; -height: auto; -max-width: 100%; -vertical-align: middle; -border: 0; --ms-interpolation-mode: bicubic; -} - -#map_canvas img, -.google-maps img { -max-width: none; -} - -button, -input, -select, -textarea { -margin: 0; -font-size: 100%; -vertical-align: middle; -} - -button, -input { -*overflow: visible; -line-height: normal; -} - -button::-moz-focus-inner, -input::-moz-focus-inner { -padding: 0; -border: 0; -} - -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { -cursor: pointer; --webkit-appearance: button; -} - -label, -select, -button, -input[type="button"], -input[type="reset"], -input[type="submit"], -input[type="radio"], -input[type="checkbox"] { -cursor: pointer; -} - -input[type="search"] { --webkit-box-sizing: content-box; --moz-box-sizing: content-box; -box-sizing: content-box; --webkit-appearance: textfield; -} - -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { --webkit-appearance: none; -} - -textarea { -overflow: auto; -vertical-align: top; -} - -@media print { -* { -color: #000 !important; -text-shadow: none !important; -background: transparent !important; -box-shadow: none !important; -} - -a, -a:visited { -text-decoration: underline; -} - -a[href]:after { -content: " (" attr(href) ")"; -} - -abbr[title]:after { -content: " (" attr(title) ")"; -} - -.ir a:after, -a[href^="javascript:"]:after, -a[href^="#"]:after { -content: ""; -} - -pre, -blockquote { -border: 1px solid #999; -page-break-inside: avoid; -} - -thead { -display: table-header-group; -} - -tr, -img { -page-break-inside: avoid; -} - -img { -max-width: 100% !important; -} - -@page { -margin: 0.5cm; -} - -p, -h2, -h3 { -orphans: 3; -widows: 3; -} - -h2, -h3 { -page-break-after: avoid; -} -} - -body { -margin: 0; -font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -font-size: 14px; -line-height: 20px; -color: #33; -background-color: #ff; -} - -a { -color: #0088cc; -text-decoration: none; -} - -a:hover, -a:focus { -color: #005580; -text-decoration: underline; -} - -.img-rounded { --webkit-border-radius: 6px; --moz-border-radius: 6px; -border-radius: 6px; -} - -.img-polaroid { -padding: 4px; -background-color: #fff; -border: 1px solid #ccc; -border: 1px solid rgba(0, 0, 0, 0.2); --webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); --moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -} -
[07/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular.js deleted file mode 100644 index a1eabdf..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular.js +++ /dev/null @@ -1,15018 +0,0 @@ -/** - * @license AngularJS v1.0.7 - * (c) 2010-2012 Google, Inc. http://angularjs.org - * License: MIT - */ -(function (window, document, undefined) { -'use strict'; - - - -/** - * @ngdoc function - * @name angular.lowercase - * @function - * - * @description Converts the specified string to lowercase. - * @param {string} string String to be converted to lowercase. - * @returns {string} Lowercased string. - */ -var lowercase = function (string) { -return isString(string) ? string.toLowerCase() : string; -}; - - -/** - * @ngdoc function - * @name angular.uppercase - * @function - * - * @description Converts the specified string to uppercase. - * @param {string} string String to be converted to uppercase. - * @returns {string} Uppercased string. - */ -var uppercase = function (string) { -return isString(string) ? string.toUpperCase() : string; -}; - - -var manualLowercase = function (s) { -return isString(s) -? s.replace(/[A-Z]/g, function (ch) { -return String.fromCharCode(ch.charCodeAt(0) | 32); -}) -: s; -}; -var manualUppercase = function (s) { -return isString(s) -? s.replace(/[a-z]/g, function (ch) { -return String.fromCharCode(ch.charCodeAt(0) & ~32); -}) -: s; -}; - - -// String#toLowerCase and String#toUpperCase don't produce correct results in browsers with Turkish -// locale, for this reason we need to detect this case and redefine lowercase/uppercase methods -// with correct but slower alternatives. -if ('i' !== 'I'.toLowerCase()) { -lowercase = manualLowercase; -uppercase = manualUppercase; -} - - -var /** holds major version number for IE or NaN for real browsers */ -msie = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]), -jqLite, // delay binding since jQuery could be loaded after us. -jQuery, // delay binding -slice = [].slice, -push = [].push, -toString = Object.prototype.toString, - -/** @name angular */ -angular = window.angular || (window.angular = {}), -angularModule, -nodeName_, -uid = ['0', '0', '0']; - - -/** - * @private - * @param {*} obj - * @return {boolean} Returns true if `obj` is an array or array-like object (NodeList, Arguments, ...) - */ -function isArrayLike(obj) { -if (!obj || (typeof obj.length !== 'number')) return false; - -// We have on object which has length property. Should we treat it as array? -if (typeof obj.hasOwnProperty != 'function' && -typeof obj.constructor != 'function') { -// This is here for IE8: it is a bogus object treat it as array; -return true; -} else { -return obj instanceof JQLite || // JQLite -(jQuery && obj instanceof jQuery) || // jQuery -toString.call(obj) !== '[object Object]' || // some browser native object -typeof obj.callee === 'function'; // arguments (on IE8 looks like regular obj) -} -} - - -/** - * @ngdoc function - * @name angular.forEach - * @function - * - * @description - * Invokes the `iterator` function once for each item in `obj` collection, which can be either an - * object or an array. The `iterator` function is invoked with `iterator(value, key)`, where `value` - * is the value of an object property or an array element and `key` is the object property key or - * array element index. Specifying a `context` for the function is optional. - * - * Note: this function was previously known as `angular.foreach`. - * - - var values = {name: 'misko', gender: 'male'}; - var log = []; - angular.forEach(values, function(value, key){ - this.push(key + ': ' + value); - }, log); - expect(log).toEqual(['name: misko', 'gender:male']); - - * - * @param {Object|Array} obj Object to iterate over. - * @param {Function} iterator Iterator function. - *
[02/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/src/main/resources/scheduler/assets/js/controllers.js -- diff --git a/src/main/resources/scheduler/assets/js/controllers.js b/src/main/resources/scheduler/assets/js/controllers.js deleted file mode 100644 index f7ebe6c..000 --- a/src/main/resources/scheduler/assets/js/controllers.js +++ /dev/null @@ -1,495 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -(function () { - /* global JobUpdateKey:false, JobUpdateQuery:false, JobKey:false */ - 'use strict'; - - /* Controllers */ - - var auroraUIControllers = angular.module('auroraUI.controllers', []); - - var infoTableConfig = { -isGlobalSearchActivated: true, -isPaginationEnabled: true, -itemsByPage: 25, -maxSize: 8, -selectionMode: 'single' - }; - - var summaryTableConfig = { -isPaginationEnabled: false, -isGlobalSearchActivated: false, -selectionMode: 'none' - }; - - var REFRESH_RATES = { -IN_PROGRESS_UPDATE_MS: 15000, -COMPLETED_UPDATES_MS: 6 - }; - - auroraUIControllers.controller('RoleSummaryController', -function ($scope, auroraClient) { - $scope.error = ''; - - auroraClient.getRoleSummary().then(function (roleSummaries) { -$scope.roleSummaries = parseResponse(roleSummaries); - -$scope.roleSummaryColumns = [ - {label: 'Role', map: 'role', cellTemplateUrl: '/assets/roleLink.html'}, - {label: 'Jobs', map: 'jobCount'}, - {label: 'Cron Jobs', map: 'cronJobCount'} -]; - -function parseResponse(response) { - $scope.error = response.error ? 'Error requesting role summary: ' + response.error : ''; - - if ($scope.error) { -return []; - } - - // TODO(Suman Karumuri): Replace sort with defaultSortColumn once it lands - // https://github.com/lorenzofox3/Smart-Table/pull/61 - return response.summaries.sort(function (a, b) { -if (a.role.toLowerCase() > b.role.toLowerCase()) { - return 1; -} -if (a.role.toLowerCase() < b.role.toLowerCase()) { - return -1; -} -return 0; - }); -} - -$scope.roleSummaryTableConfig = infoTableConfig; -$scope.roleSummaryTableConfig.columnSpan = $scope.roleSummaryColumns.length; - }); -}); - - auroraUIControllers.controller('JobSummaryController', -function ($scope, $routeParams, auroraClient) { - $scope.role = $routeParams.role; - $scope.environment = $routeParams.environment; - - $scope.error = ''; - - $scope.jobsTableColumns = [ -{label: 'Job Type', map: 'jobType'}, -{label: 'Environment', map: 'environment', cellTemplateUrl: '/assets/roleEnvLink.html'}, -{label: 'Job', map: 'jobName', cellTemplateUrl: '/assets/jobLink.html'}, -{label: 'production', map: 'isProduction'}, -{label: 'Pending Tasks', map: 'pendingTasks'}, -{label: 'Active Tasks', map: 'activeTasks'}, -{label: 'Finished Tasks', map: 'finishedTasks'}, -{label: 'Failed Tasks', map: 'failedTasks'} - ]; - - $scope.jobsTableConfig = infoTableConfig; - $scope.jobsTableConfig.columnSpan = $scope.jobsTableColumns.length; - - function getJobType(job) { -if (job.taskConfig.isService) { - return 'service'; -} - -if (job.cronSchedule !== null) { - return 'cron'; -} - -return 'adhoc'; - } - - function getJobs(summaries) { -$scope.error = summaries.error ? 'Error fetching job summaries: ' + summaries.error : ''; - -if ($scope.error) { - return []; -} - -var jobSummaries = summaries.jobs; - -if ($scope.environment) { - jobSummaries = _.filter(jobSummaries, function (summary) { -return summary.job.key.environment === $scope.environment; - }); -} - -var byJobName = function (summary) { - return summary.jobName; -}; - -return _.chain(jobSummaries) - .map(function (summary) { -return { - role: $scope.role, // required for roleEnvLink directive - environment: summary.job.key.environment, - jobName: summary.job.key.name, - jobType:
[30/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.js b/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.js deleted file mode 100644 index 197110e..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.js +++ /dev/null @@ -1,20560 +0,0 @@ -/** - * @license AngularJS v1.2.9 - * (c) 2010-2014 Google, Inc. http://angularjs.org - * License: MIT - */ -(function(window, document, undefined) {'use strict'; - -/** - * @description - * - * This object provides a utility for producing rich Error messages within - * Angular. It can be called as follows: - * - * var exampleMinErr = minErr('example'); - * throw exampleMinErr('one', 'This {0} is {1}', foo, bar); - * - * The above creates an instance of minErr in the example namespace. The - * resulting error will have a namespaced error code of example.one. The - * resulting error will replace {0} with the value of foo, and {1} with the - * value of bar. The object is not restricted in the number of arguments it can - * take. - * - * If fewer arguments are specified than necessary for interpolation, the extra - * interpolation markers will be preserved in the final string. - * - * Since data will be parsed statically during a build step, some restrictions - * are applied with respect to how minErr instances are created and called. - * Instances should have names of the form namespaceMinErr for a minErr created - * using minErr('namespace') . Error codes, namespaces and template strings - * should all be static strings, not variables or general expressions. - * - * @param {string} module The namespace to use for the new minErr instance. - * @returns {function(string, string, ...): Error} instance - */ - -function minErr(module) { - return function () { -var code = arguments[0], - prefix = '[' + (module ? module + ':' : '') + code + '] ', - template = arguments[1], - templateArgs = arguments, - stringify = function (obj) { -if (typeof obj === 'function') { - return obj.toString().replace(/ \{[\s\S]*$/, ''); -} else if (typeof obj === 'undefined') { - return 'undefined'; -} else if (typeof obj !== 'string') { - return JSON.stringify(obj); -} -return obj; - }, - message, i; - -message = prefix + template.replace(/\{\d+\}/g, function (match) { - var index = +match.slice(1, -1), arg; - - if (index + 2 < templateArgs.length) { -arg = templateArgs[index + 2]; -if (typeof arg === 'function') { - return arg.toString().replace(/ ?\{[\s\S]*$/, ''); -} else if (typeof arg === 'undefined') { - return 'undefined'; -} else if (typeof arg !== 'string') { - return toJson(arg); -} -return arg; - } - return match; -}); - -message = message + '\nhttp://errors.angularjs.org/1.2.9/' + - (module ? module + '/' : '') + code; -for (i = 2; i < arguments.length; i++) { - message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' + -encodeURIComponent(stringify(arguments[i])); -} - -return new Error(message); - }; -} - -/* We need to tell jshint what variables are being exported */ -/* global --angular, --msie, --jqLite, --jQuery, --slice, --push, --toString, --ngMinErr, --_angular, --angularModule, --nodeName_, --uid, - --lowercase, --uppercase, --manualLowercase, --manualUppercase, --nodeName_, --isArrayLike, --forEach, --sortedKeys, --forEachSorted, --reverseParams, --nextUid, --setHashKey, --extend, --int, --inherit, --noop, --identity, --valueFn, --isUndefined, --isDefined, --isObject, --isString, --isNumber, --isDate, --isArray, --isFunction, --isRegExp, --isWindow, --isScope, --isFile, --isBoolean, --trim, --isElement, --makeMap, --map, --size, --includes, --indexOf, --arrayRemove, --isLeafNode, --copy, --shallowCopy, --equals, --csp, --concat, --sliceArgs, --bind, --toJsonReplacer, --toJson, --fromJson, --toBoolean, --startingTag, --tryDecodeURIComponent, --parseKeyValue, --toKeyValue, --encodeUriSegment, --encodeUriQuery, --angularInit, --bootstrap, --snake_case, --bindJQuery, --assertArg, --assertArgFn, --assertNotHasOwnProperty, --getter, --getBlockElements, - -*/ - - - -/** - * @ngdoc function - * @name angular.lowercase - * @function - * - * @description Converts the specified string to lowercase. - * @param {string}
[05/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/test/lib/angular/angular-scenario.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/test/lib/angular/angular-scenario.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/test/lib/angular/angular-scenario.js deleted file mode 100644 index c19b3de..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/test/lib/angular/angular-scenario.js +++ /dev/null @@ -1,26223 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.2 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Wed Mar 21 12:46:34 2012 -0700 - */ -(function( window, undefined ) { -'use strict'; - -// Use the correct document accordingly with window argument (sandbox) -var document = window.document, - navigator = window.navigator, - location = window.location; -var jQuery = (function() { - -// Define a local copy of jQuery -var jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }, - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$, - - // A central reference to the root jQuery(document) - rootjQuery, - - // A simple way to check for HTML strings or ID strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, - - // Check if a string has a non-whitespace character in it - rnotwhite = /\S/, - - // Used for trimming whitespace - trimLeft = /^\s+/, - trimRight = /\s+$/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, - rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - - // Useragent RegExp - rwebkit = /(webkit)[ \/]([\w.]+)/, - ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, - rmsie = /(msie) ([\w.]+)/, - rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, - - // Matches dashed string for camelizing - rdashAlpha = /-([a-z]|[0-9])/ig, - rmsPrefix = /^-ms-/, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return ( letter + "" ).toUpperCase(); - }, - - // Keep a UserAgent string for use with jQuery.browser - userAgent = navigator.userAgent, - - // For matching the engine and version of the browser - browserMatch, - - // The deferred used on DOM ready - readyList, - - // The ready event handler - DOMContentLoaded, - - // Save a reference to some core methods - toString = Object.prototype.toString, - hasOwn = Object.prototype.hasOwnProperty, - push = Array.prototype.push, - slice = Array.prototype.slice, - trim = String.prototype.trim, - indexOf = Array.prototype.indexOf, - - // [[Class]] -> type pairs - class2type = {}; - -jQuery.fn = jQuery.prototype = { - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem, ret, doc; - - // Handle $(""), $(null), or $(undefined) - if ( !selector ) { - return this; - } - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - } - - // The body element only exists once, optimize finding it - if ( selector === "body" && !context && document.body ) { - this.context = document; - this[0] = document.body; - this.selector = selector; - this.length = 1; - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - // Are we dealing with HTML string or an ID? - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { -
[18/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/moment.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/moment.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/moment.js deleted file mode 100644 index b79da7f..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/moment.js +++ /dev/null @@ -1,2400 +0,0 @@ -//! moment.js -//! version : 2.5.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com - -(function (undefined) { - -/ -Constants -/ - -var moment, -VERSION = "2.5.1", -global = this, -round = Math.round, -i, - -YEAR = 0, -MONTH = 1, -DATE = 2, -HOUR = 3, -MINUTE = 4, -SECOND = 5, -MILLISECOND = 6, - -// internal storage for language config files -languages = {}, - -// moment internal properties -momentProperties = { -_isAMomentObject: null, -_i : null, -_f : null, -_l : null, -_strict : null, -_isUTC : null, -_offset : null, // optional. Combine with _isUTC -_pf : null, -_lang : null // optional -}, - -// check for nodeJS -hasModule = (typeof module !== 'undefined' && module.exports && typeof require !== 'undefined'), - -// ASP.NET json date format regex -aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, -aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, - -// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html -// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere -isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, - -// format tokens -formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g, -localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g, - -// parsing token regexes -parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 -parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 -parseTokenOneToFourDigits = /\d{1,4}/, // 0 - -parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 -parseTokenDigits = /\d+/, // nonzero number of digits -parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. -parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + - or Z -parseTokenT = /T/i, // T (ISO separator) -parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - -//strict parsing regexes -parseTokenOneDigit = /\d/, // 0 - 9 -parseTokenTwoDigits = /\d\d/, // 00 - 99 -parseTokenThreeDigits = /\d{3}/, // 000 - 999 -parseTokenFourDigits = /\d{4}/, // - -parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 -parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf - -// iso 8601 regex -// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or + or +00) -isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - -isoFormat = '-MM-DDTHH:mm:ssZ', - -isoDates = [ -['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/], -['-MM-DD', /\d{4}-\d{2}-\d{2}/], -['-[W]WW-E', /\d{4}-W\d{2}-\d/], -['-[W]WW', /\d{4}-W\d{2}/], -['-DDD', /\d{4}-\d{3}/] -], - -// iso time formats and regexes -isoTimes = [ -['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d{1,3}/], -['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/], -['HH:mm', /(T| )\d\d:\d\d/], -['HH', /(T| )\d\d/] -], - -// timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"] -parseTimezoneChunker = /([\+\-]|\d\d)/gi, - -// getter and setter names -proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), -unitMillisecondFactors = { -'Milliseconds' : 1, -'Seconds' : 1e3, -'Minutes' : 6e4, -'Hours' : 36e5, -'Days'
[03/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/underscore/underscore.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/underscore/underscore.js b/3rdparty/javascript/scheduler/assets/bower_components/underscore/underscore.js deleted file mode 100644 index 9a4cabe..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/underscore/underscore.js +++ /dev/null @@ -1,1343 +0,0 @@ -// Underscore.js 1.6.0 -// http://underscorejs.org -// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -- - - // Establish the root object, `window` in the browser, or `exports` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Establish the object that gets returned to break out of a loop iteration. - var breaker = {}; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var -push = ArrayProto.push, -slice= ArrayProto.slice, -concat = ArrayProto.concat, -toString = ObjProto.toString, -hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var -nativeForEach = ArrayProto.forEach, -nativeMap = ArrayProto.map, -nativeReduce = ArrayProto.reduce, -nativeReduceRight = ArrayProto.reduceRight, -nativeFilter = ArrayProto.filter, -nativeEvery= ArrayProto.every, -nativeSome = ArrayProto.some, -nativeIndexOf = ArrayProto.indexOf, -nativeLastIndexOf = ArrayProto.lastIndexOf, -nativeIsArray = Array.isArray, -nativeKeys = Object.keys, -nativeBind = FuncProto.bind; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { -if (obj instanceof _) return obj; -if (!(this instanceof _)) return new _(obj); -this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object via a string identifier, - // for Closure Compiler "advanced" mode. - if (typeof exports !== 'undefined') { -if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; -} -exports._ = _; - } else { -root._ = _; - } - - // Current version. - _.VERSION = '1.6.0'; - - // Collection Functions - // - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles objects with the built-in `forEach`, arrays, and raw objects. - // Delegates to **ECMAScript 5**'s native `forEach` if available. - var each = _.each = _.forEach = function(obj, iterator, context) { -if (obj == null) return obj; -if (nativeForEach && obj.forEach === nativeForEach) { - obj.forEach(iterator, context); -} else if (obj.length === +obj.length) { - for (var i = 0, length = obj.length; i < length; i++) { -if (iterator.call(context, obj[i], i, obj) === breaker) return; - } -} else { - var keys = _.keys(obj); - for (var i = 0, length = keys.length; i < length; i++) { -if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker) return; - } -} -return obj; - }; - - // Return the results of applying the iterator to each element. - // Delegates to **ECMAScript 5**'s native `map` if available. - _.map = _.collect = function(obj, iterator, context) { -var results = []; -if (obj == null) return results; -if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); -each(obj, function(value, index, list) { - results.push(iterator.call(context, value, index, list)); -}); -return results; - }; - - var reduceError = 'Reduce of empty array with no initial value'; - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. - _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { -var initial = arguments.length > 2; -if (obj == null) obj = []; -if (nativeReduce && obj.reduce === nativeReduce) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); -} -each(obj, function(value, index, list) { - if (!initial) { -memo =
[22/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.min.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.min.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.min.js deleted file mode 100644 index 98acb48..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.min.js +++ /dev/null @@ -1,3 +0,0 @@ -!function(a){"function"==typeof define&?define(["moment"],a):"object"==typeof exports?module.exports=a(require("../moment")):a(window.moment)}(function(a){return a.lang("ar-ma",{months:"ÙÙاÙر_ÙبراÙر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙز_غشت_شتÙبر_Ø£ÙتÙبر_ÙÙÙبر_دجÙبر".split("_"),monthsShort:"ÙÙاÙر_ÙبراÙر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙز_غشت_شتÙبر_Ø£ÙتÙبر_ÙÙÙبر_دجÙبر".split("_"),weekdays:"اÙØ£Øد_اÙإتÙÙÙ_اÙØ«Ùاثاء_اÙأربعاء_اÙخ٠Ùس_اÙج٠عة_اÙسبت".split("_"),weekdaysShort:"اØد_اتÙÙÙ_Ø«Ùاثاء_اربعاء_خ٠Ùس_ج٠عة_سبت".split("_"),weekdaysMin:"Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/",LL:"D ",LLL:"D LT",:" D LT"},calendar:{sameDay:"[اÙÙÙ٠عÙ٠اÙساعة] LT",nextDay:"[غدا عÙ٠اÙساعة] LT",nextWeek:" [عÙ٠اÙساعة] LT" ,lastDay:"[أ٠س عÙ٠اÙساعة] LT",lastWeek:" [عÙ٠اÙساعة] LT",sameElse:"L"},relativeTime:{future:"ÙÙ %s",past:"Ù ÙØ° %s",s:"Ø«ÙاÙ",m:"دÙÙÙØ©",mm:"%d دÙائÙ",h:"ساعة",hh:"%d ساعات",d:"ÙÙÙ ",dd:"%d Ø£Ùا٠",M:"Ø´Ùر",MM:"%d أشÙر",y:"سÙØ©",yy:"%d سÙÙات"},week:{dow:6,doy:12}})}),function(a){"function"==typeof define&?define(["moment"],a):"object"==typeof exports?module.exports=a(require("../moment")):a(window.moment)}(function(a){return a.lang("ar",{months:"ÙÙاÙر/ ÙاÙÙ٠اÙثاÙÙ_ÙبراÙر/ شباط_٠ارس/ آذار_أبرÙÙ/ ÙÙساÙ_٠اÙÙ/ Ø£Ùار_ÙÙÙÙÙ/ ØزÙراÙ_ÙÙÙÙÙ/ ت٠Ùز_أغسطس/ آب_سبت٠بر/ Ø£ÙÙÙÙ_Ø£ÙتÙبر/ تشرÙ٠اÙØ£ÙÙ_ÙÙÙ٠بر/ تشرÙ٠اÙثاÙÙ_دÙس٠بر/ ÙاÙÙ٠اÙØ£ÙÙ".split("_"),monthsShort:"ÙÙاÙر/ ÙاÙÙ٠اÙثاÙÙ_ÙبراÙر/ شباط_٠ارس/ آذار_أبرÙÙ/ ÙÙساÙ_٠اÙÙ/ Ø£Ùار_ÙÙÙ ÙÙ/ ØزÙراÙ_ÙÙÙÙÙ/ ت٠Ùز_أغسطس/ آب_سبت٠بر/ Ø£ÙÙÙÙ_Ø£ÙتÙبر/ تشرÙ٠اÙØ£ÙÙ_ÙÙÙ٠بر/ تشرÙ٠اÙثاÙÙ_دÙس٠بر/ ÙاÙÙ٠اÙØ£ÙÙ".split("_"),weekdays:"اÙØ£Øد_اÙإثÙÙÙ_اÙØ«Ùاثاء_اÙأربعاء_اÙخ٠Ùس_اÙج٠عة_اÙسبت".split("_"),weekdaysShort:"اÙØ£Øد_اÙإثÙÙÙ_اÙØ«Ùاثاء_اÙأربعاء_اÙخ٠Ùس_اÙج٠عة_اÙسبت".split("_"),weekdaysMin:"Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/",LL:"D ",LLL:"D LT",:" D LT"},calendar:{sameDay:"[اÙÙÙ٠عÙ٠اÙساعة] LT",nextDay:"[غدا عÙ٠اÙساعة] LT",nextWeek:" [عÙ٠اÙساعة] LT",lastDay:"[أ٠س عÙ٠اÙساعة] LT",lastWeek:" [عÙ٠اÙساعة] LT",sameElse:"L"},relativeTime:{future:"ÙÙ %s",past:"Ù ÙØ° %s",s:"Ø«ÙاÙ",m:"دÙÙÙØ©",mm:"%d دÙائÙ",h:"ساعة",hh:"%d ساعات",d:"ÙÙÙ ",dd:"%d Ø£Ùا٠",M:"Ø ´Ùر",MM:"%d أشÙر",y:"سÙØ©",yy:"%d سÙÙات"},week:{dow:6,doy:12}})}),function(a){"function"==typeof define&?define(["moment"],a):"object"==typeof exports?module.exports=a(require("../moment")):a(window.moment)}(function(a){return a.lang("bg",{months:"ÑнÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_май_Ñни_Ñли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи".split("_"),monthsShort:"ÑнÑ_Ñев_маÑ_апÑ_май_Ñни_Ñли_авг_Ñеп_окÑ_ное_дек".split("_"),weekdays:"неделÑ_понеделник_вÑоÑник_ÑÑÑда_ÑеÑвÑÑÑÑк_пеÑÑк_ÑÑбоÑа".split("_"),weekdaysShort:"нед_пон_вÑо_ÑÑÑ_ÑеÑ_пеÑ_ÑÑб".split("_"),weekdaysMin:"нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),longDateFormat:{LT:"H:mm",L:"D.MM.",LL:"D ",LLL:"D LT",:", D LT"},calendar:{sameDay:"[ÐÐ½ÐµÑ Ð²] LT",nextDay:"[УÑÑе в] LT",nextWeek:" [в] LT",lastDay:"[ÐÑеÑа в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[РизминалаÑа] [в] LT";case 1:case 2:case 4:case 5:return"[РизминалиÑ] [в] LT"}},sameElse:"L"},relativeTime:{future:"Ñлед %s",past:"пÑеди %s",s:"нÑколко ÑекÑнди",m:"минÑÑа",mm:"%d минÑÑи",h:"ÑаÑ",hh:"%d ÑаÑа",d:"ден",dd:"%d
[31/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular-route/angular-route.min.js.map -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular-route/angular-route.min.js.map b/3rdparty/javascript/scheduler/assets/bower_components/angular-route/angular-route.min.js.map deleted file mode 100644 index e6573ea..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular-route/angular-route.min.js.map +++ /dev/null @@ -1,8 +0,0 @@ -{ -"version":3, -"file":"angular-route.min.js", -"lineCount":13, -"mappings":"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
[09/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-sanitize.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-sanitize.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-sanitize.js deleted file mode 100644 index f6d8ee6..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-sanitize.js +++ /dev/null @@ -1,540 +0,0 @@ -/** - * @license AngularJS v1.0.7 - * (c) 2010-2012 Google, Inc. http://angularjs.org - * License: MIT - */ -(function (window, angular, undefined) { -'use strict'; - -/** - * @ngdoc overview - * @name ngSanitize - * @description - */ - -/* - * HTML Parser By Misko Hevery (mi...@hevery.com) - * based on: HTML Parser By John Resig (ejohn.org) - * Original code by Erik Arvidsson, Mozilla Public License - * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js - * - * // Use like so: - * htmlParser(htmlString, { - * start: function(tag, attrs, unary) {}, - * end: function(tag) {}, - * chars: function(text) {}, - * comment: function(text) {} - * }); - * - */ - - -/** - * @ngdoc service - * @name ngSanitize.$sanitize - * @function - * - * @description - * The input is sanitized by parsing the html into tokens. All safe tokens (from a whitelist) are - * then serialized back to properly escaped html string. This means that no unsafe input can make - * it into the returned string, however, since our parser is more strict than a typical browser - * parser, it's possible that some obscure input, which would be recognized as valid HTML by a - * browser, won't make it through the sanitizer. - * - * @param {string} html Html input. - * @returns {string} Sanitized html. - * - * @example - - - - function Ctrl($scope) { - $scope.snippet = - 'an html\n' + - 'click here\n' + - 'snippet
'; - } - - - Snippet: - - - Filter - Source - Rendered - - - html filter - - div ng-bind-html="snippet"/div - - - - - - - no filter - div ng-bind="snippet"/div - - - - unsafe html filter - div ng-bind-html-unsafe="snippet"/div - - - - - - - it('should sanitize the html snippet ', function() { - expect(using('#html-filter').element('div').html()). - toBe('an html\nclick here\nsnippet'); - }); - - it('should escape snippet without any filter', function() { - expect(using('#escaped-html').element('div').html()). - toBe("p style=\"color:blue\"an html\n" + -"em onmouseover=\"this.textContent='PWN3D!'\"click here/em\n" + -"snippet/p"); - }); - - it('should inline raw snippet if filtered as unsafe', function() { - expect(using('#html-unsafe-filter').element("div").html()). - toBe("an html\n" + -"click here\n" + -"snippet"); - }); - - it('should update', function() { - input('snippet').enter('new text'); - expect(using('#html-filter').binding('snippet')).toBe('new text'); - expect(using('#escaped-html').element('div').html()).toBe("new btext/b"); - expect(using('#html-unsafe-filter').binding("snippet")).toBe('new text'); - }); - - - */ -var $sanitize = function (html) { -var buf = []; -htmlParser(html, htmlSanitizeWriter(buf)); -return buf.join(''); -}; - - -// Regular Expressions for parsing tags and attributes -var START_TAG_REGEXP = /^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/, -END_TAG_REGEXP = /^<\s*\/\s*([\w:-]+)[^>]*>/, -ATTR_REGEXP = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, -BEGIN_TAG_REGEXP = /^/g, -CDATA_REGEXP = //g, -URI_REGEXP = /^((ftp|https?):\/\/|mailto:|#)/, -NON_ALPHANUMERIC_REGEXP = /([^\#-~| |!])/g; // Match everything outside of normal chars and " (quote character) - - -// Good source of info about elements and attributes -// http://dev.w3.org/html5/spec/Overview.html#semantics -// http://simon.html5.org/html-elements - -// Safe Void Elements - HTML5 -// http://dev.w3.org/html5/spec/Overview.html#void-elements -var voidElements = makeMap("area,br,col,hr,img,wbr"); - -// Elements that you
[21/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.js deleted file mode 100644 index 0a0d0ee..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.js +++ /dev/null @@ -1,7768 +0,0 @@ -//! moment.js -//! version : 2.5.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com - -(function (undefined) { - -/ -Constants -/ - -var moment, -VERSION = "2.5.1", -global = this, -round = Math.round, -i, - -YEAR = 0, -MONTH = 1, -DATE = 2, -HOUR = 3, -MINUTE = 4, -SECOND = 5, -MILLISECOND = 6, - -// internal storage for language config files -languages = {}, - -// moment internal properties -momentProperties = { -_isAMomentObject: null, -_i : null, -_f : null, -_l : null, -_strict : null, -_isUTC : null, -_offset : null, // optional. Combine with _isUTC -_pf : null, -_lang : null // optional -}, - -// check for nodeJS -hasModule = (typeof module !== 'undefined' && module.exports && typeof require !== 'undefined'), - -// ASP.NET json date format regex -aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, -aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, - -// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html -// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere -isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, - -// format tokens -formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g, -localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g, - -// parsing token regexes -parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 -parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 -parseTokenOneToFourDigits = /\d{1,4}/, // 0 - -parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 -parseTokenDigits = /\d+/, // nonzero number of digits -parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. -parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + - or Z -parseTokenT = /T/i, // T (ISO separator) -parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - -//strict parsing regexes -parseTokenOneDigit = /\d/, // 0 - 9 -parseTokenTwoDigits = /\d\d/, // 00 - 99 -parseTokenThreeDigits = /\d{3}/, // 000 - 999 -parseTokenFourDigits = /\d{4}/, // - -parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 -parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf - -// iso 8601 regex -// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or + or +00) -isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - -isoFormat = '-MM-DDTHH:mm:ssZ', - -isoDates = [ -['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/], -['-MM-DD', /\d{4}-\d{2}-\d{2}/], -['-[W]WW-E', /\d{4}-W\d{2}-\d/], -['-[W]WW', /\d{4}-W\d{2}/], -['-DDD', /\d{4}-\d{3}/] -], - -// iso time formats and regexes -isoTimes = [ -['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d{1,3}/], -['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/], -['HH:mm', /(T| )\d\d:\d\d/], -['HH', /(T| )\d\d/] -], - -// timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"] -parseTimezoneChunker = /([\+\-]|\d\d)/gi, - -// getter and setter names -proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), -unitMillisecondFactors = { -'Milliseconds' : 1, -'Seconds' : 1e3, -
[32/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.min.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.min.js b/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.min.js deleted file mode 100644 index 53fd24e..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * angular-ui-bootstrap - * http://angular-ui.github.io/bootstrap/ - - * Version: 0.11.0 - 2014-05-01 - * License: MIT - */ -angular.module("ui.bootstrap",["ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&(f),i||h.r esolve(d)}),h.promise.cancel=function(){i&(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){if(k)k=!1,i(),c.css({height:0});else{c.css({height:c[0].scrollHeight+"px "});{c[0].offsetWidth}c.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(i)}}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",fu nction(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.$watch("isOpen",function(b){b&(a)}),a.toggleOpen=function(){a.isDisabled||(a.isOpen=!a.isOpen)).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.accordionTransclude]},function(a){a&&(b.html(""),b.append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(a,b){a.closeable="close"in b}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",template Url:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return
[10/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-mocks.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-mocks.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-mocks.js deleted file mode 100644 index 85e709b..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-mocks.js +++ /dev/null @@ -1,1798 +0,0 @@ -/** - * @license AngularJS v1.0.7 - * (c) 2010-2012 Google, Inc. http://angularjs.org - * License: MIT - * - * TODO(vojta): wrap whole file into closure during build - */ - -/** - * @ngdoc overview - * @name angular.mock - * @description - * - * Namespace from 'angular-mocks.js' which contains testing related code. - */ -angular.mock = {}; - -/** - * ! This is a private undocumented service ! - * - * @name ngMock.$browser - * - * @description - * This service is a mock implementation of {@link ng.$browser}. It provides fake - * implementation for commonly used browser apis that are hard to test, e.g. setTimeout, xhr, - * cookies, etc... - * - * The api of this service is the same as that of the real {@link ng.$browser $browser}, except - * that there are several helper methods available which can be used in tests. - */ -angular.mock.$BrowserProvider = function () { -this.$get = function () { -return new angular.mock.$Browser(); -}; -}; - -angular.mock.$Browser = function () { -var self = this; - -this.isMock = true; -self.$$url = "http://server/;; -self.$$lastUrl = self.$$url; // used by url polling fn -self.pollFns = []; - -// TODO(vojta): remove this temporary api -self.$$completeOutstandingRequest = angular.noop; -self.$$incOutstandingRequestCount = angular.noop; - - -// register url polling fn - -self.onUrlChange = function (listener) { -self.pollFns.push( -function () { -if (self.$$lastUrl != self.$$url) { -self.$$lastUrl = self.$$url; -listener(self.$$url); -} -} -); - -return listener; -}; - -self.cookieHash = {}; -self.lastCookieHash = {}; -self.deferredFns = []; -self.deferredNextId = 0; - -self.defer = function (fn, delay) { -delay = delay || 0; -self.deferredFns.push({time: (self.defer.now + delay), fn: fn, id: self.deferredNextId}); -self.deferredFns.sort(function (a, b) { -return a.time - b.time; -}); -return self.deferredNextId++; -}; - - -self.defer.now = 0; - - -self.defer.cancel = function (deferId) { -var fnIndex; - -angular.forEach(self.deferredFns, function (fn, index) { -if (fn.id === deferId) fnIndex = index; -}); - -if (fnIndex !== undefined) { -self.deferredFns.splice(fnIndex, 1); -return true; -} - -return false; -}; - - -/** - * @name ngMock.$browser#defer.flush - * @methodOf ngMock.$browser - * - * @description - * Flushes all pending requests and executes the defer callbacks. - * - * @param {number=} number of milliseconds to flush. See {@link #defer.now} - */ -self.defer.flush = function (delay) { -if (angular.isDefined(delay)) { -self.defer.now += delay; -} else { -if (self.deferredFns.length) { -self.defer.now = self.deferredFns[self.deferredFns.length - 1].time; -} else { -throw Error('No deferred tasks to be flushed'); -} -} - -while (self.deferredFns.length && self.deferredFns[0].time <= self.defer.now) { -self.deferredFns.shift().fn(); -} -}; -/** - * @name ngMock.$browser#defer.now - * @propertyOf ngMock.$browser - * - * @description - * Current milliseconds mock time. - */ - -self.$$baseHref = ''; -self.baseHref = function () { -return this.$$baseHref; -}; -}; -angular.mock.$Browser.prototype = { - -/** - * @name ngMock.$browser#poll - * @methodOf ngMock.$browser - * - * @description - * run all fns in pollFns - */ -poll: function poll() { -angular.forEach(this.pollFns, function (pollFn) { -pollFn(); -}); -}, - -addPollFn: function (pollFn) { -this.pollFns.push(pollFn); -return pollFn; -}, - -url: function (url, replace) { -if (url) { -this.$$url = url; -return this; -} - -return this.$$url; -}, - -cookies: function (name, value) { -if (name) { -if
[08/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-scenario.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-scenario.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-scenario.js deleted file mode 100644 index 7fa75e9..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-scenario.js +++ /dev/null @@ -1,26487 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.2 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Wed Mar 21 12:46:34 2012 -0700 - */ -(function (window, undefined) { -'use strict'; - -// Use the correct document accordingly with window argument (sandbox) -var document = window.document, -navigator = window.navigator, -location = window.location; -var jQuery = (function () { - -// Define a local copy of jQuery -var jQuery = function (selector, context) { -// The jQuery object is actually just the init constructor 'enhanced' -return new jQuery.fn.init(selector, context, rootjQuery); -}, - -// Map over jQuery in case of overwrite -_jQuery = window.jQuery, - -// Map over the $ in case of overwrite -_$ = window.$, - -// A central reference to the root jQuery(document) -rootjQuery, - -// A simple way to check for HTML strings or ID strings -// Prioritize #id over to avoid XSS via location.hash (#9521) -quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, - -// Check if a string has a non-whitespace character in it -rnotwhite = /\S/, - -// Used for trimming whitespace -trimLeft = /^\s+/, -trimRight = /\s+$/, - -// Match a standalone tag -rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, - -// JSON RegExp -rvalidchars = /^[\],:{}\s]*$/, -rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, -rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, -rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - -// Useragent RegExp -rwebkit = /(webkit)[ \/]([\w.]+)/, -ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, -rmsie = /(msie) ([\w.]+)/, -rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, - -// Matches dashed string for camelizing -rdashAlpha = /-([a-z]|[0-9])/ig, -rmsPrefix = /^-ms-/, - -// Used by jQuery.camelCase as callback to replace() -fcamelCase = function (all, letter) { -return ( letter + "" ).toUpperCase(); -}, - -// Keep a UserAgent string for use with jQuery.browser -userAgent = navigator.userAgent, - -// For matching the engine and version of the browser -browserMatch, - -// The deferred used on DOM ready -readyList, - -// The ready event handler -DOMContentLoaded, - -// Save a reference to some core methods -toString = Object.prototype.toString, -hasOwn = Object.prototype.hasOwnProperty, -push = Array.prototype.push, -slice = Array.prototype.slice, -trim = String.prototype.trim, -indexOf = Array.prototype.indexOf, - -// [[Class]] -> type pairs -class2type = {}; - -jQuery.fn = jQuery.prototype = { -constructor: jQuery, -init: function (selector, context, rootjQuery) { -var match, elem, ret, doc; - -// Handle $(""), $(null), or $(undefined) -if (!selector) { -return this; -} - -// Handle $(DOMElement) -if (selector.nodeType) { -this.context = this[0] = selector; -this.length = 1; -return this; -} - -// The body element only exists once, optimize finding it -if (selector === "body" && !context && document.body) { -this.context = document; -this[0] = document.body; -this.selector = selector; -this.length = 1; -return this; -} - -// Handle HTML strings -if (typeof selector
[36/36] aurora git commit: Remove the old UI and serve the new UI instead
Remove the old UI and serve the new UI instead Reviewed at https://reviews.apache.org/r/63282/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/96c834a2 Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/96c834a2 Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/96c834a2 Branch: refs/heads/master Commit: 96c834a2481eeb146a141afc8c0b2b3dda07c435 Parents: f2755e1 Author: David McLaughlinAuthored: Wed Oct 25 10:04:47 2017 -0700 Committer: David McLaughlin Committed: Wed Oct 25 10:04:47 2017 -0700 -- .../angular-bootstrap/.bower.json |24 - .../angular-bootstrap/bower.json|11 - .../angular-bootstrap/ui-bootstrap-tpls.js | 4116 --- .../angular-bootstrap/ui-bootstrap-tpls.min.js |10 - .../angular-bootstrap/ui-bootstrap.js | 3799 --- .../angular-bootstrap/ui-bootstrap.min.js | 9 - .../bower_components/angular-route/.bower.json |19 - .../bower_components/angular-route/README.md|54 - .../angular-route/angular-route.js | 920 - .../angular-route/angular-route.min.js |14 - .../angular-route/angular-route.min.js.map | 8 - .../bower_components/angular-route/bower.json | 8 - .../assets/bower_components/angular/.bower.json |16 - .../assets/bower_components/angular/README.md |48 - .../bower_components/angular/angular-csp.css|13 - .../assets/bower_components/angular/angular.js | 20560 - .../bower_components/angular/angular.min.js | 202 - .../angular/angular.min.js.gzip | Bin 36880 -> 0 bytes .../bower_components/angular/angular.min.js.map | 8 - .../assets/bower_components/angular/bower.json | 7 - .../bower_components/momentjs/.bower.json |31 - .../assets/bower_components/momentjs/LICENSE|22 - .../assets/bower_components/momentjs/bower.json |20 - .../bower_components/momentjs/lang/ar-ma.js |56 - .../assets/bower_components/momentjs/lang/ar.js |56 - .../assets/bower_components/momentjs/lang/bg.js |86 - .../assets/bower_components/momentjs/lang/br.js | 107 - .../assets/bower_components/momentjs/lang/bs.js | 139 - .../assets/bower_components/momentjs/lang/ca.js |66 - .../assets/bower_components/momentjs/lang/cs.js | 155 - .../assets/bower_components/momentjs/lang/cv.js |59 - .../assets/bower_components/momentjs/lang/cy.js |77 - .../assets/bower_components/momentjs/lang/da.js |56 - .../assets/bower_components/momentjs/lang/de.js |71 - .../assets/bower_components/momentjs/lang/el.js |79 - .../bower_components/momentjs/lang/en-au.js |62 - .../bower_components/momentjs/lang/en-ca.js |59 - .../bower_components/momentjs/lang/en-gb.js |63 - .../assets/bower_components/momentjs/lang/eo.js |65 - .../assets/bower_components/momentjs/lang/es.js |66 - .../assets/bower_components/momentjs/lang/et.js |76 - .../assets/bower_components/momentjs/lang/eu.js |60 - .../assets/bower_components/momentjs/lang/fa.js |97 - .../assets/bower_components/momentjs/lang/fi.js | 103 - .../assets/bower_components/momentjs/lang/fo.js |56 - .../bower_components/momentjs/lang/fr-ca.js |54 - .../assets/bower_components/momentjs/lang/fr.js |58 - .../assets/bower_components/momentjs/lang/gl.js |71 - .../assets/bower_components/momentjs/lang/he.js |77 - .../assets/bower_components/momentjs/lang/hi.js | 105 - .../assets/bower_components/momentjs/lang/hr.js | 140 - .../assets/bower_components/momentjs/lang/hu.js |98 - .../bower_components/momentjs/lang/hy-am.js | 113 - .../assets/bower_components/momentjs/lang/id.js |67 - .../assets/bower_components/momentjs/lang/is.js | 124 - .../assets/bower_components/momentjs/lang/it.js |59 - .../assets/bower_components/momentjs/lang/ja.js |58 - .../assets/bower_components/momentjs/lang/ka.js | 108 - .../assets/bower_components/momentjs/lang/ko.js |63 - .../assets/bower_components/momentjs/lang/lb.js | 160 - .../assets/bower_components/momentjs/lang/lt.js | 118 - .../assets/bower_components/momentjs/lang/lv.js |77 - .../assets/bower_components/momentjs/lang/mk.js |86 - .../assets/bower_components/momentjs/lang/ml.js |64 - .../assets/bower_components/momentjs/lang/mr.js | 104 - .../bower_components/momentjs/lang/ms-my.js |66 - .../assets/bower_components/momentjs/lang/nb.js |57 - .../assets/bower_components/momentjs/lang/ne.js | 105 - .../assets/bower_components/momentjs/lang/nl.js |67 - .../assets/bower_components/momentjs/lang/nn.js |56 - .../assets/bower_components/momentjs/lang/pl.js |98 - .../bower_components/momentjs/lang/pt-br.js |56 -
[01/36] aurora git commit: Remove the old UI and serve the new UI instead
Repository: aurora Updated Branches: refs/heads/master f2755e1cd -> 96c834a24 http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/ui/src/main/js/components/Breadcrumb.js -- diff --git a/ui/src/main/js/components/Breadcrumb.js b/ui/src/main/js/components/Breadcrumb.js index 4cd7506..76c6270 100644 --- a/ui/src/main/js/components/Breadcrumb.js +++ b/ui/src/main/js/components/Breadcrumb.js @@ -6,28 +6,28 @@ function url(...args) { } export default function Breadcrumb({ cluster, role, env, name, instance, update }) { - const crumbs = [{cluster}]; + const crumbs = [{cluster}]; if (role) { crumbs.push(/); -crumbs.push({role}); +crumbs.push({role}); } if (env) { crumbs.push(/); -crumbs.push({env}); +crumbs.push({env}); } if (name) { crumbs.push(/); -crumbs.push({name}); +crumbs.push({name}); } if (instance) { crumbs.push(/); -crumbs.push( +crumbs.push( {instance} ); } if (update) { crumbs.push(/); -crumbs.push( +crumbs.push( {update} ); } http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/ui/src/main/js/components/InstanceViz.js -- diff --git a/ui/src/main/js/components/InstanceViz.js b/ui/src/main/js/components/InstanceViz.js index c8402e1..467ad5b 100644 --- a/ui/src/main/js/components/InstanceViz.js +++ b/ui/src/main/js/components/InstanceViz.js @@ -11,7 +11,7 @@ export default function InstanceViz({ instances, jobKey }) { {instances.map((i) => { return ( +to={`/scheduler/${role}/${environment}/${name}/${i.instanceId}`}> ); })} http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/ui/src/main/js/components/JobListItem.js -- diff --git a/ui/src/main/js/components/JobListItem.js b/ui/src/main/js/components/JobListItem.js index eccd227..c9228f0 100644 --- a/ui/src/main/js/components/JobListItem.js +++ b/ui/src/main/js/components/JobListItem.js @@ -20,7 +20,7 @@ export default function JobListItem(props) { const {job: {job: { cronSchedule, key: {role, name, environment}, taskConfig }, stats}} = props; const envLink = (props.env) ? null : ( -{environment} +{environment} ); return ( @@ -30,7 +30,7 @@ export default function JobListItem(props) { {envLink} - + {name} {taskConfig.production ? : ''} http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/ui/src/main/js/components/Navigation.js -- diff --git a/ui/src/main/js/components/Navigation.js b/ui/src/main/js/components/Navigation.js index f9f3694..50881a9 100644 --- a/ui/src/main/js/components/Navigation.js +++ b/ui/src/main/js/components/Navigation.js @@ -6,12 +6,12 @@ export default function Navigation({ fluid }) { - + - updates + updates http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/ui/src/main/js/components/RoleList.js -- diff --git a/ui/src/main/js/components/RoleList.js b/ui/src/main/js/components/RoleList.js index 177640a..2bdae8e 100644 --- a/ui/src/main/js/components/RoleList.js +++ b/ui/src/main/js/components/RoleList.js @@ -26,7 +26,7 @@ export default class RoleList extends React.Component { _renderRow(r) { return ( - {r.role} + {r.role} {r.jobCount} {r.cronJobCount} ); http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/ui/src/main/js/components/TaskList.js -- diff --git a/ui/src/main/js/components/TaskList.js b/ui/src/main/js/components/TaskList.js index 4a4b8d3..e1685ce 100644 --- a/ui/src/main/js/components/TaskList.js +++ b/ui/src/main/js/components/TaskList.js @@ -30,7 +30,7 @@ export class TaskListItem extends React.Component { + to={`/scheduler/${role}/${environment}/${name}/${task.assignedTask.instanceId}`}> {task.assignedTask.instanceId} http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/ui/src/main/js/components/TaskNeighbors.js -- diff --git a/ui/src/main/js/components/TaskNeighbors.js b/ui/src/main/js/components/TaskNeighbors.js index 72d49bb..4722c89 100644 --- a/ui/src/main/js/components/TaskNeighbors.js +++ b/ui/src/main/js/components/TaskNeighbors.js @@ -9,7 +9,7 @@ export function NeighborTaskItem({ assignedTask }) { return ( - + {taskKey}
[35/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.js b/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.js deleted file mode 100644 index bcca1cd..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.js +++ /dev/null @@ -1,4116 +0,0 @@ -/* - * angular-ui-bootstrap - * http://angular-ui.github.io/bootstrap/ - - * Version: 0.11.0 - 2014-05-01 - * License: MIT - */ -angular.module("ui.bootstrap", ["ui.bootstrap.tpls", "ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]); -angular.module("ui.bootstrap.tpls", ["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]); -angular.module('ui.bootstrap.transition', []) - -/** - * $transition service provides a consistent interface to trigger CSS 3 transitions and to be informed when they complete. - * @param {DOMElement} element The DOMElement that will be animated. - * @param {string|object|function} trigger The thing that will cause the transition to start: - * - As a string, it represents the css class to be added to the element. - * - As an object, it represents a hash of style attributes to be applied to the element. - * - As a function, it represents a function to be called that will cause the transition to occur. - * @return {Promise} A promise that is resolved when the transition finishes. - */ -.factory('$transition', ['$q', '$timeout', '$rootScope', function($q, $timeout, $rootScope) { - - var $transition = function(element, trigger, options) { -options = options || {}; -var deferred = $q.defer(); -var endEventName = $transition[options.animation ? 'animationEndEventName' : 'transitionEndEventName']; - -var transitionEndHandler = function(event) { - $rootScope.$apply(function() { -element.unbind(endEventName, transitionEndHandler); -deferred.resolve(element); - }); -}; - -if (endEventName) { - element.bind(endEventName, transitionEndHandler); -} - -// Wrap in a timeout to allow the browser time to update the DOM before the transition is to occur -$timeout(function() { - if ( angular.isString(trigger) ) { -element.addClass(trigger); - } else if ( angular.isFunction(trigger) ) { -trigger(element); - } else if ( angular.isObject(trigger) ) { -element.css(trigger); - } - //If browser does not support transitions, instantly resolve - if ( !endEventName ) { -deferred.resolve(element); - } -}); - -// Add our custom cancel function to the promise that is returned -// We can call this if we are about to run a new transition, which we know will prevent this transition from ending, -// i.e. it will therefore never raise a transitionEnd event for that transition -deferred.promise.cancel = function() { - if ( endEventName ) { -element.unbind(endEventName, transitionEndHandler); - } - deferred.reject('Transition cancelled'); -}; - -return deferred.promise; - }; - - // Work out the name of the transitionEnd event - var transElement = document.createElement('trans'); - var transitionEndEventNames = { -'WebkitTransition': 'webkitTransitionEnd', -'MozTransition': 'transitionend', -'OTransition': 'oTransitionEnd', -'transition': 'transitionend' - }; - var animationEndEventNames = { -'WebkitTransition': 'webkitAnimationEnd', -
[23/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.js deleted file mode 100644 index 8296814..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/langs.js +++ /dev/null @@ -1,5841 +0,0 @@ -// moment.js language configuration -// language : Moroccan Arabic (ar-ma) -// author : ElFadili Yassine : https://github.com/ElFadiliY -// author : Abdel Said : https://github.com/abdelsaid - -(function (factory) { -if (typeof define === 'function' && define.amd) { -define(['moment'], factory); // AMD -} else if (typeof exports === 'object') { -module.exports = factory(require('../moment')); // Node -} else { -factory(window.moment); // Browser global -} -}(function (moment) { -return moment.lang('ar-ma', { -months : "ÙÙاÙر_ÙبراÙر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙز_غشت_شتÙبر_Ø£ÙتÙبر_ÙÙÙبر_دجÙبر".split("_"), -monthsShort : "ÙÙاÙر_ÙبراÙر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙز_غشت_شتÙبر_Ø£ÙتÙبر_ÙÙÙبر_دجÙبر".split("_"), -weekdays : "اÙØ£Øد_اÙإتÙÙÙ_اÙØ«Ùاثاء_اÙأربعاء_اÙخ٠Ùس_اÙج٠عة_اÙسبت".split("_"), -weekdaysShort : "اØد_اتÙÙÙ_Ø«Ùاثاء_اربعاء_خ٠Ùس_ج٠عة_سبت".split("_"), -weekdaysMin : "Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"), -longDateFormat : { -LT : "HH:mm", -L : "DD/MM/", -LL : "D ", -LLL : "D LT", - : " D LT" -}, -calendar : { -sameDay: "[اÙÙÙ٠عÙ٠اÙساعة] LT", -nextDay: '[غدا عÙ٠اÙساعة] LT', -nextWeek: ' [عÙ٠اÙساعة] LT', -lastDay: '[أ٠س عÙ٠اÙساعة] LT', -lastWeek: ' [عÙ٠اÙساعة] LT', -sameElse: 'L' -}, -relativeTime : { -future : "ÙÙ %s", -past : "Ù ÙØ° %s", -s : "Ø«ÙاÙ", -m : "دÙÙÙØ©", -mm : "%d دÙائÙ", -h : "ساعة", -hh : "%d ساعات", -d : "ÙÙÙ ", -dd : "%d Ø£Ùا٠", -M : "Ø´Ùر", -MM : "%d أشÙر", -y : "سÙØ©", -yy : "%d سÙÙات" -}, -week : { -dow : 6, // Saturday is the first day of the week. -doy : 12 // The week that contains Jan 1st is the first week of the year. -} -}); -})); - -// moment.js language configuration -// language : Arabic (ar) -// author : Abdel Said : https://github.com/abdelsaid -// changes in months, weekdays : Ahmed Elkhatib - -(function (factory) { -if (typeof define === 'function' && define.amd) { -define(['moment'], factory); // AMD -} else if (typeof exports === 'object') { -module.exports = factory(require('../moment')); // Node -} else { -factory(window.moment); // Browser global -} -}(function (moment) { -return moment.lang('ar', { -months : "ÙÙاÙر/ ÙاÙÙ٠اÙثاÙÙ_ÙبراÙر/ شباط_٠ارس/ آذار_أبرÙÙ/ ÙÙساÙ_٠اÙÙ/ Ø£Ùار_ÙÙÙÙÙ/ ØزÙراÙ_ÙÙÙÙÙ/ ت٠Ùز_أغسطس/ آب_سبت٠بر/ Ø£ÙÙÙÙ_Ø£ÙتÙبر/ تشرÙ٠اÙØ£ÙÙ_ÙÙÙ٠بر/ تشرÙ٠اÙثاÙÙ_دÙس٠بر/ ÙاÙÙ٠اÙØ£ÙÙ".split("_"), -monthsShort : "ÙÙاÙر/ ÙاÙÙ٠اÙثاÙÙ_ÙبراÙر/ شباط_٠ارس/ آذار_أبرÙÙ/ ÙÙساÙ_٠اÙÙ/ Ø£Ùار_ÙÙÙÙÙ/ ØزÙراÙ_ÙÙÙÙÙ/ ت٠Ùز_أغسطس/ آب_سبت٠بر/ Ø£ÙÙÙÙ_Ø£ÙتÙبر/ تشرÙ٠اÙØ£ÙÙ_ÙÙÙ٠بر/ تشرÙ٠اÙثاÙÙ_دÙس٠بر/ ÙاÙÙ٠اÙØ£ÙÙ".split("_"), -weekdays : "اÙØ£Øد_اÙإثÙÙÙ_اÙØ«Ùاثاء_اÙأربعاء_اÙخ٠Ùس_اÙج٠عة_اÙسبت".split("_"), -weekdaysShort : "اÙØ£Øد_اÙإثÙÙÙ_اÙØ«Ùاثاء_اÙأربعاء_اÙخ٠Ùس_اÙج٠عة_اÙسبت".split("_"), -weekdaysMin : "Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"), -longDateFormat : { -LT : "HH:mm", -L : "DD/MM/", -LL : "D ", -LLL : "D LT", - : " D LT" -}, -calendar : { -sameDay: "[اÙÙÙ٠عÙ٠اÙساعة] LT", -nextDay: '[غدا عÙ٠اÙساعة] LT', -nextWeek: ' [عÙ٠اÙساعة] LT', -lastDay: '[أ٠س عÙ٠اÙساعة] LT', -lastWeek: '
[19/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment.min.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment.min.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment.min.js deleted file mode 100644 index 29e1cef..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment.min.js +++ /dev/null @@ -1,6 +0,0 @@ -//! moment.js -//! version : 2.5.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -(function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function c(a,b){return function(c){return k(a.call(this,c),b)}}function d(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function e(){}function f(a){w(a),h(this,a)}function g(a){var b=q(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function h(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function i(a){var b,c={};for(b in a)a.hasOwnProperty(b)&(b)&&(c[b]=a[b]);return c}function j(a){return 0>a?Math.ceil(a):Math.floor(a)}function k(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&[d]!==b[d]||!c&(a[d])!==s(b[d]))&++;return g+f}function p(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Tb[a]||Ub[b]||b}return a}function q(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=p(c),b&&(d[b]=a[c]));return d}function r(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}db[b]=function(e,f){var g,h,i=db.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=db().u tc().set(d,a);return i.call(db.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function s(a){var b=+a,c=0;return 0!==b&(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function t(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function u(a){return v(a)?366:365}function v(a){return a%4===0&%100!==0||a%400===0}function w(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[jb]<0||a._a[jb]>11?jb:a._a[kb]<1||a._a[kb]>t(a._a[ib],a._a[jb])?kb:a._a[lb]<0||a._a[lb]>23?lb:a._a[mb]<0||a._a[mb]>59?mb:a._a[nb]<0||a._a[nb]>59?nb:a._a[ob]<0||a._a[ob]>999?ob:-1,a._pf._overflowDayOfYear&&(ib>b||b>kb)&&(b=kb),a._pf.overflow=b)}function x(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&_pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function y(a){return a?a.toLowerCase().replace("_","-" ):a}function z(a,b){return b._isUTC?db(a).zone(b._offset||0):db(a).local()}function A(a,b){return b.abbr=a,pb[a]||(pb[a]=new e),pb[a].set(b),pb[a]}function B(a){delete pb[a]}function C(a){var b,c,d,e,f=0,g=function(a){if(!pb[a]&)try{require("./lang/"+a)}catch(b){}return pb[a]};if(!a)return db.fn._lang;if(!m(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&>=b&(e,d,!0)>=b-1)break;b--}f++}return db.fn._lang}function D(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function E(a){var b,c,d=a.match(vb);for(b=0,c=d.length;c>b;b++)d[b]=Yb[d[b]]?Yb[d[b]]:D(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function F(a,b){return a.isValid()?(b=G(b,a.lang()),Vb[b]||(Vb[b]=E(b)),Vb[b](a)):a.lang().invalidDate()}function G(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;f or(wb.lastIndex=0;d>=0&(a);)a=a.replace(wb,c),wb.lastIndex=0,d-=1;return a}function H(a,b){var c,d=b._strict;switch(a){case"":return Ib;case"":case"":case"":return d?Jb:zb;case"Y":case"G":case"g":return Lb;case"YY":case"Y":case"G":case"g":return d?Kb:Ab;case"S":if(d)return Gb;case"SS":if(d)return
[11/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap.js deleted file mode 100644 index ac18347..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap.js +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @license AngularJS v1.0.7 - * (c) 2010-2012 Google, Inc. http://angularjs.org - * License: MIT - */ -(function (window, angular, undefined) { -'use strict'; - -var directive = {}; - -directive.dropdownToggle = -['$document', '$location', '$window', -function ($document, $location, $window) { -var openElement = null, close; -return { -restrict: 'C', -link: function (scope, element, attrs) { -scope.$watch(function dropdownTogglePathWatch() { -return $location.path(); -}, function dropdownTogglePathWatchAction() { -close && close(); -}); - -element.parent().bind('click', function (event) { -close && close(); -}); - -element.bind('click', function (event) { -event.preventDefault(); -event.stopPropagation(); - -var iWasOpen = false; - -if (openElement) { -iWasOpen = openElement === element; -close(); -} - -if (!iWasOpen) { -element.parent().addClass('open'); -openElement = element; - -close = function (event) { -event && event.preventDefault(); -event && event.stopPropagation(); -$document.unbind('click', close); -element.parent().removeClass('open'); -close = null; -openElement = null; -} - -$document.bind('click', close); -} -}); -} -}; -}]; - - -directive.tabbable = function () { -return { -restrict: 'C', -compile: function (element) { -var navTabs = angular.element(''), -tabContent = angular.element(''); - -tabContent.append(element.contents()); -element.append(navTabs).append(tabContent); -}, -controller: ['$scope', '$element', function ($scope, $element) { -var navTabs = $element.contents().eq(0), -ngModel = $element.controller('ngModel') || {}, -tabs = [], -selectedTab; - -ngModel.$render = function () { -var $viewValue = this.$viewValue; - -if (selectedTab ? (selectedTab.value != $viewValue) : $viewValue) { -if (selectedTab) { -selectedTab.paneElement.removeClass('active'); -selectedTab.tabElement.removeClass('active'); -selectedTab = null; -} -if ($viewValue) { -for (var i = 0, ii = tabs.length; i < ii; i++) { -if ($viewValue == tabs[i].value) { -selectedTab = tabs[i]; -break; -} -} -if (selectedTab) { -selectedTab.paneElement.addClass('active'); -selectedTab.tabElement.addClass('active'); -} -} - -} -}; - -this.addPane = function (element, attr) { -var li = angular.element(''), -a = li.find('a'), -tab = { -paneElement: element, -paneAttrs: attr, -
aurora git commit: Add release notes for new UI
Repository: aurora Updated Branches: refs/heads/master 2aa968624 -> 2507e6f59 Add release notes for new UI Reviewed at https://reviews.apache.org/r/63306/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/2507e6f5 Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/2507e6f5 Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/2507e6f5 Branch: refs/heads/master Commit: 2507e6f59958af74e1e9ead720ece92b4ab2f12c Parents: 2aa9686 Author: David McLaughlinAuthored: Wed Oct 25 14:51:46 2017 -0700 Committer: David McLaughlin Committed: Wed Oct 25 14:51:46 2017 -0700 -- RELEASE-NOTES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/aurora/blob/2507e6f5/RELEASE-NOTES.md -- diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index bc11e3b..51c60c7 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -20,7 +20,9 @@ - Added scheduler command line argument `-hold_offers_forever`, suitable for use in clusters where Aurora is the only framework. This setting disables other options such as `-min_offer_hold_time`, and allows the scheduler to more efficiently cache scheduling attempts. -- The schduler no longer uses an internal H2 database for storage. +- The scheduler no longer uses an internal H2 database for storage. +- There is a new Scheduler UI which, in addition to the facelift, provides the ability to inject your + own custom UI components. ### Deprecations and removals:
[34/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js b/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js deleted file mode 100644 index fa6a861..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * angular-ui-bootstrap - * http://angular-ui.github.io/bootstrap/ - - * Version: 0.11.0 - 2014-05-01 - * License: MIT - */ -angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.htm l","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&(f),i||h.resolve(d)}),h.promise.cancel=functio n(){i&(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){if(k)k=!1,i(),c.css({height:0});else{c.css({height:c[0].scrollHeight+"px"});{c[0].offsetWidth}c.removeClass( "collapse in").addClass("collapsing"),e({height:0}).then(i)}}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion"
[27/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.map -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.map b/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.map deleted file mode 100644 index 84daa2a..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.map +++ /dev/null @@ -1,8 +0,0 @@ -{ -"version":3, -"file":"angular.min.js", -"lineCount":201, -"mappings":"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
[33/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.js b/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.js deleted file mode 100644 index c93f0de..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular-bootstrap/ui-bootstrap.js +++ /dev/null @@ -1,3799 +0,0 @@ -/* - * angular-ui-bootstrap - * http://angular-ui.github.io/bootstrap/ - - * Version: 0.11.0 - 2014-05-01 - * License: MIT - */ -angular.module("ui.bootstrap", ["ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]); -angular.module('ui.bootstrap.transition', []) - -/** - * $transition service provides a consistent interface to trigger CSS 3 transitions and to be informed when they complete. - * @param {DOMElement} element The DOMElement that will be animated. - * @param {string|object|function} trigger The thing that will cause the transition to start: - * - As a string, it represents the css class to be added to the element. - * - As an object, it represents a hash of style attributes to be applied to the element. - * - As a function, it represents a function to be called that will cause the transition to occur. - * @return {Promise} A promise that is resolved when the transition finishes. - */ -.factory('$transition', ['$q', '$timeout', '$rootScope', function($q, $timeout, $rootScope) { - - var $transition = function(element, trigger, options) { -options = options || {}; -var deferred = $q.defer(); -var endEventName = $transition[options.animation ? 'animationEndEventName' : 'transitionEndEventName']; - -var transitionEndHandler = function(event) { - $rootScope.$apply(function() { -element.unbind(endEventName, transitionEndHandler); -deferred.resolve(element); - }); -}; - -if (endEventName) { - element.bind(endEventName, transitionEndHandler); -} - -// Wrap in a timeout to allow the browser time to update the DOM before the transition is to occur -$timeout(function() { - if ( angular.isString(trigger) ) { -element.addClass(trigger); - } else if ( angular.isFunction(trigger) ) { -trigger(element); - } else if ( angular.isObject(trigger) ) { -element.css(trigger); - } - //If browser does not support transitions, instantly resolve - if ( !endEventName ) { -deferred.resolve(element); - } -}); - -// Add our custom cancel function to the promise that is returned -// We can call this if we are about to run a new transition, which we know will prevent this transition from ending, -// i.e. it will therefore never raise a transitionEnd event for that transition -deferred.promise.cancel = function() { - if ( endEventName ) { -element.unbind(endEventName, transitionEndHandler); - } - deferred.reject('Transition cancelled'); -}; - -return deferred.promise; - }; - - // Work out the name of the transitionEnd event - var transElement = document.createElement('trans'); - var transitionEndEventNames = { -'WebkitTransition': 'webkitTransitionEnd', -'MozTransition': 'transitionend', -'OTransition': 'oTransitionEnd', -'transition': 'transitionend' - }; - var animationEndEventNames = { -'WebkitTransition': 'webkitAnimationEnd', -'MozTransition': 'animationend', -'OTransition': 'oAnimationEnd', -'transition': 'animationend' - }; - function findEndEventName(endEventNames) { -for (var name in endEventNames){ - if (transElement.style[name] !== undefined) { -return endEventNames[name]; - } -} - } - $transition.transitionEndEventName = findEndEventName(transitionEndEventNames); - $transition.animationEndEventName = findEndEventName(animationEndEventNames); - return $transition; -}]); - -angular.module('ui.bootstrap.collapse', ['ui.bootstrap.transition']) - - .directive('collapse', ['$transition', function ($transition) { - -return { - link: function (scope, element, attrs) { - -var initialAnimSkip = true; -var currentTransition; - -function doTransition(change) { - var newTransition = $transition(element, change); - if (currentTransition) { -currentTransition.cancel(); - } -
[20/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.min.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.min.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.min.js deleted file mode 100644 index c200447..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/min/moment-with-langs.min.js +++ /dev/null @@ -1,9 +0,0 @@ -//! moment.js -//! version : 2.5.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -(function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function c(a,b){return function(c){return k(a.call(this,c),b)}}function d(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function e(){}function f(a){w(a),h(this,a)}function g(a){var b=q(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function h(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function i(a){var b,c={};for(b in a)a.hasOwnProperty(b)&(b)&&(c[b]=a[b]);return c}function j(a){return 0>a?Math.ceil(a):Math.floor(a)}function k(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&[d]!==b[d]||!c&(a[d])!==s(b[d]))&++;return g+f}function p(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Tb[a]||Ub[b]||b}return a}function q(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=p(c),b&&(d[b]=a[c]));return d}function r(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}db[b]=function(e,f){var g,h,i=db.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=db().u tc().set(d,a);return i.call(db.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function s(a){var b=+a,c=0;return 0!==b&(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function t(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function u(a){return v(a)?366:365}function v(a){return a%4===0&%100!==0||a%400===0}function w(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[jb]<0||a._a[jb]>11?jb:a._a[kb]<1||a._a[kb]>t(a._a[ib],a._a[jb])?kb:a._a[lb]<0||a._a[lb]>23?lb:a._a[mb]<0||a._a[mb]>59?mb:a._a[nb]<0||a._a[nb]>59?nb:a._a[ob]<0||a._a[ob]>999?ob:-1,a._pf._overflowDayOfYear&&(ib>b||b>kb)&&(b=kb),a._pf.overflow=b)}function x(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&_pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function y(a){return a?a.toLowerCase().replace("_","-" ):a}function z(a,b){return b._isUTC?db(a).zone(b._offset||0):db(a).local()}function A(a,b){return b.abbr=a,pb[a]||(pb[a]=new e),pb[a].set(b),pb[a]}function B(a){delete pb[a]}function C(a){var b,c,d,e,f=0,g=function(a){if(!pb[a]&)try{require("./lang/"+a)}catch(b){}return pb[a]};if(!a)return db.fn._lang;if(!m(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&>=b&(e,d,!0)>=b-1)break;b--}f++}return db.fn._lang}function D(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function E(a){var b,c,d=a.match(vb);for(b=0,c=d.length;c>b;b++)d[b]=Yb[d[b]]?Yb[d[b]]:D(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function F(a,b){return a.isValid()?(b=G(b,a.lang()),Vb[b]||(Vb[b]=E(b)),Vb[b](a)):a.lang().invalidDate()}function G(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;f or(wb.lastIndex=0;d>=0&(a);)a=a.replace(wb,c),wb.lastIndex=0,d-=1;return a}function H(a,b){var c,d=b._strict;switch(a){case"":return Ib;case"":case"":case"":return d?Jb:zb;case"Y":case"G":case"g":return Lb;case"YY":case"Y":case"G":case"g":return
[28/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.gzip -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.gzip b/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.gzip deleted file mode 100644 index e9a5d9e..000 Binary files a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js.gzip and /dev/null differ
[29/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js b/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js deleted file mode 100644 index 0ba64ea..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/angular/angular.min.js +++ /dev/null @@ -1,202 +0,0 @@ -/* - AngularJS v1.2.9 - (c) 2010-2014 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(Z,Q,r){'use strict';function F(b){return function(){var a=arguments[0],c,a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.9/"+(b?b+"/":"")+a;for(c=1;c
[25/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/gl.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/gl.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/gl.js deleted file mode 100644 index 8b14127..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/gl.js +++ /dev/null @@ -1,71 +0,0 @@ -// moment.js language configuration -// language : galician (gl) -// author : Juan G. Hurtado : https://github.com/juanghurtado - -(function (factory) { -if (typeof define === 'function' && define.amd) { -define(['moment'], factory); // AMD -} else if (typeof exports === 'object') { -module.exports = factory(require('../moment')); // Node -} else { -factory(window.moment); // Browser global -} -}(function (moment) { -return moment.lang('gl', { -months : "Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"), -monthsShort : "Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"), -weekdays : "Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"), -weekdaysShort : "Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"), -weekdaysMin : "Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"), -longDateFormat : { -LT : "H:mm", -L : "DD/MM/", -LL : "D ", -LLL : "D LT", - : " D LT" -}, -calendar : { -sameDay : function () { -return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; -}, -nextDay : function () { -return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; -}, -nextWeek : function () { -return ' [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; -}, -lastDay : function () { -return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; -}, -lastWeek : function () { -return '[o] [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; -}, -sameElse : 'L' -}, -relativeTime : { -future : function (str) { -if (str === "uns segundos") { -return "nuns segundos"; -} -return "en " + str; -}, -past : "hai %s", -s : "uns segundos", -m : "un minuto", -mm : "%d minutos", -h : "unha hora", -hh : "%d horas", -d : "un dÃa", -dd : "%d dÃas", -M : "un mes", -MM : "%d meses", -y : "un ano", -yy : "%d anos" -}, -ordinal : '%dº', -week : { -dow : 1, // Monday is the first day of the week. -doy : 7 // The week that contains Jan 1st is the first week of the year. -} -}); -})); http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/he.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/he.js b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/he.js deleted file mode 100644 index b85dbe8..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/lang/he.js +++ /dev/null @@ -1,77 +0,0 @@ -// moment.js language configuration -// language : Hebrew (he) -// author : Tomer Cohen : https://github.com/tomer -// author : Moshe Simantov : https://github.com/DevelopmentIL -// author : Tal Ater : https://github.com/TalAter - -(function (factory) { -if (typeof define === 'function' && define.amd) { -define(['moment'], factory); // AMD -} else if (typeof exports === 'object') { -module.exports = factory(require('../moment')); // Node -} else { -factory(window.moment); // Browser global -} -}(function (moment) { -return moment.lang('he', { -months : "×× ××ר_פ×ר××ר_×רץ_×פר××_×××_××× ×_××××_××××ס×_ספ×××ר_××ק×××ר_× ××××ר_×צ××ר".split("_"), -monthsShort : "×× ×׳_פ×ר׳_×רץ_×פר׳_×××_××× ×_××××_×××׳_ספ×׳_××ק׳_× ××׳_×צ×׳".split("_"), -weekdays : "ר×ש××_×©× ×_ש××ש×_ר×××¢×_×××ש×_ש×ש×_ש×ת".split("_"), -weekdaysShort : "×׳_×׳_×׳_×׳_×׳_×׳_ש׳".split("_"), -weekdaysMin : "×_×_×_×_×_×_ש".split("_"), -longDateFormat : { -LT : "HH:mm", -L : "DD/MM/",
[13/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/logs/.gitignore -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/logs/.gitignore b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/logs/.gitignore deleted file mode 100644 index d6b7ef3..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/logs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/package.json -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/package.json b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/package.json deleted file mode 100644 index 4417067..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "Smart-Table", - "version": "0.2.1", - "description": "a table/grid for AngularJS", - "main": "smart-table-module", - "directories": { -"test": "test", -"example": "example-app" - }, - "scripts": { -"webServer": "scripts/web-server.js" - }, - "repository": { -"type": "git", -"url": "https://github.com/lorenzofox3/Smart-Table.git; - }, - "keywords": [ -"table", -"grid", -"angularjs" - ], - "author": "Laurent Renard", - "license": "MIT", - "readmeFilename": "README.md", - "devDependencies": { -"grunt": "~0.4.1", -"grunt-contrib-concat": "~0.3.0", -"grunt-contrib-clean": "~0.4.1", -"grunt-html2js": "~0.1.3", -"grunt-contrib-copy": "~0.4.1", -"grunt-contrib-uglify": "~0.2.1", -"grunt-regex-replace": "~0.2.5", -"grunt-karma": "~0.6.2", -"karma-complexity-preprocessor": "~0.1.0" - } -} http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.bat -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.bat b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.bat deleted file mode 100644 index 0b2aee6..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off - -REM Windows script for running e2e tests -REM You have to run server and capture some browser first -REM -REM Requirements: -REM - NodeJS (http://nodejs.org/) -REM - Karma (npm install -g karma) - -set BASE_DIR=%~dp0 -karma start "%BASE_DIR%\..\config\karma-e2e.conf.js" %* http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.sh -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.sh b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.sh deleted file mode 100755 index 175c108..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/e2e-test.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -BASE_DIR=`dirname $0` - -echo "" -echo "Starting Karma Server (http://vojtajina.github.com/testacular)" -echo "---" - -karma start $BASE_DIR/../config/karma-e2e.conf.js $* http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/test.bat -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/test.bat b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/test.bat deleted file mode 100644 index 192fa03..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/test.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off - -REM Windows script for running unit tests -REM You have to run server and capture some browser first -REM -REM Requirements: -REM - NodeJS (http://nodejs.org/) -REM - Karma (npm install -g karma) - -set BASE_DIR=%~dp0 -karma start "%BASE_DIR%\..\config\karma.conf.js" %* http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/test.sh -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/test.sh b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/scripts/test.sh deleted file mode 100755
[15/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/index.html -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/index.html b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/index.html deleted file mode 100644 index 7da224f..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -My AngularJS App - - - - - - - - - - - - http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/js/Smart-Table.debug.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/js/Smart-Table.debug.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/js/Smart-Table.debug.js deleted file mode 100644 index e453e7d..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/example-app/js/Smart-Table.debug.js +++ /dev/null @@ -1,953 +0,0 @@ -/* Column module */ - -(function (global, angular) { -"use strict"; -var smartTableColumnModule = angular.module('smartTable.column', ['smartTable.templateUrlList']).constant('DefaultColumnConfiguration', { -isSortable: true, -isEditable: false, -type: 'text', - - -//it is useless to have that empty strings, but it reminds what is available -headerTemplateUrl: '', -map: '', -label: '', -sortPredicate: '', -formatFunction: '', -formatParameter: '', -filterPredicate: '', -cellTemplateUrl: '', -headerClass: '', -cellClass: '' -}); - -function ColumnProvider(DefaultColumnConfiguration, templateUrlList) { - -function Column(config) { -if (!(this instanceof Column)) { -return new Column(config); -} -angular.extend(this, config); -} - -this.setDefaultOption = function (option) { -angular.extend(Column.prototype, option); -}; - -DefaultColumnConfiguration.headerTemplateUrl = templateUrlList.defaultHeader; -this.setDefaultOption(DefaultColumnConfiguration); - -this.$get = function () { -return Column; -}; -} - -ColumnProvider.$inject = ['DefaultColumnConfiguration', 'templateUrlList']; -smartTableColumnModule.provider('Column', ColumnProvider); - -//make it global so it can be tested -global.ColumnProvider = ColumnProvider; -})(window, angular); - - - -/* Directives */ -(function (angular) { -"use strict"; -angular.module('smartTable.directives', ['smartTable.templateUrlList', 'smartTable.templates']) -.directive('smartTable', ['templateUrlList', 'DefaultTableConfiguration', function (templateList, defaultConfig) { -return { -restrict: 'EA', -scope: { -columnCollection: '=columns', -dataCollection: '=rows', -config: '=' -}, -replace: 'true', -templateUrl: templateList.smartTable, -controller: 'TableCtrl', -link: function (scope, element, attr, ctrl) { - -var templateObject; - -scope.$watch('config', function (config) { -var newConfig = angular.extend({}, defaultConfig, config), -length = scope.columns !== undefined ? scope.columns.length : 0; - -ctrl.setGlobalConfig(newConfig); - -//remove the checkbox column if needed -if (newConfig.selectionMode !== 'multiple' || newConfig.displaySelectionCheckbox !== true) { -for (var i = length - 1; i >= 0; i--) { -if (scope.columns[i].isSelectionColumn === true) { -ctrl.removeColumn(i); -} -} -} else { -//add selection box column if required -ctrl.insertColumn({cellTemplateUrl: templateList.selectionCheckbox, headerTemplateUrl: templateList.selectAllCheckbox, isSelectionColumn: true}, 0); -} -}, true); - -//insert columns from column config -scope.$watch('columnCollection', function (oldValue, newValue) { - -ctrl.clearColumns(); - -if (scope.columnCollection) { -
[17/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/momentjs/readme.md -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/readme.md b/3rdparty/javascript/scheduler/assets/bower_components/momentjs/readme.md deleted file mode 100644 index ae685ba..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/momentjs/readme.md +++ /dev/null @@ -1,349 +0,0 @@ -A lightweight javascript date library for parsing, validating, manipulating, and formatting dates. - -# [Documentation](http://momentjs.com/docs/) - -Upgrading to 2.0.0 -== - -There are a number of small backwards incompatible changes with version 2.0.0. - -[See them and their descriptions here](https://gist.github.com/timrwood/e72f2eef320ed9e37c51#backwards-incompatible-changes) - -Changed language ordinal method to return the number + ordinal instead of just the ordinal. - -Changed two digit year parsing cutoff to match strptime. - -Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`. - -Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`. - -Removed the lang data objects from the top level namespace. - -Duplicate `Date` passed to `moment()` instead of referencing it. - -Travis Build Status -=== - -Develop [![Build Status](https://travis-ci.org/moment/moment.png?branch=develop)](https://travis-ci.org/moment/moment) - -Master [![Build Status](https://travis-ci.org/moment/moment.png?branch=master)](https://travis-ci.org/moment/moment) - -For developers -== - -You need [node](http://nodejs.org/), use [nvm](https://github.com/creationix/nvm) or [nenv](https://github.com/ryuone/nenv) to install it. - -Then, in your shell - -```bash -git clone https://github.com/moment/moment.git -cd moment -npm install -g grunt-cli -npm install -git checkout develop # all patches against develop branch, please! -grunt # this runs tests and jshint -``` - -Changelog -= - -### 2.5.1 - -* languages - * [#1392](https://github.com/moment/moment/issues/1392) Armenian (hy-am) - -* bugfixes - * [#1429](https://github.com/moment/moment/issues/1429) fixes [#1423](https://github.com/moment/moment/issues/1423) weird chrome-32 bug with js object creation - * [#1421](https://github.com/moment/moment/issues/1421) remove html entities from Welsh - * [#1418](https://github.com/moment/moment/issues/1418) fixes [#1401](https://github.com/moment/moment/issues/1401) improved non-padded tokens in strict matching - * [#1417](https://github.com/moment/moment/issues/1417) fixes [#1404](https://github.com/moment/moment/issues/1404) handle buggy moment object created by property cloning - * [#1398](https://github.com/moment/moment/issues/1398) fixes [#1397](https://github.com/moment/moment/issues/1397) fix Arabic-like week number parsing - * [#1396](https://github.com/moment/moment/issues/1396) add leftZeroFill(4) to and formats - * [#1373](https://github.com/moment/moment/issues/1373) use lowercase for months and days in Catalan - -* testing - * [#1374](https://github.com/moment/moment/issues/1374) run tests on multiple browser/os combos via SauceLabs and Travis - -### 2.5.0 [See changelog](https://gist.github.com/ichernev/8104451) - -* New languages - * Luxemburish (lb) [1247](https://github.com/moment/moment/issues/1247) - * Serbian (rs) [1319](https://github.com/moment/moment/issues/1319) - * Tamil (ta) [1324](https://github.com/moment/moment/issues/1324) - * Macedonian (mk) [1337](https://github.com/moment/moment/issues/1337) - -* Features - * [1311](https://github.com/moment/moment/issues/1311) Add quarter getter and format token `Q` - * [1303](https://github.com/moment/moment/issues/1303) strict parsing now respects number of digits per token (fix [1196](https://github.com/moment/moment/issues/1196)) - * 0d30bb7 add jspm support - * [1347](https://github.com/moment/moment/issues/1347) improve zone parsing - * [1362](https://github.com/moment/moment/issues/1362) support merideam parsing in Korean - -* 22 bugfixes - -### 2.4.0 - -* **Deprecate** globally exported moment, will be removed in next major -* New languages - * Farose (fo) [#1206](https://github.com/moment/moment/issues/1206) - * Tagalog/Filipino (tl-ph) [#1197](https://github.com/moment/moment/issues/1197) - * Welsh (cy) [#1215](https://github.com/moment/moment/issues/1215) -* Bugfixes - * properly handle Z at the end of iso RegExp [#1187](https://github.com/moment/moment/issues/1187) - * chinese meridian time improvements [#1076](https://github.com/moment/moment/issues/1076) - * fix language tests [#1177](https://github.com/moment/moment/issues/1177) - * remove some failing tests (that should have never existed :)) -[#1185](https://github.com/moment/moment/issues/1185) -
[12/36] aurora git commit: Remove the old UI and serve the new UI instead
http://git-wip-us.apache.org/repos/asf/aurora/blob/96c834a2/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap-prettify.js -- diff --git a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap-prettify.js b/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap-prettify.js deleted file mode 100644 index 0ea38fa..000 --- a/3rdparty/javascript/scheduler/assets/bower_components/smart-table/smart-table-module/lib/angular/angular-bootstrap-prettify.js +++ /dev/null @@ -1,1872 +0,0 @@ -/** - * @license AngularJS v1.0.7 - * (c) 2010-2012 Google, Inc. http://angularjs.org - * License: MIT - */ -(function (window, angular, undefined) { -'use strict'; - -var directive = {}; -var service = { value: {} }; - -var DEPENDENCIES = { -'angular.js': 'http://code.angularjs.org/' + angular.version.full + '/angular.min.js', -'angular-resource.js': 'http://code.angularjs.org/' + angular.version.full + '/angular-resource.min.js', -'angular-sanitize.js': 'http://code.angularjs.org/' + angular.version.full + '/angular-sanitize.min.js', -'angular-cookies.js': 'http://code.angularjs.org/' + angular.version.full + '/angular-cookies.min.js' -}; - - -function escape(text) { -return text. -replace(/\&/g, ''). -replace(/\/g, ''). -replace(/"/g, ''); -} - -/** - * http://stackoverflow.com/questions/451486/pre-tag-loses-line-breaks-when-setting-innerhtml-in-ie - * http://stackoverflow.com/questions/195363/inserting-a-newline-into-a-pre-tag-ie-javascript - */ -function setHtmlIe8SafeWay(element, html) { -var newElement = angular.element('' + html + ''); - -element.html(''); -element.append(newElement.contents()); -return element; -} - - -directive.jsFiddle = function (getEmbeddedTemplate, escape, script) { -return { -terminal: true, -link: function (scope, element, attr) { -var name = '', -stylesheet = 'http://twitter.github.com/bootstrap/assets/css/bootstrap.css;>\n', -fields = { -html: '', -css: '', -js: '' -}; - -angular.forEach(attr.jsFiddle.split(' '), function (file, index) { -var fileType = file.split('.')[1]; - -if (fileType == 'html') { -if (index == 0) { -fields[fileType] += -'\n' + -getEmbeddedTemplate(file, 2); -} else { -fields[fileType] += '\n\n\n \n' + -' \n' + -getEmbeddedTemplate(file, 4) + -' \n'; -} -} else { -fields[fileType] += getEmbeddedTemplate(file) + '\n'; -} -}); - -fields.html += '\n'; - -setHtmlIe8SafeWay(element, -'http://jsfiddle.net/api/post/library/pure/; target="_blank">' + -hiddenField('title', 'AngularJS Example: ' + name) + -hiddenField('css', ' \n' + -stylesheet + -script.angular + -(attr.resource ? script.resource : '') + -'\n' + -fields.css) + -hiddenField('html', fields.html) + -hiddenField('js', fields.js) + -'' + -''); - -function hiddenField(name, value) { -return ''; -} -} -} -}; - - -directive.code = function () { -return {restrict: 'E', terminal: true}; -}; - - -directive.prettyprint = ['reindentCode', function (reindentCode) { -return { -restrict: 'C', -terminal: true, -compile: function (element) { - element.html(window.prettyPrintOne(reindentCode(element.html()), undefined, true)); -} -}; -}]; - - -directive.ngSetText = ['getEmbeddedTemplate', function (getEmbeddedTemplate) { -return { -restrict: 'CA', -priority: 10, -compile: function (element,
aurora git commit: Refactor veto logic to use direct method calls as opposed to pubsub events.
Repository: aurora Updated Branches: refs/heads/master 96c834a24 -> 418813cf1 Refactor veto logic to use direct method calls as opposed to pubsub events. SchedulingFilterNotifier currently publishes veto events to be consumed by various metadata classes (NearestFit and TaskVars). These veto events cause a lot object allocations/async tasks. We can reduce the number of objects made by directly calling methods and not using pubsub events. Reviewed at https://reviews.apache.org/r/63236/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/418813cf Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/418813cf Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/418813cf Branch: refs/heads/master Commit: 418813cf128503836429bbf2bdf0b90221e97e1c Parents: 96c834a Author: Jordan LyAuthored: Wed Oct 25 10:21:55 2017 -0700 Committer: David McLaughlin Committed: Wed Oct 25 10:21:55 2017 -0700 -- .../org/apache/aurora/scheduler/TaskVars.java | 11 +++-- .../apache/aurora/scheduler/app/AppModule.java | 10 - .../events/NotifyingSchedulingFilter.java | 22 ++--- .../aurora/scheduler/events/PubsubEvent.java| 47 .../scheduler/events/PubsubEventModule.java | 16 --- .../aurora/scheduler/metadata/NearestFit.java | 19 .../apache/aurora/scheduler/TaskVarsTest.java | 17 +++ .../events/NotifyingSchedulingFilterTest.java | 17 --- .../scheduler/events/PubsubEventModuleTest.java | 4 -- .../aurora/scheduler/http/PendingTasksTest.java | 6 +-- .../scheduler/metadata/NearestFitTest.java | 5 +-- 11 files changed, 57 insertions(+), 117 deletions(-) -- http://git-wip-us.apache.org/repos/asf/aurora/blob/418813cf/src/main/java/org/apache/aurora/scheduler/TaskVars.java -- diff --git a/src/main/java/org/apache/aurora/scheduler/TaskVars.java b/src/main/java/org/apache/aurora/scheduler/TaskVars.java index 676dfd9..3911626 100644 --- a/src/main/java/org/apache/aurora/scheduler/TaskVars.java +++ b/src/main/java/org/apache/aurora/scheduler/TaskVars.java @@ -14,6 +14,7 @@ package org.apache.aurora.scheduler; import java.util.Map; +import java.util.Set; import java.util.concurrent.atomic.AtomicLong; import javax.inject.Inject; @@ -40,7 +41,6 @@ import org.apache.aurora.scheduler.base.JobKeys; import org.apache.aurora.scheduler.events.PubsubEvent.EventSubscriber; import org.apache.aurora.scheduler.events.PubsubEvent.TaskStateChange; import org.apache.aurora.scheduler.events.PubsubEvent.TasksDeleted; -import org.apache.aurora.scheduler.events.PubsubEvent.Vetoed; import org.apache.aurora.scheduler.filter.SchedulingFilter.Veto; import org.apache.aurora.scheduler.filter.SchedulingFilter.VetoGroup; import org.apache.aurora.scheduler.filter.SchedulingFilter.VetoType; @@ -56,7 +56,7 @@ import static java.util.Objects.requireNonNull; /** * A container that tracks and exports stat counters for tasks. */ -class TaskVars extends AbstractIdleService implements EventSubscriber { +public class TaskVars extends AbstractIdleService implements EventSubscriber { private static final Logger LOG = LoggerFactory.getLogger(TaskVars.class); private static final ImmutableSet TRACKED_JOB_STATES = ImmutableSet.of(ScheduleStatus.LOST, ScheduleStatus.FAILED); @@ -221,13 +221,12 @@ class TaskVars extends AbstractIdleService implements EventSubscriber { } } - @Subscribe - public void taskVetoed(Vetoed event) { -VetoGroup vetoGroup = Veto.identifyGroup(event.getVetoes()); + public void taskVetoed(Set vetoes) { +VetoGroup vetoGroup = Veto.identifyGroup(vetoes); if (vetoGroup != VetoGroup.EMPTY) { counters.getUnchecked(VETO_GROUPS_TO_COUNTERS.get(vetoGroup)).increment(); } -for (Veto veto : event.getVetoes()) { +for (Veto veto : vetoes) { counters.getUnchecked(VETO_TYPE_TO_COUNTERS.get(veto.getVetoType())).increment(); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/418813cf/src/main/java/org/apache/aurora/scheduler/app/AppModule.java -- diff --git a/src/main/java/org/apache/aurora/scheduler/app/AppModule.java b/src/main/java/org/apache/aurora/scheduler/app/AppModule.java index 40579db..3204cca 100644 --- a/src/main/java/org/apache/aurora/scheduler/app/AppModule.java +++ b/src/main/java/org/apache/aurora/scheduler/app/AppModule.java @@ -40,7 +40,9 @@ import org.apache.aurora.scheduler.config.CliOptions; import org.apache.aurora.scheduler.config.validators.PositiveNumber; import org.apache.aurora.scheduler.configuration.ConfigurationManager; import
aurora git commit: Add a package.json file in the plugin directory to allow custom dependencies
Repository: aurora Updated Branches: refs/heads/master 418813cf1 -> 2aa968624 Add a package.json file in the plugin directory to allow custom dependencies Problem: if you're using the plugin mechanism of the new UI, you cannot add your own custom dependencies without a fork of the package.json file. This adds a package.json file into the plugin diretory that is used to install dependencies into the main node_modules directory. With this separate package.json file, we remove the burden of upstream merge conflicts. Reviewed at https://reviews.apache.org/r/63262/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/2aa96862 Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/2aa96862 Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/2aa96862 Branch: refs/heads/master Commit: 2aa968624d5e5b9bc457f19d7550efd10c818367 Parents: 418813c Author: David McLaughlinAuthored: Wed Oct 25 13:00:04 2017 -0700 Committer: David McLaughlin Committed: Wed Oct 25 13:00:04 2017 -0700 -- build.gradle | 9 - ui/plugin/package.json | 9 + ui/webpack.config.js | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/aurora/blob/2aa96862/build.gradle -- diff --git a/build.gradle b/build.gradle index d110d4a..1c1d381 100644 --- a/build.gradle +++ b/build.gradle @@ -145,7 +145,14 @@ project(':ui') { args = ['test'] } - task install(type: NpmTask) { + task pluginInstall(type: NpmTask) { +inputs.files(file('plugin/package.json')) +outputs.files(fileTree('node_modules')) + +args = ['install', 'plugin/'] + } + + task install(type: NpmTask, dependsOn: 'pluginInstall') { inputs.files(file('package.json')) outputs.files(fileTree('node_modules')) // Install into the project dir to sandbox everything under ui/ http://git-wip-us.apache.org/repos/asf/aurora/blob/2aa96862/ui/plugin/package.json -- diff --git a/ui/plugin/package.json b/ui/plugin/package.json new file mode 100644 index 000..ea7c834 --- /dev/null +++ b/ui/plugin/package.json @@ -0,0 +1,9 @@ +{ + "name": "aurora-ui-plugin", + "version": "1.0.0", + "description": "Use this package.json to enter your own custom npm dependencies (for custom UIs)", + "scripts": { +"test": "echo \"Error: no test specified\" && exit 1" + }, + "dependencies": {} +} http://git-wip-us.apache.org/repos/asf/aurora/blob/2aa96862/ui/webpack.config.js -- diff --git a/ui/webpack.config.js b/ui/webpack.config.js index 60e611c..363abdd 100644 --- a/ui/webpack.config.js +++ b/ui/webpack.config.js @@ -2,7 +2,7 @@ var path = require('path'); var webpack = require('webpack'); var SOURCE_PATH = path.resolve(__dirname, 'src/main/js'); -var EXTENSION_PATH = path.resolve(__dirname, 'plugin/js') +var EXTENSION_PATH = path.resolve(__dirname, 'plugin/js'); module.exports = { devtool: 'source-map',
[5/5] aurora git commit: Exclusively use Map-based in-memory stores for primary storage
Exclusively use Map-based in-memory stores for primary storage This patch introduces map-based volatile stores, most of which were revived from git history with minimal changes. The DB storage system is now only used in a temporary storage when replaying a snapshot containing the `dbScript` field. Note that this change removes the transactional nature of in-memory storage operations as well as the `READ COMMITTED` transaction isolation previously available to some stores (proven in necessary changes to `StorageTransactionTest`). This means some stores will permit dirty reads when they previously did not. `TaskStore` has always had this non-transactional behavior by default, as the DB task store was never deemed suitable for production. Nonetheless, this non-transactional behavior should be considered safe as the scheduler fails over on a storage operation failure, and relies on the persistent log storage for transaction atomicity. Reviewed at https://reviews.apache.org/r/62869/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/f2755e1c Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/f2755e1c Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/f2755e1c Branch: refs/heads/master Commit: f2755e1cdd67f3c1516726c21d6e8f13059a5a01 Parents: 38476ab Author: Bill FarnerAuthored: Tue Oct 24 23:34:09 2017 -0700 Committer: Bill Farner Committed: Tue Oct 24 23:34:09 2017 -0700 -- RELEASE-NOTES.md| 12 + .../thrift/org/apache/aurora/gen/storage.thrift |3 +- docs/reference/scheduler-configuration.md | 20 - .../upstart/aurora-scheduler-kerberos.conf |1 - examples/vagrant/upstart/aurora-scheduler.conf |2 - .../aurora/benchmark/SchedulingBenchmarks.java |4 +- .../aurora/benchmark/SnapshotBenchmarks.java| 13 +- .../benchmark/StateManagerBenchmarks.java |5 +- .../aurora/benchmark/StatusUpdateBenchmark.java |4 +- .../aurora/benchmark/TaskStoreBenchmarks.java | 23 +- .../aurora/benchmark/ThriftApiBenchmarks.java |5 +- .../aurora/benchmark/UpdateStoreBenchmarks.java |8 +- .../aurora/scheduler/app/SchedulerMain.java | 10 +- .../aurora/scheduler/config/CliOptions.java |4 - .../scheduler/http/JettyServerModule.java |1 - .../scheduler/storage/JobUpdateStore.java | 16 + .../aurora/scheduler/storage/Storage.java | 21 +- .../apache/aurora/scheduler/storage/Util.java | 45 + .../storage/backup/TemporaryStorage.java| 22 +- .../scheduler/storage/db/DbJobUpdateStore.java | 16 +- .../aurora/scheduler/storage/db/DbModule.java | 72 +- .../aurora/scheduler/storage/db/DbStorage.java | 13 +- .../aurora/scheduler/storage/db/DbUtil.java | 12 - .../scheduler/storage/log/LogStorageModule.java | 20 +- .../storage/log/SnapshotStoreImpl.java | 208 +--- .../storage/log/WriteAheadStorage.java |6 - .../storage/mem/InMemStoresModule.java | 65 -- .../storage/mem/MemAttributeStore.java | 82 ++ .../storage/mem/MemJobUpdateStore.java | 396 +++ .../scheduler/storage/mem/MemLockStore.java | 72 ++ .../scheduler/storage/mem/MemQuotaStore.java| 56 + .../storage/mem/MemSchedulerStore.java | 38 + .../scheduler/storage/mem/MemStorage.java | 103 ++ .../scheduler/storage/mem/MemStorageModule.java | 107 ++ .../aurora/scheduler/storage/mem/Util.java | 47 - .../updater/JobUpdateControllerImpl.java| 12 +- .../aurora/scheduler/app/SchedulerIT.java |2 +- .../scheduler/app/local/LocalSchedulerMain.java | 11 - .../scheduler/config/CommandLineTest.java | 19 - .../cron/quartz/AuroraCronJobTest.java |8 +- .../aurora/scheduler/cron/quartz/CronIT.java|4 +- .../cron/quartz/CronJobManagerImplTest.java |4 +- .../aurora/scheduler/http/MaintenanceTest.java |4 +- .../scheduling/TaskSchedulerImplTest.java |4 +- .../scheduler/state/LockManagerImplTest.java|4 +- .../scheduler/state/StateManagerImplTest.java |4 +- .../scheduler/stats/ResourceCounterTest.java|4 +- .../storage/AbstractAttributeStoreTest.java | 176 +++ .../storage/AbstractJobUpdateStoreTest.java | 1046 ++ .../storage/AbstractLockStoreTest.java | 200 .../storage/AbstractQuotaStoreTest.java | 111 ++ .../storage/AbstractSchedulerStoreTest.java | 54 + .../scheduler/storage/backup/RecoveryTest.java |8 +- .../storage/db/AttributeStoreTest.java | 24 + .../scheduler/storage/db/CronJobStoreTest.java | 39 + .../storage/db/DbAttributeStoreTest.java| 175 --- .../storage/db/DbCronJobStoreTest.java | 39 -
[4/5] aurora git commit: Exclusively use Map-based in-memory stores for primary storage
http://git-wip-us.apache.org/repos/asf/aurora/blob/f2755e1c/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java -- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java new file mode 100644 index 000..d190add --- /dev/null +++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemJobUpdateStore.java @@ -0,0 +1,396 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.aurora.scheduler.storage.mem; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Predicate; +import java.util.function.Supplier; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import javax.inject.Inject; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multimaps; +import com.google.common.collect.Ordering; +import com.google.common.primitives.Longs; + +import org.apache.aurora.common.base.MorePreconditions; +import org.apache.aurora.common.inject.TimedInterceptor.Timed; +import org.apache.aurora.common.stats.StatsProvider; +import org.apache.aurora.gen.JobInstanceUpdateEvent; +import org.apache.aurora.gen.JobUpdateAction; +import org.apache.aurora.gen.JobUpdateDetails; +import org.apache.aurora.gen.JobUpdateEvent; +import org.apache.aurora.gen.JobUpdateState; +import org.apache.aurora.gen.JobUpdateStatus; +import org.apache.aurora.gen.LockKey; +import org.apache.aurora.gen.storage.StoredJobUpdateDetails; +import org.apache.aurora.scheduler.storage.JobUpdateStore; +import org.apache.aurora.scheduler.storage.LockStore; +import org.apache.aurora.scheduler.storage.Storage.StorageException; +import org.apache.aurora.scheduler.storage.entities.IJobInstanceUpdateEvent; +import org.apache.aurora.scheduler.storage.entities.IJobKey; +import org.apache.aurora.scheduler.storage.entities.IJobUpdate; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateDetails; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateEvent; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateInstructions; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateKey; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateQuery; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateSummary; +import org.apache.aurora.scheduler.storage.entities.ILock; +import org.apache.aurora.scheduler.storage.entities.ILockKey; + +import static java.util.Objects.requireNonNull; + +import static org.apache.aurora.scheduler.storage.Util.jobUpdateActionStatName; +import static org.apache.aurora.scheduler.storage.Util.jobUpdateStatusStatName; + +public class MemJobUpdateStore implements JobUpdateStore.Mutable { + + private static final Ordering REVERSE_LAST_MODIFIED_ORDER = Ordering.natural() + .reverse() + .onResultOf(u -> u.getUpdate().getSummary().getState().getLastModifiedTimestampMs()); + + private final Mapupdates = Maps.newConcurrentMap(); + private final LockStore lockStore; + private final LoadingCache jobUpdateEventStats; + private final LoadingCache jobUpdateActionStats; + + @Inject + public MemJobUpdateStore(LockStore.Mutable lockStore, StatsProvider statsProvider) { +this.lockStore = lockStore; +this.jobUpdateEventStats = CacheBuilder.newBuilder() +.build(new CacheLoader () { + @Override + public AtomicLong load(JobUpdateStatus status) { +return statsProvider.makeCounter(jobUpdateStatusStatName(status)); + } +}); +for (JobUpdateStatus status : JobUpdateStatus.values()) { + jobUpdateEventStats.getUnchecked(status).get(); +} +
[3/5] aurora git commit: Exclusively use Map-based in-memory stores for primary storage
http://git-wip-us.apache.org/repos/asf/aurora/blob/f2755e1c/src/test/java/org/apache/aurora/scheduler/storage/AbstractJobUpdateStoreTest.java -- diff --git a/src/test/java/org/apache/aurora/scheduler/storage/AbstractJobUpdateStoreTest.java b/src/test/java/org/apache/aurora/scheduler/storage/AbstractJobUpdateStoreTest.java new file mode 100644 index 000..5c82bcf --- /dev/null +++ b/src/test/java/org/apache/aurora/scheduler/storage/AbstractJobUpdateStoreTest.java @@ -0,0 +1,1046 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.aurora.scheduler.storage; + +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import com.google.common.base.Optional; +import com.google.common.collect.FluentIterable; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; +import com.google.inject.Injector; + +import org.apache.aurora.gen.InstanceTaskConfig; +import org.apache.aurora.gen.JobInstanceUpdateEvent; +import org.apache.aurora.gen.JobUpdate; +import org.apache.aurora.gen.JobUpdateAction; +import org.apache.aurora.gen.JobUpdateDetails; +import org.apache.aurora.gen.JobUpdateEvent; +import org.apache.aurora.gen.JobUpdateInstructions; +import org.apache.aurora.gen.JobUpdateKey; +import org.apache.aurora.gen.JobUpdateQuery; +import org.apache.aurora.gen.JobUpdateSettings; +import org.apache.aurora.gen.JobUpdateState; +import org.apache.aurora.gen.JobUpdateStatus; +import org.apache.aurora.gen.JobUpdateSummary; +import org.apache.aurora.gen.Lock; +import org.apache.aurora.gen.LockKey; +import org.apache.aurora.gen.Metadata; +import org.apache.aurora.gen.Range; +import org.apache.aurora.gen.TaskConfig; +import org.apache.aurora.gen.storage.StoredJobUpdateDetails; +import org.apache.aurora.scheduler.base.JobKeys; +import org.apache.aurora.scheduler.base.TaskTestUtil; +import org.apache.aurora.scheduler.storage.Storage.MutateWork.NoResult; +import org.apache.aurora.scheduler.storage.Storage.StorageException; +import org.apache.aurora.scheduler.storage.entities.IJobInstanceUpdateEvent; +import org.apache.aurora.scheduler.storage.entities.IJobKey; +import org.apache.aurora.scheduler.storage.entities.IJobUpdate; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateDetails; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateEvent; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateInstructions; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateKey; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateQuery; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateState; +import org.apache.aurora.scheduler.storage.entities.IJobUpdateSummary; +import org.apache.aurora.scheduler.storage.entities.ILock; +import org.apache.aurora.scheduler.storage.entities.ILockKey; +import org.apache.aurora.scheduler.storage.testing.StorageEntityUtil; +import org.apache.aurora.scheduler.testing.FakeStatsProvider; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_ROLLBACK_FAILED; +import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_ROLLED_BACK; +import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_ROLLING_BACK; +import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_UPDATED; +import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_UPDATING; +import static org.apache.aurora.gen.JobUpdateStatus.ABORTED; +import static org.apache.aurora.gen.JobUpdateStatus.ERROR; +import static org.apache.aurora.gen.JobUpdateStatus.FAILED; +import static org.apache.aurora.gen.JobUpdateStatus.ROLLED_BACK; +import static org.apache.aurora.gen.JobUpdateStatus.ROLLING_BACK; +import static org.apache.aurora.gen.JobUpdateStatus.ROLLING_FORWARD; +import static org.apache.aurora.gen.JobUpdateStatus.ROLL_BACK_PAUSED; +import static org.apache.aurora.gen.JobUpdateStatus.ROLL_FORWARD_PAUSED; +import static org.apache.aurora.gen.Resource.diskMb; +import static org.apache.aurora.gen.Resource.numCpus; +import static org.apache.aurora.gen.Resource.ramMb; +import static org.apache.aurora.scheduler.storage.Util.jobUpdateActionStatName; +import static
[2/5] aurora git commit: Exclusively use Map-based in-memory stores for primary storage
http://git-wip-us.apache.org/repos/asf/aurora/blob/f2755e1c/src/test/java/org/apache/aurora/scheduler/storage/db/DbJobUpdateStoreTest.java -- diff --git a/src/test/java/org/apache/aurora/scheduler/storage/db/DbJobUpdateStoreTest.java b/src/test/java/org/apache/aurora/scheduler/storage/db/DbJobUpdateStoreTest.java deleted file mode 100644 index 453c039..000 --- a/src/test/java/org/apache/aurora/scheduler/storage/db/DbJobUpdateStoreTest.java +++ /dev/null @@ -1,1046 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.aurora.scheduler.storage.db; - -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; -import com.google.inject.Injector; - -import org.apache.aurora.gen.InstanceTaskConfig; -import org.apache.aurora.gen.JobInstanceUpdateEvent; -import org.apache.aurora.gen.JobUpdate; -import org.apache.aurora.gen.JobUpdateAction; -import org.apache.aurora.gen.JobUpdateDetails; -import org.apache.aurora.gen.JobUpdateEvent; -import org.apache.aurora.gen.JobUpdateInstructions; -import org.apache.aurora.gen.JobUpdateKey; -import org.apache.aurora.gen.JobUpdateQuery; -import org.apache.aurora.gen.JobUpdateSettings; -import org.apache.aurora.gen.JobUpdateState; -import org.apache.aurora.gen.JobUpdateStatus; -import org.apache.aurora.gen.JobUpdateSummary; -import org.apache.aurora.gen.Lock; -import org.apache.aurora.gen.LockKey; -import org.apache.aurora.gen.Metadata; -import org.apache.aurora.gen.Range; -import org.apache.aurora.gen.TaskConfig; -import org.apache.aurora.gen.storage.StoredJobUpdateDetails; -import org.apache.aurora.scheduler.base.JobKeys; -import org.apache.aurora.scheduler.base.TaskTestUtil; -import org.apache.aurora.scheduler.storage.Storage; -import org.apache.aurora.scheduler.storage.Storage.MutateWork.NoResult; -import org.apache.aurora.scheduler.storage.Storage.StorageException; -import org.apache.aurora.scheduler.storage.entities.IJobInstanceUpdateEvent; -import org.apache.aurora.scheduler.storage.entities.IJobKey; -import org.apache.aurora.scheduler.storage.entities.IJobUpdate; -import org.apache.aurora.scheduler.storage.entities.IJobUpdateDetails; -import org.apache.aurora.scheduler.storage.entities.IJobUpdateEvent; -import org.apache.aurora.scheduler.storage.entities.IJobUpdateInstructions; -import org.apache.aurora.scheduler.storage.entities.IJobUpdateKey; -import org.apache.aurora.scheduler.storage.entities.IJobUpdateQuery; -import org.apache.aurora.scheduler.storage.entities.IJobUpdateSummary; -import org.apache.aurora.scheduler.storage.entities.ILock; -import org.apache.aurora.scheduler.storage.testing.StorageEntityUtil; -import org.apache.aurora.scheduler.testing.FakeStatsProvider; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_ROLLBACK_FAILED; -import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_ROLLED_BACK; -import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_ROLLING_BACK; -import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_UPDATED; -import static org.apache.aurora.gen.JobUpdateAction.INSTANCE_UPDATING; -import static org.apache.aurora.gen.JobUpdateStatus.ABORTED; -import static org.apache.aurora.gen.JobUpdateStatus.ERROR; -import static org.apache.aurora.gen.JobUpdateStatus.FAILED; -import static org.apache.aurora.gen.JobUpdateStatus.ROLLED_BACK; -import static org.apache.aurora.gen.JobUpdateStatus.ROLLING_BACK; -import static org.apache.aurora.gen.JobUpdateStatus.ROLLING_FORWARD; -import static org.apache.aurora.gen.JobUpdateStatus.ROLL_BACK_PAUSED; -import static org.apache.aurora.gen.JobUpdateStatus.ROLL_FORWARD_PAUSED; -import static org.apache.aurora.gen.Resource.diskMb; -import static org.apache.aurora.gen.Resource.numCpus; -import static org.apache.aurora.gen.Resource.ramMb; -import static org.apache.aurora.scheduler.storage.db.DbJobUpdateStore.jobUpdateActionStatName; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -public class DbJobUpdateStoreTest { - - private static final IJobKey JOB