You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@griffin.apache.org by gu...@apache.org on 2017/06/27 01:41:03 UTC
[45/51] [partial] incubator-griffin git commit: 20170627 update
angular
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-cookies/angular-cookies.min.js
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-cookies/angular-cookies.min.js b/ui/bower_components/angular-cookies/angular-cookies.min.js
deleted file mode 100644
index d767aee..0000000
--- a/ui/bower_components/angular-cookies/angular-cookies.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- AngularJS v1.5.8
- (c) 2010-2016 Google, Inc. http://angularjs.org
- License: MIT
-*/
-(function(n,c){'use strict';function l(b,a,g){var d=g.baseHref(),k=b[0];return function(b,e,f){var g,h;f=f||{};h=f.expires;g=c.isDefined(f.path)?f.path:d;c.isUndefined(e)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",e="");c.isString(h)&&(h=new Date(h));e=encodeURIComponent(b)+"="+encodeURIComponent(e);e=e+(g?";path="+g:"")+(f.domain?";domain="+f.domain:"");e+=h?";expires="+h.toUTCString():"";e+=f.secure?";secure":"";f=e.length+1;4096<f&&a.warn("Cookie '"+b+"' possibly not set or overflowed because it was too large ("+
-f+" > 4096 bytes)!");k.cookie=e}}c.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,g){return{get:function(d){return a()[d]},getObject:function(d){return(d=this.get(d))?c.fromJson(d):d},getAll:function(){return a()},put:function(d,a,m){g(d,a,m?c.extend({},b,m):b)},putObject:function(d,b,a){this.put(d,c.toJson(b),a)},remove:function(a,k){g(a,void 0,k?c.extend({},b,k):b)}}}]}]);c.module("ngCookies").factory("$cookieStore",
-["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,c){b.putObject(a,c)},remove:function(a){b.remove(a)}}}]);l.$inject=["$document","$log","$browser"];c.module("ngCookies").provider("$$cookieWriter",function(){this.$get=l})})(window,window.angular);
-//# sourceMappingURL=angular-cookies.min.js.map
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-cookies/angular-cookies.min.js.map
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-cookies/angular-cookies.min.js.map b/ui/bower_components/angular-cookies/angular-cookies.min.js.map
deleted file mode 100644
index 42f748a..0000000
--- a/ui/bower_components/angular-cookies/angular-cookies.min.js.map
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-"version":3,
-"file":"angular-cookies.min.js",
-"lineCount":8,
-"mappings":"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",
-"sources":["angular-cookies.js"],
-"names":["window","angular","$$CookieWriter","$document","$log","$browser","cookiePath","baseHref","rawDocument","name","value","options","path","expires","isDefined","isUndefined","isString","Date","str","encodeURIComponent","domain","toUTCString","secure","cookieLength","length","warn","cookie","module","provider","$CookiesProvider","defaults","$get","$$cookieReader","$$cookieWriter","get","key","getObject","fromJson","getAll","put","extend","putObject","toJson","remove","undefined","factory","$cookies","$inject","$$CookieWriterProvider"]
-}
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-cookies/bower.json
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-cookies/bower.json b/ui/bower_components/angular-cookies/bower.json
deleted file mode 100644
index 72f3a5f..0000000
--- a/ui/bower_components/angular-cookies/bower.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "angular-cookies",
- "version": "1.5.8",
- "license": "MIT",
- "main": "./angular-cookies.js",
- "ignore": [],
- "dependencies": {
- "angular": "1.5.8"
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-cookies/index.js
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-cookies/index.js b/ui/bower_components/angular-cookies/index.js
deleted file mode 100644
index 6576675..0000000
--- a/ui/bower_components/angular-cookies/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('./angular-cookies');
-module.exports = 'ngCookies';
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-cookies/package.json
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-cookies/package.json b/ui/bower_components/angular-cookies/package.json
deleted file mode 100644
index 296652c..0000000
--- a/ui/bower_components/angular-cookies/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "angular-cookies",
- "version": "1.5.8",
- "description": "AngularJS module for cookies",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/angular/angular.js.git"
- },
- "keywords": [
- "angular",
- "framework",
- "browser",
- "cookies",
- "client-side"
- ],
- "author": "Angular Core Team <an...@google.com>",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/angular/angular.js/issues"
- },
- "homepage": "http://angularjs.org",
- "jspm": {
- "shim": {
- "angular-cookies": {
- "deps": ["angular"]
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/.bower.json
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/.bower.json b/ui/bower_components/angular-route/.bower.json
deleted file mode 100644
index 9639a72..0000000
--- a/ui/bower_components/angular-route/.bower.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "angular-route",
- "version": "1.5.8",
- "license": "MIT",
- "main": "./angular-route.js",
- "ignore": [],
- "dependencies": {
- "angular": "1.5.8"
- },
- "homepage": "https://github.com/angular/bower-angular-route",
- "_release": "1.5.8",
- "_resolution": {
- "type": "version",
- "tag": "v1.5.8",
- "commit": "e96eff424fdd9689061659603ca59470375bf024"
- },
- "_source": "https://github.com/angular/bower-angular-route.git",
- "_target": "1.5.8",
- "_originalSource": "angular-route"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/LICENSE.md
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/LICENSE.md b/ui/bower_components/angular-route/LICENSE.md
deleted file mode 100644
index 2c395ee..0000000
--- a/ui/bower_components/angular-route/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2016 Angular
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/README.md
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/README.md b/ui/bower_components/angular-route/README.md
deleted file mode 100644
index 2cd4f90..0000000
--- a/ui/bower_components/angular-route/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# packaged angular-route
-
-This repo is for distribution on `npm` and `bower`. The source for this module is in the
-[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngRoute).
-Please file issues and pull requests against that repo.
-
-## Install
-
-You can install this package either with `npm` or with `bower`.
-
-### npm
-
-```shell
-npm install angular-route
-```
-
-Then add `ngRoute` as a dependency for your app:
-
-```javascript
-angular.module('myApp', [require('angular-route')]);
-```
-
-### bower
-
-```shell
-bower install angular-route
-```
-
-Add a `<script>` to your `index.html`:
-
-```html
-<script src="/bower_components/angular-route/angular-route.js"></script>
-```
-
-Then add `ngRoute` as a dependency for your app:
-
-```javascript
-angular.module('myApp', ['ngRoute']);
-```
-
-## Documentation
-
-Documentation is available on the
-[AngularJS docs site](http://docs.angularjs.org/api/ngRoute).
-
-## License
-
-The MIT License
-
-Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/angular-route.js
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/angular-route.js b/ui/bower_components/angular-route/angular-route.js
deleted file mode 100644
index 6654d83..0000000
--- a/ui/bower_components/angular-route/angular-route.js
+++ /dev/null
@@ -1,1069 +0,0 @@
-/**
- * @license AngularJS v1.5.8
- * (c) 2010-2016 Google, Inc. http://angularjs.org
- * License: MIT
- */
-(function(window, angular) {'use strict';
-
-/* global shallowCopy: true */
-
-/**
- * Creates a shallow copy of an object, an array or a primitive.
- *
- * Assumes that there are no proto properties for objects.
- */
-function shallowCopy(src, dst) {
- if (isArray(src)) {
- dst = dst || [];
-
- for (var i = 0, ii = src.length; i < ii; i++) {
- dst[i] = src[i];
- }
- } else if (isObject(src)) {
- dst = dst || {};
-
- for (var key in src) {
- if (!(key.charAt(0) === '$' && key.charAt(1) === '$')) {
- dst[key] = src[key];
- }
- }
- }
-
- return dst || src;
-}
-
-/* global shallowCopy: false */
-
-// There are necessary for `shallowCopy()` (included via `src/shallowCopy.js`).
-// They are initialized inside the `$RouteProvider`, to ensure `window.angular` is available.
-var isArray;
-var isObject;
-
-/**
- * @ngdoc module
- * @name ngRoute
- * @description
- *
- * # ngRoute
- *
- * The `ngRoute` module provides routing and deeplinking services and directives for angular apps.
- *
- * ## Example
- * See {@link ngRoute.$route#example $route} for an example of configuring and using `ngRoute`.
- *
- *
- * <div doc-module-components="ngRoute"></div>
- */
- /* global -ngRouteModule */
-var ngRouteModule = angular.module('ngRoute', ['ng']).
- provider('$route', $RouteProvider),
- $routeMinErr = angular.$$minErr('ngRoute');
-
-/**
- * @ngdoc provider
- * @name $routeProvider
- *
- * @description
- *
- * Used for configuring routes.
- *
- * ## Example
- * See {@link ngRoute.$route#example $route} for an example of configuring and using `ngRoute`.
- *
- * ## Dependencies
- * Requires the {@link ngRoute `ngRoute`} module to be installed.
- */
-function $RouteProvider() {
- isArray = angular.isArray;
- isObject = angular.isObject;
-
- function inherit(parent, extra) {
- return angular.extend(Object.create(parent), extra);
- }
-
- var routes = {};
-
- /**
- * @ngdoc method
- * @name $routeProvider#when
- *
- * @param {string} path Route path (matched against `$location.path`). If `$location.path`
- * contains redundant trailing slash or is missing one, the route will still match and the
- * `$location.path` will be updated to add or drop the trailing slash to exactly match the
- * route definition.
- *
- * * `path` can contain named groups starting with a colon: e.g. `:name`. All characters up
- * to the next slash are matched and stored in `$routeParams` under the given `name`
- * when the route matches.
- * * `path` can contain named groups starting with a colon and ending with a star:
- * e.g.`:name*`. All characters are eagerly stored in `$routeParams` under the given `name`
- * when the route matches.
- * * `path` can contain optional named groups with a question mark: e.g.`:name?`.
- *
- * For example, routes like `/color/:color/largecode/:largecode*\/edit` will match
- * `/color/brown/largecode/code/with/slashes/edit` and extract:
- *
- * * `color: brown`
- * * `largecode: code/with/slashes`.
- *
- *
- * @param {Object} route Mapping information to be assigned to `$route.current` on route
- * match.
- *
- * Object properties:
- *
- * - `controller` – `{(string|function()=}` – Controller fn that should be associated with
- * newly created scope or the name of a {@link angular.Module#controller registered
- * controller} if passed as a string.
- * - `controllerAs` – `{string=}` – An identifier name for a reference to the controller.
- * If present, the controller will be published to scope under the `controllerAs` name.
- * - `template` – `{string=|function()=}` – html template as a string or a function that
- * returns an html template as a string which should be used by {@link
- * ngRoute.directive:ngView ngView} or {@link ng.directive:ngInclude ngInclude} directives.
- * This property takes precedence over `templateUrl`.
- *
- * If `template` is a function, it will be called with the following parameters:
- *
- * - `{Array.<Object>}` - route parameters extracted from the current
- * `$location.path()` by applying the current route
- *
- * - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html
- * template that should be used by {@link ngRoute.directive:ngView ngView}.
- *
- * If `templateUrl` is a function, it will be called with the following parameters:
- *
- * - `{Array.<Object>}` - route parameters extracted from the current
- * `$location.path()` by applying the current route
- *
- * - `resolve` - `{Object.<string, function>=}` - An optional map of dependencies which should
- * be injected into the controller. If any of these dependencies are promises, the router
- * will wait for them all to be resolved or one to be rejected before the controller is
- * instantiated.
- * If all the promises are resolved successfully, the values of the resolved promises are
- * injected and {@link ngRoute.$route#$routeChangeSuccess $routeChangeSuccess} event is
- * fired. If any of the promises are rejected the
- * {@link ngRoute.$route#$routeChangeError $routeChangeError} event is fired.
- * For easier access to the resolved dependencies from the template, the `resolve` map will
- * be available on the scope of the route, under `$resolve` (by default) or a custom name
- * specified by the `resolveAs` property (see below). This can be particularly useful, when
- * working with {@link angular.Module#component components} as route templates.<br />
- * <div class="alert alert-warning">
- * **Note:** If your scope already contains a property with this name, it will be hidden
- * or overwritten. Make sure, you specify an appropriate name for this property, that
- * does not collide with other properties on the scope.
- * </div>
- * The map object is:
- *
- * - `key` – `{string}`: a name of a dependency to be injected into the controller.
- * - `factory` - `{string|function}`: If `string` then it is an alias for a service.
- * Otherwise if function, then it is {@link auto.$injector#invoke injected}
- * and the return value is treated as the dependency. If the result is a promise, it is
- * resolved before its value is injected into the controller. Be aware that
- * `ngRoute.$routeParams` will still refer to the previous route within these resolve
- * functions. Use `$route.current.params` to access the new route parameters, instead.
- *
- * - `resolveAs` - `{string=}` - The name under which the `resolve` map will be available on
- * the scope of the route. If omitted, defaults to `$resolve`.
- *
- * - `redirectTo` – `{(string|function())=}` – value to update
- * {@link ng.$location $location} path with and trigger route redirection.
- *
- * If `redirectTo` is a function, it will be called with the following parameters:
- *
- * - `{Object.<string>}` - route parameters extracted from the current
- * `$location.path()` by applying the current route templateUrl.
- * - `{string}` - current `$location.path()`
- * - `{Object}` - current `$location.search()`
- *
- * The custom `redirectTo` function is expected to return a string which will be used
- * to update `$location.path()` and `$location.search()`.
- *
- * - `[reloadOnSearch=true]` - `{boolean=}` - reload route when only `$location.search()`
- * or `$location.hash()` changes.
- *
- * If the option is set to `false` and url in the browser changes, then
- * `$routeUpdate` event is broadcasted on the root scope.
- *
- * - `[caseInsensitiveMatch=false]` - `{boolean=}` - match routes without being case sensitive
- *
- * If the option is set to `true`, then the particular route can be matched without being
- * case sensitive
- *
- * @returns {Object} self
- *
- * @description
- * Adds a new route definition to the `$route` service.
- */
- this.when = function(path, route) {
- //copy original route object to preserve params inherited from proto chain
- var routeCopy = shallowCopy(route);
- if (angular.isUndefined(routeCopy.reloadOnSearch)) {
- routeCopy.reloadOnSearch = true;
- }
- if (angular.isUndefined(routeCopy.caseInsensitiveMatch)) {
- routeCopy.caseInsensitiveMatch = this.caseInsensitiveMatch;
- }
- routes[path] = angular.extend(
- routeCopy,
- path && pathRegExp(path, routeCopy)
- );
-
- // create redirection for trailing slashes
- if (path) {
- var redirectPath = (path[path.length - 1] == '/')
- ? path.substr(0, path.length - 1)
- : path + '/';
-
- routes[redirectPath] = angular.extend(
- {redirectTo: path},
- pathRegExp(redirectPath, routeCopy)
- );
- }
-
- return this;
- };
-
- /**
- * @ngdoc property
- * @name $routeProvider#caseInsensitiveMatch
- * @description
- *
- * A boolean property indicating if routes defined
- * using this provider should be matched using a case insensitive
- * algorithm. Defaults to `false`.
- */
- this.caseInsensitiveMatch = false;
-
- /**
- * @param path {string} path
- * @param opts {Object} options
- * @return {?Object}
- *
- * @description
- * Normalizes the given path, returning a regular expression
- * and the original path.
- *
- * Inspired by pathRexp in visionmedia/express/lib/utils.js.
- */
- function pathRegExp(path, opts) {
- var insensitive = opts.caseInsensitiveMatch,
- ret = {
- originalPath: path,
- regexp: path
- },
- keys = ret.keys = [];
-
- path = path
- .replace(/([().])/g, '\\$1')
- .replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g, function(_, slash, key, option) {
- var optional = (option === '?' || option === '*?') ? '?' : null;
- var star = (option === '*' || option === '*?') ? '*' : null;
- keys.push({ name: key, optional: !!optional });
- slash = slash || '';
- return ''
- + (optional ? '' : slash)
- + '(?:'
- + (optional ? slash : '')
- + (star && '(.+?)' || '([^/]+)')
- + (optional || '')
- + ')'
- + (optional || '');
- })
- .replace(/([\/$\*])/g, '\\$1');
-
- ret.regexp = new RegExp('^' + path + '$', insensitive ? 'i' : '');
- return ret;
- }
-
- /**
- * @ngdoc method
- * @name $routeProvider#otherwise
- *
- * @description
- * Sets route definition that will be used on route change when no other route definition
- * is matched.
- *
- * @param {Object|string} params Mapping information to be assigned to `$route.current`.
- * If called with a string, the value maps to `redirectTo`.
- * @returns {Object} self
- */
- this.otherwise = function(params) {
- if (typeof params === 'string') {
- params = {redirectTo: params};
- }
- this.when(null, params);
- return this;
- };
-
-
- this.$get = ['$rootScope',
- '$location',
- '$routeParams',
- '$q',
- '$injector',
- '$templateRequest',
- '$sce',
- function($rootScope, $location, $routeParams, $q, $injector, $templateRequest, $sce) {
-
- /**
- * @ngdoc service
- * @name $route
- * @requires $location
- * @requires $routeParams
- *
- * @property {Object} current Reference to the current route definition.
- * The route definition contains:
- *
- * - `controller`: The controller constructor as defined in the route definition.
- * - `locals`: A map of locals which is used by {@link ng.$controller $controller} service for
- * controller instantiation. The `locals` contain
- * the resolved values of the `resolve` map. Additionally the `locals` also contain:
- *
- * - `$scope` - The current route scope.
- * - `$template` - The current route template HTML.
- *
- * The `locals` will be assigned to the route scope's `$resolve` property. You can override
- * the property name, using `resolveAs` in the route definition. See
- * {@link ngRoute.$routeProvider $routeProvider} for more info.
- *
- * @property {Object} routes Object with all route configuration Objects as its properties.
- *
- * @description
- * `$route` is used for deep-linking URLs to controllers and views (HTML partials).
- * It watches `$location.url()` and tries to map the path to an existing route definition.
- *
- * Requires the {@link ngRoute `ngRoute`} module to be installed.
- *
- * You can define routes through {@link ngRoute.$routeProvider $routeProvider}'s API.
- *
- * The `$route` service is typically used in conjunction with the
- * {@link ngRoute.directive:ngView `ngView`} directive and the
- * {@link ngRoute.$routeParams `$routeParams`} service.
- *
- * @example
- * This example shows how changing the URL hash causes the `$route` to match a route against the
- * URL, and the `ngView` pulls in the partial.
- *
- * <example name="$route-service" module="ngRouteExample"
- * deps="angular-route.js" fixBase="true">
- * <file name="index.html">
- * <div ng-controller="MainController">
- * Choose:
- * <a href="Book/Moby">Moby</a> |
- * <a href="Book/Moby/ch/1">Moby: Ch1</a> |
- * <a href="Book/Gatsby">Gatsby</a> |
- * <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
- * <a href="Book/Scarlet">Scarlet Letter</a><br/>
- *
- * <div ng-view></div>
- *
- * <hr />
- *
- * <pre>$location.path() = {{$location.path()}}</pre>
- * <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>
- * <pre>$route.current.params = {{$route.current.params}}</pre>
- * <pre>$route.current.scope.name = {{$route.current.scope.name}}</pre>
- * <pre>$routeParams = {{$routeParams}}</pre>
- * </div>
- * </file>
- *
- * <file name="book.html">
- * controller: {{name}}<br />
- * Book Id: {{params.bookId}}<br />
- * </file>
- *
- * <file name="chapter.html">
- * controller: {{name}}<br />
- * Book Id: {{params.bookId}}<br />
- * Chapter Id: {{params.chapterId}}
- * </file>
- *
- * <file name="script.js">
- * angular.module('ngRouteExample', ['ngRoute'])
- *
- * .controller('MainController', function($scope, $route, $routeParams, $location) {
- * $scope.$route = $route;
- * $scope.$location = $location;
- * $scope.$routeParams = $routeParams;
- * })
- *
- * .controller('BookController', function($scope, $routeParams) {
- * $scope.name = "BookController";
- * $scope.params = $routeParams;
- * })
- *
- * .controller('ChapterController', function($scope, $routeParams) {
- * $scope.name = "ChapterController";
- * $scope.params = $routeParams;
- * })
- *
- * .config(function($routeProvider, $locationProvider) {
- * $routeProvider
- * .when('/Book/:bookId', {
- * templateUrl: 'book.html',
- * controller: 'BookController',
- * resolve: {
- * // I will cause a 1 second delay
- * delay: function($q, $timeout) {
- * var delay = $q.defer();
- * $timeout(delay.resolve, 1000);
- * return delay.promise;
- * }
- * }
- * })
- * .when('/Book/:bookId/ch/:chapterId', {
- * templateUrl: 'chapter.html',
- * controller: 'ChapterController'
- * });
- *
- * // configure html5 to get links working on jsfiddle
- * $locationProvider.html5Mode(true);
- * });
- *
- * </file>
- *
- * <file name="protractor.js" type="protractor">
- * it('should load and compile correct template', function() {
- * element(by.linkText('Moby: Ch1')).click();
- * var content = element(by.css('[ng-view]')).getText();
- * expect(content).toMatch(/controller\: ChapterController/);
- * expect(content).toMatch(/Book Id\: Moby/);
- * expect(content).toMatch(/Chapter Id\: 1/);
- *
- * element(by.partialLinkText('Scarlet')).click();
- *
- * content = element(by.css('[ng-view]')).getText();
- * expect(content).toMatch(/controller\: BookController/);
- * expect(content).toMatch(/Book Id\: Scarlet/);
- * });
- * </file>
- * </example>
- */
-
- /**
- * @ngdoc event
- * @name $route#$routeChangeStart
- * @eventType broadcast on root scope
- * @description
- * Broadcasted before a route change. At this point the route services starts
- * resolving all of the dependencies needed for the route change to occur.
- * Typically this involves fetching the view template as well as any dependencies
- * defined in `resolve` route property. Once all of the dependencies are resolved
- * `$routeChangeSuccess` is fired.
- *
- * The route change (and the `$location` change that triggered it) can be prevented
- * by calling `preventDefault` method of the event. See {@link ng.$rootScope.Scope#$on}
- * for more details about event object.
- *
- * @param {Object} angularEvent Synthetic event object.
- * @param {Route} next Future route information.
- * @param {Route} current Current route information.
- */
-
- /**
- * @ngdoc event
- * @name $route#$routeChangeSuccess
- * @eventType broadcast on root scope
- * @description
- * Broadcasted after a route change has happened successfully.
- * The `resolve` dependencies are now available in the `current.locals` property.
- *
- * {@link ngRoute.directive:ngView ngView} listens for the directive
- * to instantiate the controller and render the view.
- *
- * @param {Object} angularEvent Synthetic event object.
- * @param {Route} current Current route information.
- * @param {Route|Undefined} previous Previous route information, or undefined if current is
- * first route entered.
- */
-
- /**
- * @ngdoc event
- * @name $route#$routeChangeError
- * @eventType broadcast on root scope
- * @description
- * Broadcasted if any of the resolve promises are rejected.
- *
- * @param {Object} angularEvent Synthetic event object
- * @param {Route} current Current route information.
- * @param {Route} previous Previous route information.
- * @param {Route} rejection Rejection of the promise. Usually the error of the failed promise.
- */
-
- /**
- * @ngdoc event
- * @name $route#$routeUpdate
- * @eventType broadcast on root scope
- * @description
- * The `reloadOnSearch` property has been set to false, and we are reusing the same
- * instance of the Controller.
- *
- * @param {Object} angularEvent Synthetic event object
- * @param {Route} current Current/previous route information.
- */
-
- var forceReload = false,
- preparedRoute,
- preparedRouteIsUpdateOnly,
- $route = {
- routes: routes,
-
- /**
- * @ngdoc method
- * @name $route#reload
- *
- * @description
- * Causes `$route` service to reload the current route even if
- * {@link ng.$location $location} hasn't changed.
- *
- * As a result of that, {@link ngRoute.directive:ngView ngView}
- * creates new scope and reinstantiates the controller.
- */
- reload: function() {
- forceReload = true;
-
- var fakeLocationEvent = {
- defaultPrevented: false,
- preventDefault: function fakePreventDefault() {
- this.defaultPrevented = true;
- forceReload = false;
- }
- };
-
- $rootScope.$evalAsync(function() {
- prepareRoute(fakeLocationEvent);
- if (!fakeLocationEvent.defaultPrevented) commitRoute();
- });
- },
-
- /**
- * @ngdoc method
- * @name $route#updateParams
- *
- * @description
- * Causes `$route` service to update the current URL, replacing
- * current route parameters with those specified in `newParams`.
- * Provided property names that match the route's path segment
- * definitions will be interpolated into the location's path, while
- * remaining properties will be treated as query params.
- *
- * @param {!Object<string, string>} newParams mapping of URL parameter names to values
- */
- updateParams: function(newParams) {
- if (this.current && this.current.$$route) {
- newParams = angular.extend({}, this.current.params, newParams);
- $location.path(interpolate(this.current.$$route.originalPath, newParams));
- // interpolate modifies newParams, only query params are left
- $location.search(newParams);
- } else {
- throw $routeMinErr('norout', 'Tried updating route when with no current route');
- }
- }
- };
-
- $rootScope.$on('$locationChangeStart', prepareRoute);
- $rootScope.$on('$locationChangeSuccess', commitRoute);
-
- return $route;
-
- /////////////////////////////////////////////////////
-
- /**
- * @param on {string} current url
- * @param route {Object} route regexp to match the url against
- * @return {?Object}
- *
- * @description
- * Check if the route matches the current url.
- *
- * Inspired by match in
- * visionmedia/express/lib/router/router.js.
- */
- function switchRouteMatcher(on, route) {
- var keys = route.keys,
- params = {};
-
- if (!route.regexp) return null;
-
- var m = route.regexp.exec(on);
- if (!m) return null;
-
- for (var i = 1, len = m.length; i < len; ++i) {
- var key = keys[i - 1];
-
- var val = m[i];
-
- if (key && val) {
- params[key.name] = val;
- }
- }
- return params;
- }
-
- function prepareRoute($locationEvent) {
- var lastRoute = $route.current;
-
- preparedRoute = parseRoute();
- preparedRouteIsUpdateOnly = preparedRoute && lastRoute && preparedRoute.$$route === lastRoute.$$route
- && angular.equals(preparedRoute.pathParams, lastRoute.pathParams)
- && !preparedRoute.reloadOnSearch && !forceReload;
-
- if (!preparedRouteIsUpdateOnly && (lastRoute || preparedRoute)) {
- if ($rootScope.$broadcast('$routeChangeStart', preparedRoute, lastRoute).defaultPrevented) {
- if ($locationEvent) {
- $locationEvent.preventDefault();
- }
- }
- }
- }
-
- function commitRoute() {
- var lastRoute = $route.current;
- var nextRoute = preparedRoute;
-
- if (preparedRouteIsUpdateOnly) {
- lastRoute.params = nextRoute.params;
- angular.copy(lastRoute.params, $routeParams);
- $rootScope.$broadcast('$routeUpdate', lastRoute);
- } else if (nextRoute || lastRoute) {
- forceReload = false;
- $route.current = nextRoute;
- if (nextRoute) {
- if (nextRoute.redirectTo) {
- if (angular.isString(nextRoute.redirectTo)) {
- $location.path(interpolate(nextRoute.redirectTo, nextRoute.params)).search(nextRoute.params)
- .replace();
- } else {
- $location.url(nextRoute.redirectTo(nextRoute.pathParams, $location.path(), $location.search()))
- .replace();
- }
- }
- }
-
- $q.when(nextRoute).
- then(resolveLocals).
- then(function(locals) {
- // after route change
- if (nextRoute == $route.current) {
- if (nextRoute) {
- nextRoute.locals = locals;
- angular.copy(nextRoute.params, $routeParams);
- }
- $rootScope.$broadcast('$routeChangeSuccess', nextRoute, lastRoute);
- }
- }, function(error) {
- if (nextRoute == $route.current) {
- $rootScope.$broadcast('$routeChangeError', nextRoute, lastRoute, error);
- }
- });
- }
- }
-
- function resolveLocals(route) {
- if (route) {
- var locals = angular.extend({}, route.resolve);
- angular.forEach(locals, function(value, key) {
- locals[key] = angular.isString(value) ?
- $injector.get(value) :
- $injector.invoke(value, null, null, key);
- });
- var template = getTemplateFor(route);
- if (angular.isDefined(template)) {
- locals['$template'] = template;
- }
- return $q.all(locals);
- }
- }
-
-
- function getTemplateFor(route) {
- var template, templateUrl;
- if (angular.isDefined(template = route.template)) {
- if (angular.isFunction(template)) {
- template = template(route.params);
- }
- } else if (angular.isDefined(templateUrl = route.templateUrl)) {
- if (angular.isFunction(templateUrl)) {
- templateUrl = templateUrl(route.params);
- }
- if (angular.isDefined(templateUrl)) {
- route.loadedTemplateUrl = $sce.valueOf(templateUrl);
- template = $templateRequest(templateUrl);
- }
- }
- return template;
- }
-
-
- /**
- * @returns {Object} the current active route, by matching it against the URL
- */
- function parseRoute() {
- // Match a route
- var params, match;
- angular.forEach(routes, function(route, path) {
- if (!match && (params = switchRouteMatcher($location.path(), route))) {
- match = inherit(route, {
- params: angular.extend({}, $location.search(), params),
- pathParams: params});
- match.$$route = route;
- }
- });
- // No route matched; fallback to "otherwise" route
- return match || routes[null] && inherit(routes[null], {params: {}, pathParams:{}});
- }
-
- /**
- * @returns {string} interpolation of the redirect path with the parameters
- */
- function interpolate(string, params) {
- var result = [];
- angular.forEach((string || '').split(':'), function(segment, i) {
- if (i === 0) {
- result.push(segment);
- } else {
- var segmentMatch = segment.match(/(\w+)(?:[?*])?(.*)/);
- var key = segmentMatch[1];
- result.push(params[key]);
- result.push(segmentMatch[2] || '');
- delete params[key];
- }
- });
- return result.join('');
- }
- }];
-}
-
-ngRouteModule.provider('$routeParams', $RouteParamsProvider);
-
-
-/**
- * @ngdoc service
- * @name $routeParams
- * @requires $route
- *
- * @description
- * The `$routeParams` service allows you to retrieve the current set of route parameters.
- *
- * Requires the {@link ngRoute `ngRoute`} module to be installed.
- *
- * The route parameters are a combination of {@link ng.$location `$location`}'s
- * {@link ng.$location#search `search()`} and {@link ng.$location#path `path()`}.
- * The `path` parameters are extracted when the {@link ngRoute.$route `$route`} path is matched.
- *
- * In case of parameter name collision, `path` params take precedence over `search` params.
- *
- * The service guarantees that the identity of the `$routeParams` object will remain unchanged
- * (but its properties will likely change) even when a route change occurs.
- *
- * Note that the `$routeParams` are only updated *after* a route change completes successfully.
- * This means that you cannot rely on `$routeParams` being correct in route resolve functions.
- * Instead you can use `$route.current.params` to access the new route's parameters.
- *
- * @example
- * ```js
- * // Given:
- * // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
- * // Route: /Chapter/:chapterId/Section/:sectionId
- * //
- * // Then
- * $routeParams ==> {chapterId:'1', sectionId:'2', search:'moby'}
- * ```
- */
-function $RouteParamsProvider() {
- this.$get = function() { return {}; };
-}
-
-ngRouteModule.directive('ngView', ngViewFactory);
-ngRouteModule.directive('ngView', ngViewFillContentFactory);
-
-
-/**
- * @ngdoc directive
- * @name ngView
- * @restrict ECA
- *
- * @description
- * # Overview
- * `ngView` is a directive that complements the {@link ngRoute.$route $route} service by
- * including the rendered template of the current route into the main layout (`index.html`) file.
- * Every time the current route changes, the included view changes with it according to the
- * configuration of the `$route` service.
- *
- * Requires the {@link ngRoute `ngRoute`} module to be installed.
- *
- * @animations
- * | Animation | Occurs |
- * |----------------------------------|-------------------------------------|
- * | {@link ng.$animate#enter enter} | when the new element is inserted to the DOM |
- * | {@link ng.$animate#leave leave} | when the old element is removed from to the DOM |
- *
- * The enter and leave animation occur concurrently.
- *
- * @knownIssue If `ngView` is contained in an asynchronously loaded template (e.g. in another
- * directive's templateUrl or in a template loaded using `ngInclude`), then you need to
- * make sure that `$route` is instantiated in time to capture the initial
- * `$locationChangeStart` event and load the appropriate view. One way to achieve this
- * is to have it as a dependency in a `.run` block:
- * `myModule.run(['$route', function() {}]);`
- *
- * @scope
- * @priority 400
- * @param {string=} onload Expression to evaluate whenever the view updates.
- *
- * @param {string=} autoscroll Whether `ngView` should call {@link ng.$anchorScroll
- * $anchorScroll} to scroll the viewport after the view is updated.
- *
- * - If the attribute is not set, disable scrolling.
- * - If the attribute is set without value, enable scrolling.
- * - Otherwise enable scrolling only if the `autoscroll` attribute value evaluated
- * as an expression yields a truthy value.
- * @example
- <example name="ngView-directive" module="ngViewExample"
- deps="angular-route.js;angular-animate.js"
- animations="true" fixBase="true">
- <file name="index.html">
- <div ng-controller="MainCtrl as main">
- Choose:
- <a href="Book/Moby">Moby</a> |
- <a href="Book/Moby/ch/1">Moby: Ch1</a> |
- <a href="Book/Gatsby">Gatsby</a> |
- <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
- <a href="Book/Scarlet">Scarlet Letter</a><br/>
-
- <div class="view-animate-container">
- <div ng-view class="view-animate"></div>
- </div>
- <hr />
-
- <pre>$location.path() = {{main.$location.path()}}</pre>
- <pre>$route.current.templateUrl = {{main.$route.current.templateUrl}}</pre>
- <pre>$route.current.params = {{main.$route.current.params}}</pre>
- <pre>$routeParams = {{main.$routeParams}}</pre>
- </div>
- </file>
-
- <file name="book.html">
- <div>
- controller: {{book.name}}<br />
- Book Id: {{book.params.bookId}}<br />
- </div>
- </file>
-
- <file name="chapter.html">
- <div>
- controller: {{chapter.name}}<br />
- Book Id: {{chapter.params.bookId}}<br />
- Chapter Id: {{chapter.params.chapterId}}
- </div>
- </file>
-
- <file name="animations.css">
- .view-animate-container {
- position:relative;
- height:100px!important;
- background:white;
- border:1px solid black;
- height:40px;
- overflow:hidden;
- }
-
- .view-animate {
- padding:10px;
- }
-
- .view-animate.ng-enter, .view-animate.ng-leave {
- transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
-
- display:block;
- width:100%;
- border-left:1px solid black;
-
- position:absolute;
- top:0;
- left:0;
- right:0;
- bottom:0;
- padding:10px;
- }
-
- .view-animate.ng-enter {
- left:100%;
- }
- .view-animate.ng-enter.ng-enter-active {
- left:0;
- }
- .view-animate.ng-leave.ng-leave-active {
- left:-100%;
- }
- </file>
-
- <file name="script.js">
- angular.module('ngViewExample', ['ngRoute', 'ngAnimate'])
- .config(['$routeProvider', '$locationProvider',
- function($routeProvider, $locationProvider) {
- $routeProvider
- .when('/Book/:bookId', {
- templateUrl: 'book.html',
- controller: 'BookCtrl',
- controllerAs: 'book'
- })
- .when('/Book/:bookId/ch/:chapterId', {
- templateUrl: 'chapter.html',
- controller: 'ChapterCtrl',
- controllerAs: 'chapter'
- });
-
- $locationProvider.html5Mode(true);
- }])
- .controller('MainCtrl', ['$route', '$routeParams', '$location',
- function($route, $routeParams, $location) {
- this.$route = $route;
- this.$location = $location;
- this.$routeParams = $routeParams;
- }])
- .controller('BookCtrl', ['$routeParams', function($routeParams) {
- this.name = "BookCtrl";
- this.params = $routeParams;
- }])
- .controller('ChapterCtrl', ['$routeParams', function($routeParams) {
- this.name = "ChapterCtrl";
- this.params = $routeParams;
- }]);
-
- </file>
-
- <file name="protractor.js" type="protractor">
- it('should load and compile correct template', function() {
- element(by.linkText('Moby: Ch1')).click();
- var content = element(by.css('[ng-view]')).getText();
- expect(content).toMatch(/controller\: ChapterCtrl/);
- expect(content).toMatch(/Book Id\: Moby/);
- expect(content).toMatch(/Chapter Id\: 1/);
-
- element(by.partialLinkText('Scarlet')).click();
-
- content = element(by.css('[ng-view]')).getText();
- expect(content).toMatch(/controller\: BookCtrl/);
- expect(content).toMatch(/Book Id\: Scarlet/);
- });
- </file>
- </example>
- */
-
-
-/**
- * @ngdoc event
- * @name ngView#$viewContentLoaded
- * @eventType emit on the current ngView scope
- * @description
- * Emitted every time the ngView content is reloaded.
- */
-ngViewFactory.$inject = ['$route', '$anchorScroll', '$animate'];
-function ngViewFactory($route, $anchorScroll, $animate) {
- return {
- restrict: 'ECA',
- terminal: true,
- priority: 400,
- transclude: 'element',
- link: function(scope, $element, attr, ctrl, $transclude) {
- var currentScope,
- currentElement,
- previousLeaveAnimation,
- autoScrollExp = attr.autoscroll,
- onloadExp = attr.onload || '';
-
- scope.$on('$routeChangeSuccess', update);
- update();
-
- function cleanupLastView() {
- if (previousLeaveAnimation) {
- $animate.cancel(previousLeaveAnimation);
- previousLeaveAnimation = null;
- }
-
- if (currentScope) {
- currentScope.$destroy();
- currentScope = null;
- }
- if (currentElement) {
- previousLeaveAnimation = $animate.leave(currentElement);
- previousLeaveAnimation.then(function() {
- previousLeaveAnimation = null;
- });
- currentElement = null;
- }
- }
-
- function update() {
- var locals = $route.current && $route.current.locals,
- template = locals && locals.$template;
-
- if (angular.isDefined(template)) {
- var newScope = scope.$new();
- var current = $route.current;
-
- // Note: This will also link all children of ng-view that were contained in the original
- // html. If that content contains controllers, ... they could pollute/change the scope.
- // However, using ng-view on an element with additional content does not make sense...
- // Note: We can't remove them in the cloneAttchFn of $transclude as that
- // function is called before linking the content, which would apply child
- // directives to non existing elements.
- var clone = $transclude(newScope, function(clone) {
- $animate.enter(clone, null, currentElement || $element).then(function onNgViewEnter() {
- if (angular.isDefined(autoScrollExp)
- && (!autoScrollExp || scope.$eval(autoScrollExp))) {
- $anchorScroll();
- }
- });
- cleanupLastView();
- });
-
- currentElement = clone;
- currentScope = current.scope = newScope;
- currentScope.$emit('$viewContentLoaded');
- currentScope.$eval(onloadExp);
- } else {
- cleanupLastView();
- }
- }
- }
- };
-}
-
-// This directive is called during the $transclude call of the first `ngView` directive.
-// It will replace and compile the content of the element with the loaded template.
-// We need this directive so that the element content is already filled when
-// the link function of another directive on the same element as ngView
-// is called.
-ngViewFillContentFactory.$inject = ['$compile', '$controller', '$route'];
-function ngViewFillContentFactory($compile, $controller, $route) {
- return {
- restrict: 'ECA',
- priority: -400,
- link: function(scope, $element) {
- var current = $route.current,
- locals = current.locals;
-
- $element.html(locals.$template);
-
- var link = $compile($element.contents());
-
- if (current.controller) {
- locals.$scope = scope;
- var controller = $controller(current.controller, locals);
- if (current.controllerAs) {
- scope[current.controllerAs] = controller;
- }
- $element.data('$ngControllerController', controller);
- $element.children().data('$ngControllerController', controller);
- }
- scope[current.resolveAs || '$resolve'] = locals;
-
- link(scope);
- }
- };
-}
-
-
-})(window, window.angular);
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/angular-route.min.js
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/angular-route.min.js b/ui/bower_components/angular-route/angular-route.min.js
deleted file mode 100644
index 2fa073f..0000000
--- a/ui/bower_components/angular-route/angular-route.min.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- AngularJS v1.5.8
- (c) 2010-2016 Google, Inc. http://angularjs.org
- License: MIT
-*/
-(function(E,d){'use strict';function y(t,l,g){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(b,e,a,c,k){function p(){m&&(g.cancel(m),m=null);h&&(h.$destroy(),h=null);n&&(m=g.leave(n),m.then(function(){m=null}),n=null)}function B(){var a=t.current&&t.current.locals;if(d.isDefined(a&&a.$template)){var a=b.$new(),c=t.current;n=k(a,function(a){g.enter(a,null,n||e).then(function(){!d.isDefined(A)||A&&!b.$eval(A)||l()});p()});h=c.scope=a;h.$emit("$viewContentLoaded");
-h.$eval(s)}else p()}var h,n,m,A=a.autoscroll,s=a.onload||"";b.$on("$routeChangeSuccess",B);B()}}}function w(d,l,g){return{restrict:"ECA",priority:-400,link:function(b,e){var a=g.current,c=a.locals;e.html(c.$template);var k=d(e.contents());if(a.controller){c.$scope=b;var p=l(a.controller,c);a.controllerAs&&(b[a.controllerAs]=p);e.data("$ngControllerController",p);e.children().data("$ngControllerController",p)}b[a.resolveAs||"$resolve"]=c;k(b)}}}var x,C,s=d.module("ngRoute",["ng"]).provider("$route",
-function(){function t(b,e){return d.extend(Object.create(b),e)}function l(b,d){var a=d.caseInsensitiveMatch,c={originalPath:b,regexp:b},g=c.keys=[];b=b.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g,function(b,a,d,c){b="?"===c||"*?"===c?"?":null;c="*"===c||"*?"===c?"*":null;g.push({name:d,optional:!!b});a=a||"";return""+(b?"":a)+"(?:"+(b?a:"")+(c&&"(.+?)"||"([^/]+)")+(b||"")+")"+(b||"")}).replace(/([\/$\*])/g,"\\$1");c.regexp=new RegExp("^"+b+"$",a?"i":"");return c}x=d.isArray;C=
-d.isObject;var g={};this.when=function(b,e){var a;a=void 0;if(x(e)){a=a||[];for(var c=0,k=e.length;c<k;c++)a[c]=e[c]}else if(C(e))for(c in a=a||{},e)if("$"!==c.charAt(0)||"$"!==c.charAt(1))a[c]=e[c];a=a||e;d.isUndefined(a.reloadOnSearch)&&(a.reloadOnSearch=!0);d.isUndefined(a.caseInsensitiveMatch)&&(a.caseInsensitiveMatch=this.caseInsensitiveMatch);g[b]=d.extend(a,b&&l(b,a));b&&(c="/"==b[b.length-1]?b.substr(0,b.length-1):b+"/",g[c]=d.extend({redirectTo:b},l(c,a)));return this};this.caseInsensitiveMatch=
-!1;this.otherwise=function(b){"string"===typeof b&&(b={redirectTo:b});this.when(null,b);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(b,e,a,c,k,p,l){function h(a){var f=v.current;(x=(r=y())&&f&&r.$$route===f.$$route&&d.equals(r.pathParams,f.pathParams)&&!r.reloadOnSearch&&!z)||!f&&!r||b.$broadcast("$routeChangeStart",r,f).defaultPrevented&&a&&a.preventDefault()}function n(){var u=v.current,f=r;if(x)u.params=f.params,d.copy(u.params,
-a),b.$broadcast("$routeUpdate",u);else if(f||u)z=!1,(v.current=f)&&f.redirectTo&&(d.isString(f.redirectTo)?e.path(w(f.redirectTo,f.params)).search(f.params).replace():e.url(f.redirectTo(f.pathParams,e.path(),e.search())).replace()),c.when(f).then(m).then(function(c){f==v.current&&(f&&(f.locals=c,d.copy(f.params,a)),b.$broadcast("$routeChangeSuccess",f,u))},function(a){f==v.current&&b.$broadcast("$routeChangeError",f,u,a)})}function m(a){if(a){var b=d.extend({},a.resolve);d.forEach(b,function(a,c){b[c]=
-d.isString(a)?k.get(a):k.invoke(a,null,null,c)});a=s(a);d.isDefined(a)&&(b.$template=a);return c.all(b)}}function s(a){var b,c;d.isDefined(b=a.template)?d.isFunction(b)&&(b=b(a.params)):d.isDefined(c=a.templateUrl)&&(d.isFunction(c)&&(c=c(a.params)),d.isDefined(c)&&(a.loadedTemplateUrl=l.valueOf(c),b=p(c)));return b}function y(){var a,b;d.forEach(g,function(c,g){var q;if(q=!b){var h=e.path();q=c.keys;var l={};if(c.regexp)if(h=c.regexp.exec(h)){for(var k=1,p=h.length;k<p;++k){var m=q[k-1],n=h[k];m&&
-n&&(l[m.name]=n)}q=l}else q=null;else q=null;q=a=q}q&&(b=t(c,{params:d.extend({},e.search(),a),pathParams:a}),b.$$route=c)});return b||g[null]&&t(g[null],{params:{},pathParams:{}})}function w(a,b){var c=[];d.forEach((a||"").split(":"),function(a,d){if(0===d)c.push(a);else{var e=a.match(/(\w+)(?:[?*])?(.*)/),g=e[1];c.push(b[g]);c.push(e[2]||"");delete b[g]}});return c.join("")}var z=!1,r,x,v={routes:g,reload:function(){z=!0;var a={defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=
-!0;z=!1}};b.$evalAsync(function(){h(a);a.defaultPrevented||n()})},updateParams:function(a){if(this.current&&this.current.$$route)a=d.extend({},this.current.params,a),e.path(w(this.current.$$route.originalPath,a)),e.search(a);else throw D("norout");}};b.$on("$locationChangeStart",h);b.$on("$locationChangeSuccess",n);return v}]}),D=d.$$minErr("ngRoute");s.provider("$routeParams",function(){this.$get=function(){return{}}});s.directive("ngView",y);s.directive("ngView",w);y.$inject=["$route","$anchorScroll",
-"$animate"];w.$inject=["$compile","$controller","$route"]})(window,window.angular);
-//# sourceMappingURL=angular-route.min.js.map
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/angular-route.min.js.map
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/angular-route.min.js.map b/ui/bower_components/angular-route/angular-route.min.js.map
deleted file mode 100644
index e583089..0000000
--- a/ui/bower_components/angular-route/angular-route.min.js.map
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-"version":3,
-"file":"angular-route.min.js",
-"lineCount":15,
-"mappings":"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",
-"sources":["angular-route.js"],
-"names":["window","angular","ngViewFactory","$route","$anchorScroll","$animate","restrict","terminal","priority","transclude","link","scope","$element","attr","ctrl","$transclude","cleanupLastView","previousLeaveAnimation","cancel","currentScope","$destroy","currentElement","leave","then","update","locals","current","isDefined","$template","newScope","$new","clone","enter","onNgViewEnter","autoScrollExp","$eval","$emit","onloadExp","autoscroll","onload","$on","ngViewFillContentFactory","$compile","$controller","html","contents","controller","$scope","controllerAs","data","children","resolveAs","isArray","isObject","ngRouteModule","module","provider","$RouteProvider","inherit","parent","extra","extend","Object","create","pathRegExp","path","opts","insensitive","caseInsensitiveMatch","ret","originalPath","regexp","keys","replace","_","slash","key","option","optional","star","push","name","RegExp","routes","when","this.when","route","routeCopy","dst","i","ii","length","charAt","isUndef
ined","reloadOnSearch","redirectPath","substr","redirectTo","otherwise","this.otherwise","params","$get","$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce","prepareRoute","$locationEvent","lastRoute","preparedRouteIsUpdateOnly","preparedRoute","parseRoute","$$route","equals","pathParams","forceReload","$broadcast","defaultPrevented","preventDefault","commitRoute","nextRoute","copy","isString","interpolate","search","url","resolveLocals","error","resolve","forEach","value","get","invoke","template","getTemplateFor","all","templateUrl","isFunction","loadedTemplateUrl","valueOf","match","m","exec","on","len","val","string","result","split","segment","segmentMatch","join","reload","fakeLocationEvent","fakePreventDefault","$evalAsync","updateParams","newParams","$routeMinErr","$$minErr","$RouteParamsProvider","this.$get","directive","$inject"]
-}
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/bower.json
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/bower.json b/ui/bower_components/angular-route/bower.json
deleted file mode 100644
index 8e6c86b..0000000
--- a/ui/bower_components/angular-route/bower.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "angular-route",
- "version": "1.5.8",
- "license": "MIT",
- "main": "./angular-route.js",
- "ignore": [],
- "dependencies": {
- "angular": "1.5.8"
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/index.js
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/index.js b/ui/bower_components/angular-route/index.js
deleted file mode 100644
index 9ed2645..0000000
--- a/ui/bower_components/angular-route/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-require('./angular-route');
-module.exports = 'ngRoute';
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-route/package.json
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-route/package.json b/ui/bower_components/angular-route/package.json
deleted file mode 100644
index 7aa115a..0000000
--- a/ui/bower_components/angular-route/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "angular-route",
- "version": "1.5.8",
- "description": "AngularJS router module",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/angular/angular.js.git"
- },
- "keywords": [
- "angular",
- "framework",
- "browser",
- "router",
- "client-side"
- ],
- "author": "Angular Core Team <an...@google.com>",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/angular/angular.js/issues"
- },
- "homepage": "http://angularjs.org",
- "jspm": {
- "shim": {
- "angular-route": {
- "deps": ["angular"]
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-smart-table/.bower.json
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-smart-table/.bower.json b/ui/bower_components/angular-smart-table/.bower.json
deleted file mode 100644
index 0780815..0000000
--- a/ui/bower_components/angular-smart-table/.bower.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "angular-smart-table",
- "version": "2.1.7",
- "homepage": "https://github.com/lorenzofox3/Smart-Table",
- "authors": [
- "lorenzofox3 <la...@gmail.com>"
- ],
- "description": "table module for angular",
- "main": "dist/smart-table.js",
- "keywords": [
- "smart-table",
- "angular",
- "table"
- ],
- "license": "MIT",
- "ignore": [
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "angular": "^1.0.0"
- },
- "devDependencies": {
- "angular-mocks": "^1.0.0",
- "jquery": "^2.0.0"
- },
- "_release": "2.1.7",
- "_resolution": {
- "type": "version",
- "tag": "v2.1.7",
- "commit": "42d11a42cb674ec6ff439ea7c91fb534c856c70a"
- },
- "_source": "https://github.com/lorenzofox3/Smart-Table.git",
- "_target": "2.1.7",
- "_originalSource": "angular-smart-table"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-smart-table/.gitignore
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-smart-table/.gitignore b/ui/bower_components/angular-smart-table/.gitignore
deleted file mode 100644
index 07cd661..0000000
--- a/ui/bower_components/angular-smart-table/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-.idea
-node_modules
-example-app
-bower_components
-coverage
-.DS_Store
-test/.DS_Storesmart-table-website
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-smart-table/.travis.yml
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-smart-table/.travis.yml b/ui/bower_components/angular-smart-table/.travis.yml
deleted file mode 100644
index f42dba6..0000000
--- a/ui/bower_components/angular-smart-table/.travis.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
-
-
-before_script:
- - npm install -g gulp bower
- - npm install
- - bower install
-
-script:
- - gulp build
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-smart-table/bower.json
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-smart-table/bower.json b/ui/bower_components/angular-smart-table/bower.json
deleted file mode 100644
index 7ac851f..0000000
--- a/ui/bower_components/angular-smart-table/bower.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "angular-smart-table",
- "version": "2.1.6",
- "homepage": "https://github.com/lorenzofox3/Smart-Table",
- "authors": [
- "lorenzofox3 <la...@gmail.com>"
- ],
- "description": "table module for angular",
- "main": "dist/smart-table.js",
- "keywords": [
- "smart-table",
- "angular",
- "table"
- ],
- "license": "MIT",
- "ignore": [
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "angular": "^1.0.0"
- },
- "devDependencies": {
- "angular-mocks": "^1.0.0",
- "jquery": "^2.0.0"
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/35bcfcae/ui/bower_components/angular-smart-table/changeLog.md
----------------------------------------------------------------------
diff --git a/ui/bower_components/angular-smart-table/changeLog.md b/ui/bower_components/angular-smart-table/changeLog.md
deleted file mode 100644
index 3d15a3f..0000000
--- a/ui/bower_components/angular-smart-table/changeLog.md
+++ /dev/null
@@ -1,175 +0,0 @@
-## version 1.1.0
-
-* allow binding on search predicate [https://github.com/lorenzofox3/Smart-Table/issues/142] (issue 142)
-Note that if you want to search against a property name you have now to put in under single quote otherwise it will be considered as a binding
-```markup
-<input st-search="'name'"/>
-```
-
-## version 1.1.1
-
-* fix #146 and #148, set stPipe before stPagination is called. Thanks [brianchance](https://github.com/brianchance)
-
-## version 1.2.1
-
-* implement #149 (default sorting)
-
-## version 1.2.2
-
-* hide pagination when less than 1 page
-* add unit tests for pagination directive
-
-## version 1.2.3
-
-* fix back to natural sort order
-* use same strategy view -> table state, table state -> view for all the plugins
-
-## version 1.2.4
-
-* fix #161
-
-## version 1.2.5
-
-* fix #162
-
-## version 1.2.6
-
-* fix #165
-* ability to overwrite class names for (st-sort-ascent and st-sort-descent) thanks to [replacement87](https://github.com/replacement87)
-
-## version 1.2.7
-
-* fix #167
-
-## version 1.3.0
-
-* new feature, items by page and displayed page can be bound
-
-## version 1.4.0
-
-* support external template for pagination
-* support angular v1.3.x
-
-## version 1.4.1
-
-* ability to skip natural ordering state (ie fix #192)
-
-## versiokn 1.4.2
-
-* fix #200, `this` in a custom pipe function does not refer to the table controller anymore, and the signature of a custom pipe function is
-```javascript
-function(tableState, tableController){
-
-}
-```
-
-## version 1.4.3
-
-* ability to set filter function <code>st-set-filter</code>
-* ability to set sort function <code>st-set-sort</code>
-
-## version 1.4.4
-
-* patch for sync problem
-
-## version 1.4.5
-
-* merge #234, #218
-* fix #233 #237
-
-## version 1.4.6
-
-* evaluate sort predicate as late as possible
-* fix #262
-
-## version 1.4.7
-
-* fix #276
-
-## version 1.4.8
-
-* fix #281
-
-## version 1.4.9
-
-* fix #285
-
-## version 1.4.10
-
-* fix #284
-* fix #290
-
-## version 1.4.11
-
-* fix #296
-* add possibility to bind a callback when page changes
-
-## version 1.4.12
-
-* don't use pagination class twice
-* build improvement
-
-## version 1.4.13
-
-* use a global configuration
-* expose filtered collection result
-
-## version 2.0.0
-
-* use interpolation rather than binding for st-search directive (to avoid the creation of isolated scope)
-
-**This is a breaking change as now, you will have to remove the single quote around the predicate property name, and if you were using a binding, you'll have to interpolate it with the curly brace notation**
-
-## version 2.0.1
-
-* fix #328
-
-## version 2.0.2
-
-* add debounce to custom pipe function to make sure tableState is stable
-* fix #329
-
-## version 2.0.3
-
-* implements #379
-* fix #390
-
-## version 2.1.0
-
-* support nested search (thanks to @jansabbe)
-* fix #254
-* fix wrong path to default config for stSkipNatural (@phuvo)
-* fix #406
-
-## version 2.1.1
-
-* support commonjs
-* add totalItemCount on tableState (@eirikbell)
-
-## version 2.1.2
-
-* improve build #461 [stanleyxu](https://github.com/stanleyxu2005)
-
-## version 2.1.3
-
-* fix #477
-
-## version 2.1.4
-
-* add throttle to sort
-* add watch to first item in collection (@matthewbednarski)
-
-## version 2.1.5
-
-* #544
-* #533
-* #515
-
-## version 2.1.6
-
-* #559
-
-## version 2.1.7
-
-* fix [https://github.com/lorenzofox3/Smart-Table/issues/468](#468) thanks to Douglas-Treadwell
-