From 390dee7212365cf78fe38a1c36d6cc2392708b03 Mon Sep 17 00:00:00 2001 From: "Determe, Sebastien (sd378r)" Date: Thu, 5 Jul 2018 13:22:22 +0200 Subject: [PATCH] Upgrade angular to 1.3.2 Upgrade angular lib to 1.3.2, it required ui-bootstrap-tpls to be upgraded as well + angular-dialog-service as well Issue-ID: CLAMP-191 Change-Id: I248c1ebc796f6f75ba822ca5cf5277004609366c Signed-off-by: Determe, Sebastien (sd378r) --- .../META-INF/resources/designer/css/dialogs.css | 6 - .../META-INF/resources/designer/index.html | 16 +- .../resources/designer/lib/angular-animate.js | 1704 --------- .../resources/designer/lib/angular-animate.min.js | 33 + .../designer/lib/angular-animate.min.js.map | 8 + .../resources/designer/lib/angular-cookies.js | 206 -- .../resources/designer/lib/angular-cookies.min.js | 8 + .../designer/lib/angular-cookies.min.js.map | 8 + .../resources/designer/lib/angular-resource.min.js | 16 +- .../designer/lib/angular-resource.min.js.map | 4 +- .../resources/designer/lib/angular-route.js | 921 ----- .../resources/designer/lib/angular-route.min.js | 15 + .../designer/lib/angular-route.min.js.map | 8 + .../resources/designer/lib/angular-sanitize.js | 647 ---- .../resources/designer/lib/angular-sanitize.min.js | 16 + .../designer/lib/angular-sanitize.min.js.map | 8 + .../resources/designer/lib/angular-touch.min.js | 16 +- .../designer/lib/angular-touch.min.js.map | 4 +- .../META-INF/resources/designer/lib/angular.min.js | 457 +-- .../resources/designer/lib/angular.min.js.map | 6 +- .../META-INF/resources/designer/lib/dialogs.js | 107 +- .../resources/designer/lib/ui-bootstrap-tpls.js | 3677 -------------------- .../designer/lib/ui-bootstrap-tpls.min.js | 12 + .../designer/scripts/AutosaveProjectCtrl.js | 27 - .../designer/scripts/CldsOpenModelCtrl.js | 567 ++- .../resources/designer/scripts/DashboardCtrl.js | 56 +- .../resources/designer/scripts/DeploymentCtrl.js | 132 +- .../resources/designer/scripts/ExportFileCtrl.js | 11 +- .../designer/scripts/ExportFileService.js | 113 +- .../designer/scripts/ExtraUserInfoCtrl.js | 33 +- .../resources/designer/scripts/FileUploadCtrl.js | 305 +- .../designer/scripts/FileUploadService.js | 143 +- .../designer/scripts/GlobalPropertiesCtrl.js | 85 +- .../resources/designer/scripts/ImportSchemaCtrl.js | 509 ++- .../designer/scripts/UpgradeSchemaCtrl.js | 991 +++--- .../META-INF/resources/designer/scripts/app.js | 2034 +++++------ .../resources/designer/scripts/authcontroller.js | 72 +- .../resources/designer/scripts/commonService.js | 31 - .../designer/scripts/query_params_handler_ctrl.js | 34 +- .../scripts/saveConfirmationModalPopUpCtrl.js | 28 +- .../resources/designer/scripts/textAreaCtrl.js | 47 +- .../designer/scripts/under_construction_ctrl.js | 21 +- 42 files changed, 2720 insertions(+), 10422 deletions(-) delete mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-animate.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-animate.min.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-animate.min.js.map delete mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-cookies.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js.map delete mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-route.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-route.min.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-route.min.js.map delete mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-sanitize.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js.map delete mode 100644 src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.js create mode 100644 src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.min.js delete mode 100644 src/main/resources/META-INF/resources/designer/scripts/AutosaveProjectCtrl.js delete mode 100644 src/main/resources/META-INF/resources/designer/scripts/commonService.js diff --git a/src/main/resources/META-INF/resources/designer/css/dialogs.css b/src/main/resources/META-INF/resources/designer/css/dialogs.css index 1a915ef7..b54f4ec1 100644 --- a/src/main/resources/META-INF/resources/designer/css/dialogs.css +++ b/src/main/resources/META-INF/resources/designer/css/dialogs.css @@ -7,9 +7,3 @@ .dialog-header-error span, .dialog-header-error h4, .dialog-header-wait span, .dialog-header-wait h4, .dialog-header-confirm span, .dialog-header-confirm h4 { color: #ffffff; } - - - -/*.bjs-powered-by{ - display:none; -}*/ diff --git a/src/main/resources/META-INF/resources/designer/index.html b/src/main/resources/META-INF/resources/designer/index.html index 4c5ce0de..3cb340cb 100644 --- a/src/main/resources/META-INF/resources/designer/index.html +++ b/src/main/resources/META-INF/resources/designer/index.html @@ -95,10 +95,10 @@ - + - + @@ -106,11 +106,11 @@ - + - + - + @@ -121,9 +121,6 @@ - - - @@ -161,15 +158,12 @@ - - - diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-animate.js b/src/main/resources/META-INF/resources/designer/lib/angular-animate.js deleted file mode 100644 index 84c4e4f7..00000000 --- a/src/main/resources/META-INF/resources/designer/lib/angular-animate.js +++ /dev/null @@ -1,1704 +0,0 @@ -/** - * @license AngularJS v1.2.32 - * (c) 2010-2014 Google, Inc. http://angularjs.org - * License: MIT - */ -(function(window, angular, undefined) {'use strict'; - -/* jshint maxlen: false */ - -/** - * @ngdoc module - * @name ngAnimate - * @description - * - * # ngAnimate - * - * The `ngAnimate` module provides support for JavaScript, CSS3 transition and CSS3 keyframe animation hooks within existing core and custom directives. - * - * - *
- * - * # Usage - * - * To see animations in action, all that is required is to define the appropriate CSS classes - * or to register a JavaScript animation via the myModule.animation() function. The directives that support animation automatically are: - * `ngRepeat`, `ngInclude`, `ngIf`, `ngSwitch`, `ngShow`, `ngHide`, `ngView` and `ngClass`. Custom directives can take advantage of animation - * by using the `$animate` service. - * - * Below is a more detailed breakdown of the supported animation events provided by pre-existing ng directives: - * - * | Directive | Supported Animations | - * |---------------------------------------------------------- |----------------------------------------------------| - * | {@link ng.directive:ngRepeat#usage_animations ngRepeat} | enter, leave and move | - * | {@link ngRoute.directive:ngView#usage_animations ngView} | enter and leave | - * | {@link ng.directive:ngInclude#usage_animations ngInclude} | enter and leave | - * | {@link ng.directive:ngSwitch#usage_animations ngSwitch} | enter and leave | - * | {@link ng.directive:ngIf#usage_animations ngIf} | enter and leave | - * | {@link ng.directive:ngClass#usage_animations ngClass} | add and remove | - * | {@link ng.directive:ngShow#usage_animations ngShow & ngHide} | add and remove (the ng-hide class value) | - * | {@link ng.directive:form#usage_animations form} | add and remove (dirty, pristine, valid, invalid & all other validations) | - * | {@link ng.directive:ngModel#usage_animations ngModel} | add and remove (dirty, pristine, valid, invalid & all other validations) | - * - * You can find out more information about animations upon visiting each directive page. - * - * Below is an example of how to apply animations to a directive that supports animation hooks: - * - * ```html - * - * - * - * - * ``` - * - * Keep in mind that, by default, if an animation is running, any child elements cannot be animated - * until the parent element's animation has completed. This blocking feature can be overridden by - * placing the `ng-animate-children` attribute on a parent container tag. - * - * ```html - *
- *
- *
- * ... - *
- *
- *
- * ``` - * - * When the `on` expression value changes and an animation is triggered then each of the elements within - * will all animate without the block being applied to child elements. - * - *

CSS-defined Animations

- * The animate service will automatically apply two CSS classes to the animated element and these two CSS classes - * are designed to contain the start and end CSS styling. Both CSS transitions and keyframe animations are supported - * and can be used to play along with this naming structure. - * - * The following code below demonstrates how to perform animations using **CSS transitions** with Angular: - * - * ```html - * - * - *
- *
- *
- * ``` - * - * The following code below demonstrates how to perform animations using **CSS animations** with Angular: - * - * ```html - * - * - *
- *
- *
- * ``` - * - * Both CSS3 animations and transitions can be used together and the animate service will figure out the correct duration and delay timing. - * - * Upon DOM mutation, the event class is added first (something like `ng-enter`), then the browser prepares itself to add - * the active class (in this case `ng-enter-active`) which then triggers the animation. The animation module will automatically - * detect the CSS code to determine when the animation ends. Once the animation is over then both CSS classes will be - * removed from the DOM. If a browser does not support CSS transitions or CSS animations then the animation will start and end - * immediately resulting in a DOM element that is at its final state. This final state is when the DOM element - * has no CSS transition/animation classes applied to it. - * - *

CSS Staggering Animations

- * A Staggering animation is a collection of animations that are issued with a slight delay in between each successive operation resulting in a - * curtain-like effect. The ngAnimate module, as of 1.2.0, supports staggering animations and the stagger effect can be - * performed by creating a **ng-EVENT-stagger** CSS class and attaching that class to the base CSS class used for - * the animation. The style property expected within the stagger class can either be a **transition-delay** or an - * **animation-delay** property (or both if your animation contains both transitions and keyframe animations). - * - * ```css - * .my-animation.ng-enter { - * /* standard transition code */ - * -webkit-transition: 1s linear all; - * transition: 1s linear all; - * opacity:0; - * } - * .my-animation.ng-enter-stagger { - * /* this will have a 100ms delay between each successive leave animation */ - * -webkit-transition-delay: 0.1s; - * transition-delay: 0.1s; - * - * /* in case the stagger doesn't work then these two values - * must be set to 0 to avoid an accidental CSS inheritance */ - * -webkit-transition-duration: 0s; - * transition-duration: 0s; - * } - * .my-animation.ng-enter.ng-enter-active { - * /* standard transition styles */ - * opacity:1; - * } - * ``` - * - * Staggering animations work by default in ngRepeat (so long as the CSS class is defined). Outside of ngRepeat, to use staggering animations - * on your own, they can be triggered by firing multiple calls to the same event on $animate. However, the restrictions surrounding this - * are that each of the elements must have the same CSS className value as well as the same parent element. A stagger operation - * will also be reset if more than 10ms has passed after the last animation has been fired. - * - * The following code will issue the **ng-leave-stagger** event on the element provided: - * - * ```js - * var kids = parent.children(); - * - * $animate.leave(kids[0]); //stagger index=0 - * $animate.leave(kids[1]); //stagger index=1 - * $animate.leave(kids[2]); //stagger index=2 - * $animate.leave(kids[3]); //stagger index=3 - * $animate.leave(kids[4]); //stagger index=4 - * - * $timeout(function() { - * //stagger has reset itself - * $animate.leave(kids[5]); //stagger index=0 - * $animate.leave(kids[6]); //stagger index=1 - * }, 100, false); - * ``` - * - * Stagger animations are currently only supported within CSS-defined animations. - * - *

JavaScript-defined Animations

- * In the event that you do not want to use CSS3 transitions or CSS3 animations or if you wish to offer animations on browsers that do not - * yet support CSS transitions/animations, then you can make use of JavaScript animations defined inside of your AngularJS module. - * - * ```js - * //!annotate="YourApp" Your AngularJS Module|Replace this or ngModule with the module that you used to define your application. - * var ngModule = angular.module('YourApp', ['ngAnimate']); - * ngModule.animation('.my-crazy-animation', function() { - * return { - * enter: function(element, done) { - * //run the animation here and call done when the animation is complete - * return function(cancelled) { - * //this (optional) function will be called when the animation - * //completes or when the animation is cancelled (the cancelled - * //flag will be set to true if cancelled). - * }; - * }, - * leave: function(element, done) { }, - * move: function(element, done) { }, - * - * //animation that can be triggered before the class is added - * beforeAddClass: function(element, className, done) { }, - * - * //animation that can be triggered after the class is added - * addClass: function(element, className, done) { }, - * - * //animation that can be triggered before the class is removed - * beforeRemoveClass: function(element, className, done) { }, - * - * //animation that can be triggered after the class is removed - * removeClass: function(element, className, done) { } - * }; - * }); - * ``` - * - * JavaScript-defined animations are created with a CSS-like class selector and a collection of events which are set to run - * a javascript callback function. When an animation is triggered, $animate will look for a matching animation which fits - * the element's CSS class attribute value and then run the matching animation event function (if found). - * In other words, if the CSS classes present on the animated element match any of the JavaScript animations then the callback function will - * be executed. It should be also noted that only simple, single class selectors are allowed (compound class selectors are not supported). - * - * Within a JavaScript animation, an object containing various event callback animation functions is expected to be returned. - * As explained above, these callbacks are triggered based on the animation event. Therefore if an enter animation is run, - * and the JavaScript animation is found, then the enter callback will handle that animation (in addition to the CSS keyframe animation - * or transition code that is defined via a stylesheet). - * - */ - -angular.module('ngAnimate', ['ng']) - - /** - * @ngdoc provider - * @name $animateProvider - * @description - * - * The `$animateProvider` allows developers to register JavaScript animation event handlers directly inside of a module. - * When an animation is triggered, the $animate service will query the $animate service to find any animations that match - * the provided name value. - * - * Requires the {@link ngAnimate `ngAnimate`} module to be installed. - * - * Please visit the {@link ngAnimate `ngAnimate`} module overview page learn more about how to use animations in your application. - * - */ - .directive('ngAnimateChildren', function() { - var NG_ANIMATE_CHILDREN = '$$ngAnimateChildren'; - return function(scope, element, attrs) { - var val = attrs.ngAnimateChildren; - if(angular.isString(val) && val.length === 0) { //empty attribute - element.data(NG_ANIMATE_CHILDREN, true); - } else { - scope.$watch(val, function(value) { - element.data(NG_ANIMATE_CHILDREN, !!value); - }); - } - }; - }) - - //this private service is only used within CSS-enabled animations - //IE8 + IE9 do not support rAF natively, but that is fine since they - //also don't support transitions and keyframes which means that the code - //below will never be used by the two browsers. - .factory('$$animateReflow', ['$$rAF', '$document', function($$rAF, $document) { - var bod = $document[0].body; - return function(fn) { - //the returned function acts as the cancellation function - return $$rAF(function() { - //the line below will force the browser to perform a repaint - //so that all the animated elements within the animation frame - //will be properly updated and drawn on screen. This is - //required to perform multi-class CSS based animations with - //Firefox. DO NOT REMOVE THIS LINE. DO NOT OPTIMIZE THIS LINE. - //THE MINIFIER WILL REMOVE IT OTHERWISE WHICH WILL RESULT IN AN - //UNPREDICTABLE BUG THAT IS VERY HARD TO TRACK DOWN AND WILL - //TAKE YEARS AWAY FROM YOUR LIFE! - fn(bod.offsetWidth); - }); - }; - }]) - - .config(['$provide', '$animateProvider', function($provide, $animateProvider) { - var noop = angular.noop; - var forEach = angular.forEach; - var selectors = $animateProvider.$$selectors; - - var ELEMENT_NODE = 1; - var NG_ANIMATE_STATE = '$$ngAnimateState'; - var NG_ANIMATE_CHILDREN = '$$ngAnimateChildren'; - var NG_ANIMATE_CLASS_NAME = 'ng-animate'; - var rootAnimateState = {running: true}; - - function extractElementNode(element) { - for(var i = 0; i < element.length; i++) { - var elm = element[i]; - if(elm.nodeType == ELEMENT_NODE) { - return elm; - } - } - } - - function prepareElement(element) { - return element && angular.element(element); - } - - function stripCommentsFromElement(element) { - return angular.element(extractElementNode(element)); - } - - function isMatchingElement(elm1, elm2) { - return extractElementNode(elm1) == extractElementNode(elm2); - } - - $provide.decorator('$animate', ['$delegate', '$injector', '$sniffer', '$rootElement', '$$asyncCallback', '$rootScope', '$document', - function($delegate, $injector, $sniffer, $rootElement, $$asyncCallback, $rootScope, $document) { - - var globalAnimationCounter = 0; - $rootElement.data(NG_ANIMATE_STATE, rootAnimateState); - - // disable animations during bootstrap, but once we bootstrapped, wait again - // for another digest until enabling animations. The reason why we digest twice - // is because all structural animations (enter, leave and move) all perform a - // post digest operation before animating. If we only wait for a single digest - // to pass then the structural animation would render its animation on page load. - // (which is what we're trying to avoid when the application first boots up.) - $rootScope.$$postDigest(function() { - $rootScope.$$postDigest(function() { - rootAnimateState.running = false; - }); - }); - - var classNameFilter = $animateProvider.classNameFilter(); - var isAnimatableClassName = !classNameFilter - ? function() { return true; } - : function(className) { - return classNameFilter.test(className); - }; - - function blockElementAnimations(element) { - var data = element.data(NG_ANIMATE_STATE) || {}; - data.running = true; - element.data(NG_ANIMATE_STATE, data); - } - - function lookup(name) { - if (name) { - var matches = [], - flagMap = {}, - classes = name.substr(1).split('.'); - - //the empty string value is the default animation - //operation which performs CSS transition and keyframe - //animations sniffing. This is always included for each - //element animation procedure if the browser supports - //transitions and/or keyframe animations. The default - //animation is added to the top of the list to prevent - //any previous animations from affecting the element styling - //prior to the element being animated. - if ($sniffer.transitions || $sniffer.animations) { - matches.push($injector.get(selectors[''])); - } - - for(var i=0; i < classes.length; i++) { - var klass = classes[i], - selectorFactoryName = selectors[klass]; - if(selectorFactoryName && !flagMap[klass]) { - matches.push($injector.get(selectorFactoryName)); - flagMap[klass] = true; - } - } - return matches; - } - } - - function animationRunner(element, animationEvent, className) { - //transcluded directives may sometimes fire an animation using only comment nodes - //best to catch this early on to prevent any animation operations from occurring - var node = element[0]; - if(!node) { - return; - } - - var isSetClassOperation = animationEvent == 'setClass'; - var isClassBased = isSetClassOperation || - animationEvent == 'addClass' || - animationEvent == 'removeClass'; - - var classNameAdd, classNameRemove; - if(angular.isArray(className)) { - classNameAdd = className[0]; - classNameRemove = className[1]; - className = classNameAdd + ' ' + classNameRemove; - } - - var currentClassName = element.attr('class'); - var classes = currentClassName + ' ' + className; - if(!isAnimatableClassName(classes)) { - return; - } - - var beforeComplete = noop, - beforeCancel = [], - before = [], - afterComplete = noop, - afterCancel = [], - after = []; - - var animationLookup = (' ' + classes).replace(/\s+/g,'.'); - forEach(lookup(animationLookup), function(animationFactory) { - var created = registerAnimation(animationFactory, animationEvent); - if(!created && isSetClassOperation) { - registerAnimation(animationFactory, 'addClass'); - registerAnimation(animationFactory, 'removeClass'); - } - }); - - function registerAnimation(animationFactory, event) { - var afterFn = animationFactory[event]; - var beforeFn = animationFactory['before' + event.charAt(0).toUpperCase() + event.substr(1)]; - if(afterFn || beforeFn) { - if(event == 'leave') { - beforeFn = afterFn; - //when set as null then animation knows to skip this phase - afterFn = null; - } - after.push({ - event : event, fn : afterFn - }); - before.push({ - event : event, fn : beforeFn - }); - return true; - } - } - - function run(fns, cancellations, allCompleteFn) { - var animations = []; - forEach(fns, function(animation) { - animation.fn && animations.push(animation); - }); - - var count = 0; - function afterAnimationComplete(index) { - if(cancellations) { - (cancellations[index] || noop)(); - if(++count < animations.length) return; - cancellations = null; - } - allCompleteFn(); - } - - //The code below adds directly to the array in order to work with - //both sync and async animations. Sync animations are when the done() - //operation is called right away. DO NOT REFACTOR! - forEach(animations, function(animation, index) { - var progress = function() { - afterAnimationComplete(index); - }; - switch(animation.event) { - case 'setClass': - cancellations.push(animation.fn(element, classNameAdd, classNameRemove, progress)); - break; - case 'addClass': - cancellations.push(animation.fn(element, classNameAdd || className, progress)); - break; - case 'removeClass': - cancellations.push(animation.fn(element, classNameRemove || className, progress)); - break; - default: - cancellations.push(animation.fn(element, progress)); - break; - } - }); - - if(cancellations && cancellations.length === 0) { - allCompleteFn(); - } - } - - return { - node : node, - event : animationEvent, - className : className, - isClassBased : isClassBased, - isSetClassOperation : isSetClassOperation, - before : function(allCompleteFn) { - beforeComplete = allCompleteFn; - run(before, beforeCancel, function() { - beforeComplete = noop; - allCompleteFn(); - }); - }, - after : function(allCompleteFn) { - afterComplete = allCompleteFn; - run(after, afterCancel, function() { - afterComplete = noop; - allCompleteFn(); - }); - }, - cancel : function() { - if(beforeCancel) { - forEach(beforeCancel, function(cancelFn) { - (cancelFn || noop)(true); - }); - beforeComplete(true); - } - if(afterCancel) { - forEach(afterCancel, function(cancelFn) { - (cancelFn || noop)(true); - }); - afterComplete(true); - } - } - }; - } - - /** - * @ngdoc service - * @name $animate - * @kind function - * - * @description - * The `$animate` service provides animation detection support while performing DOM operations (enter, leave and move) as well as during addClass and removeClass operations. - * When any of these operations are run, the $animate service - * will examine any JavaScript-defined animations (which are defined by using the $animateProvider provider object) - * as well as any CSS-defined animations against the CSS classes present on the element once the DOM operation is run. - * - * The `$animate` service is used behind the scenes with pre-existing directives and animation with these directives - * will work out of the box without any extra configuration. - * - * Requires the {@link ngAnimate `ngAnimate`} module to be installed. - * - * Please visit the {@link ngAnimate `ngAnimate`} module overview page learn more about how to use animations in your application. - * - */ - return { - /** - * @ngdoc method - * @name $animate#enter - * @kind function - * - * @description - * Appends the element to the parentElement element that resides in the document and then runs the enter animation. Once - * the animation is started, the following CSS classes will be present on the element for the duration of the animation: - * - * Below is a breakdown of each step that occurs during enter animation: - * - * | Animation Step | What the element class attribute looks like | - * |----------------------------------------------------------------------------------------------|---------------------------------------------| - * | 1. $animate.enter(...) is called | class="my-animation" | - * | 2. element is inserted into the parentElement element or beside the afterElement element | class="my-animation" | - * | 3. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-animate" | - * | 4. the .ng-enter class is added to the element | class="my-animation ng-animate ng-enter" | - * | 5. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate ng-enter" | - * | 6. $animate waits for 10ms (this performs a reflow) | class="my-animation ng-animate ng-enter" | - * | 7. the .ng-enter-active and .ng-animate-active classes are added (this triggers the CSS transition/animation) | class="my-animation ng-animate ng-animate-active ng-enter ng-enter-active" | - * | 8. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-animate ng-animate-active ng-enter ng-enter-active" | - * | 9. The animation ends and all generated CSS classes are removed from the element | class="my-animation" | - * | 10. The doneCallback() callback is fired (if provided) | class="my-animation" | - * - * @param {DOMElement} element the element that will be the focus of the enter animation - * @param {DOMElement} parentElement the parent element of the element that will be the focus of the enter animation - * @param {DOMElement} afterElement the sibling element (which is the previous element) of the element that will be the focus of the enter animation - * @param {function()=} doneCallback the callback function that will be called once the animation is complete - */ - enter : function(element, parentElement, afterElement, doneCallback) { - element = angular.element(element); - parentElement = prepareElement(parentElement); - afterElement = prepareElement(afterElement); - - blockElementAnimations(element); - $delegate.enter(element, parentElement, afterElement); - $rootScope.$$postDigest(function() { - element = stripCommentsFromElement(element); - performAnimation('enter', 'ng-enter', element, parentElement, afterElement, noop, doneCallback); - }); - }, - - /** - * @ngdoc method - * @name $animate#leave - * @kind function - * - * @description - * Runs the leave animation operation and, upon completion, removes the element from the DOM. Once - * the animation is started, the following CSS classes will be added for the duration of the animation: - * - * Below is a breakdown of each step that occurs during leave animation: - * - * | Animation Step | What the element class attribute looks like | - * |----------------------------------------------------------------------------------------------|---------------------------------------------| - * | 1. $animate.leave(...) is called | class="my-animation" | - * | 2. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-animate" | - * | 3. the .ng-leave class is added to the element | class="my-animation ng-animate ng-leave" | - * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate ng-leave" | - * | 5. $animate waits for 10ms (this performs a reflow) | class="my-animation ng-animate ng-leave" | - * | 6. the .ng-leave-active and .ng-animate-active classes is added (this triggers the CSS transition/animation) | class="my-animation ng-animate ng-animate-active ng-leave ng-leave-active" | - * | 7. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-animate ng-animate-active ng-leave ng-leave-active" | - * | 8. The animation ends and all generated CSS classes are removed from the element | class="my-animation" | - * | 9. The element is removed from the DOM | ... | - * | 10. The doneCallback() callback is fired (if provided) | ... | - * - * @param {DOMElement} element the element that will be the focus of the leave animation - * @param {function()=} doneCallback the callback function that will be called once the animation is complete - */ - leave : function(element, doneCallback) { - element = angular.element(element); - cancelChildAnimations(element); - blockElementAnimations(element); - $rootScope.$$postDigest(function() { - performAnimation('leave', 'ng-leave', stripCommentsFromElement(element), null, null, function() { - $delegate.leave(element); - }, doneCallback); - }); - }, - - /** - * @ngdoc method - * @name $animate#move - * @kind function - * - * @description - * Fires the move DOM operation. Just before the animation starts, the animate service will either append it into the parentElement container or - * add the element directly after the afterElement element if present. Then the move animation will be run. Once - * the animation is started, the following CSS classes will be added for the duration of the animation: - * - * Below is a breakdown of each step that occurs during move animation: - * - * | Animation Step | What the element class attribute looks like | - * |----------------------------------------------------------------------------------------------|---------------------------------------------| - * | 1. $animate.move(...) is called | class="my-animation" | - * | 2. element is moved into the parentElement element or beside the afterElement element | class="my-animation" | - * | 3. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-animate" | - * | 4. the .ng-move class is added to the element | class="my-animation ng-animate ng-move" | - * | 5. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate ng-move" | - * | 6. $animate waits for 10ms (this performs a reflow) | class="my-animation ng-animate ng-move" | - * | 7. the .ng-move-active and .ng-animate-active classes is added (this triggers the CSS transition/animation) | class="my-animation ng-animate ng-animate-active ng-move ng-move-active" | - * | 8. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-animate ng-animate-active ng-move ng-move-active" | - * | 9. The animation ends and all generated CSS classes are removed from the element | class="my-animation" | - * | 10. The doneCallback() callback is fired (if provided) | class="my-animation" | - * - * @param {DOMElement} element the element that will be the focus of the move animation - * @param {DOMElement} parentElement the parentElement element of the element that will be the focus of the move animation - * @param {DOMElement} afterElement the sibling element (which is the previous element) of the element that will be the focus of the move animation - * @param {function()=} doneCallback the callback function that will be called once the animation is complete - */ - move : function(element, parentElement, afterElement, doneCallback) { - element = angular.element(element); - parentElement = prepareElement(parentElement); - afterElement = prepareElement(afterElement); - - cancelChildAnimations(element); - blockElementAnimations(element); - $delegate.move(element, parentElement, afterElement); - $rootScope.$$postDigest(function() { - element = stripCommentsFromElement(element); - performAnimation('move', 'ng-move', element, parentElement, afterElement, noop, doneCallback); - }); - }, - - /** - * @ngdoc method - * @name $animate#addClass - * - * @description - * Triggers a custom animation event based off the className variable and then attaches the className value to the element as a CSS class. - * Unlike the other animation methods, the animate service will suffix the className value with {@type -add} in order to provide - * the animate service the setup and active CSS classes in order to trigger the animation (this will be skipped if no CSS transitions - * or keyframes are defined on the -add or base CSS class). - * - * Below is a breakdown of each step that occurs during addClass animation: - * - * | Animation Step | What the element class attribute looks like | - * |------------------------------------------------------------------------------------------------|---------------------------------------------| - * | 1. $animate.addClass(element, 'super') is called | class="my-animation" | - * | 2. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-animate" | - * | 3. the .super-add class are added to the element | class="my-animation ng-animate super-add" | - * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-animate super-add" | - * | 5. $animate waits for 10ms (this performs a reflow) | class="my-animation ng-animate super-add" | - * | 6. the .super, .super-add-active and .ng-animate-active classes are added (this triggers the CSS transition/animation) | class="my-animation ng-animate ng-animate-active super super-add super-add-active" | - * | 7. $animate waits for X milliseconds for the animation to complete | class="my-animation super super-add super-add-active" | - * | 8. The animation ends and all generated CSS classes are removed from the element | class="my-animation super" | - * | 9. The super class is kept on the element | class="my-animation super" | - * | 10. The doneCallback() callback is fired (if provided) | class="my-animation super" | - * - * @param {DOMElement} element the element that will be animated - * @param {string} className the CSS class that will be added to the element and then animated - * @param {function()=} doneCallback the callback function that will be called once the animation is complete - */ - addClass : function(element, className, doneCallback) { - element = angular.element(element); - element = stripCommentsFromElement(element); - performAnimation('addClass', className, element, null, null, function() { - $delegate.addClass(element, className); - }, doneCallback); - }, - - /** - * @ngdoc method - * @name $animate#removeClass - * - * @description - * Triggers a custom animation event based off the className variable and then removes the CSS class provided by the className value - * from the element. Unlike the other animation methods, the animate service will suffix the className value with {@type -remove} in - * order to provide the animate service the setup and active CSS classes in order to trigger the animation (this will be skipped if - * no CSS transitions or keyframes are defined on the -remove or base CSS classes). - * - * Below is a breakdown of each step that occurs during removeClass animation: - * - * | Animation Step | What the element class attribute looks like | - * |-----------------------------------------------------------------------------------------------|---------------------------------------------| - * | 1. $animate.removeClass(element, 'super') is called | class="my-animation super" | - * | 2. $animate runs any JavaScript-defined animations on the element | class="my-animation super ng-animate" | - * | 3. the .super-remove class are added to the element | class="my-animation super ng-animate super-remove"| - * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation super ng-animate super-remove" | - * | 5. $animate waits for 10ms (this performs a reflow) | class="my-animation super ng-animate super-remove" | - * | 6. the .super-remove-active and .ng-animate-active classes are added and .super is removed (this triggers the CSS transition/animation) | class="my-animation ng-animate ng-animate-active super-remove super-remove-active" | - * | 7. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-animate ng-animate-active super-remove super-remove-active" | - * | 8. The animation ends and all generated CSS classes are removed from the element | class="my-animation" | - * | 9. The doneCallback() callback is fired (if provided) | class="my-animation" | - * - * - * @param {DOMElement} element the element that will be animated - * @param {string} className the CSS class that will be animated and then removed from the element - * @param {function()=} doneCallback the callback function that will be called once the animation is complete - */ - removeClass : function(element, className, doneCallback) { - element = angular.element(element); - element = stripCommentsFromElement(element); - performAnimation('removeClass', className, element, null, null, function() { - $delegate.removeClass(element, className); - }, doneCallback); - }, - - /** - * - * @ngdoc function - * @name $animate#setClass - * @function - * @description Adds and/or removes the given CSS classes to and from the element. - * Once complete, the done() callback will be fired (if provided). - * @param {DOMElement} element the element which will its CSS classes changed - * removed from it - * @param {string} add the CSS classes which will be added to the element - * @param {string} remove the CSS class which will be removed from the element - * @param {Function=} done the callback function (if provided) that will be fired after the - * CSS classes have been set on the element - */ - setClass : function(element, add, remove, doneCallback) { - element = angular.element(element); - element = stripCommentsFromElement(element); - performAnimation('setClass', [add, remove], element, null, null, function() { - $delegate.setClass(element, add, remove); - }, doneCallback); - }, - - /** - * @ngdoc method - * @name $animate#enabled - * @kind function - * - * @param {boolean=} value If provided then set the animation on or off. - * @param {DOMElement=} element If provided then the element will be used to represent the enable/disable operation - * @return {boolean} Current animation state. - * - * @description - * Globally enables/disables animations. - * - */ - enabled : function(value, element) { - switch(arguments.length) { - case 2: - if(value) { - cleanup(element); - } else { - var data = element.data(NG_ANIMATE_STATE) || {}; - data.disabled = true; - element.data(NG_ANIMATE_STATE, data); - } - break; - - case 1: - rootAnimateState.disabled = !value; - break; - - default: - value = !rootAnimateState.disabled; - break; - } - return !!value; - } - }; - - /* - all animations call this shared animation triggering function internally. - The animationEvent variable refers to the JavaScript animation event that will be triggered - and the className value is the name of the animation that will be applied within the - CSS code. Element, parentElement and afterElement are provided DOM elements for the animation - and the onComplete callback will be fired once the animation is fully complete. - */ - function performAnimation(animationEvent, className, element, parentElement, afterElement, domOperation, doneCallback) { - - var runner = animationRunner(element, animationEvent, className); - if(!runner) { - fireDOMOperation(); - fireBeforeCallbackAsync(); - fireAfterCallbackAsync(); - closeAnimation(); - return; - } - - className = runner.className; - var elementEvents = angular.element._data(runner.node); - elementEvents = elementEvents && elementEvents.events; - - if (!parentElement) { - parentElement = afterElement ? afterElement.parent() : element.parent(); - } - - var ngAnimateState = element.data(NG_ANIMATE_STATE) || {}; - var runningAnimations = ngAnimateState.active || {}; - var totalActiveAnimations = ngAnimateState.totalActive || 0; - var lastAnimation = ngAnimateState.last; - - //only allow animations if the currently running animation is not structural - //or if there is no animation running at all - var skipAnimations; - if (runner.isClassBased) { - skipAnimations = ngAnimateState.running || - ngAnimateState.disabled || - (lastAnimation && !lastAnimation.isClassBased); - } - - //skip the animation if animations are disabled, a parent is already being animated, - //the element is not currently attached to the document body or then completely close - //the animation if any matching animations are not found at all. - //NOTE: IE8 + IE9 should close properly (run closeAnimation()) in case an animation was found. - if (skipAnimations || animationsDisabled(element, parentElement)) { - fireDOMOperation(); - fireBeforeCallbackAsync(); - fireAfterCallbackAsync(); - closeAnimation(); - return; - } - - var skipAnimation = false; - if(totalActiveAnimations > 0) { - var animationsToCancel = []; - if(!runner.isClassBased) { - if(animationEvent == 'leave' && runningAnimations['ng-leave']) { - skipAnimation = true; - } else { - //cancel all animations when a structural animation takes place - for(var klass in runningAnimations) { - animationsToCancel.push(runningAnimations[klass]); - cleanup(element, klass); - } - runningAnimations = {}; - totalActiveAnimations = 0; - } - } else if(lastAnimation.event == 'setClass') { - animationsToCancel.push(lastAnimation); - cleanup(element, className); - } - else if(runningAnimations[className]) { - var current = runningAnimations[className]; - if(current.event == animationEvent) { - skipAnimation = true; - } else { - animationsToCancel.push(current); - cleanup(element, className); - } - } - - if(animationsToCancel.length > 0) { - forEach(animationsToCancel, function(operation) { - operation.cancel(); - }); - } - } - - if(runner.isClassBased && !runner.isSetClassOperation && !skipAnimation) { - skipAnimation = (animationEvent == 'addClass') == element.hasClass(className); //opposite of XOR - } - - if(skipAnimation) { - fireDOMOperation(); - fireBeforeCallbackAsync(); - fireAfterCallbackAsync(); - fireDoneCallbackAsync(); - return; - } - - if(animationEvent == 'leave') { - //there's no need to ever remove the listener since the element - //will be removed (destroyed) after the leave animation ends or - //is cancelled midway - element.one('$destroy', function(e) { - var element = angular.element(this); - var state = element.data(NG_ANIMATE_STATE); - if(state) { - var activeLeaveAnimation = state.active['ng-leave']; - if(activeLeaveAnimation) { - activeLeaveAnimation.cancel(); - cleanup(element, 'ng-leave'); - } - } - }); - } - - //the ng-animate class does nothing, but it's here to allow for - //parent animations to find and cancel child animations when needed - element.addClass(NG_ANIMATE_CLASS_NAME); - - var localAnimationCount = globalAnimationCounter++; - totalActiveAnimations++; - runningAnimations[className] = runner; - - element.data(NG_ANIMATE_STATE, { - last : runner, - active : runningAnimations, - index : localAnimationCount, - totalActive : totalActiveAnimations - }); - - //first we run the before animations and when all of those are complete - //then we perform the DOM operation and run the next set of animations - fireBeforeCallbackAsync(); - runner.before(function(cancelled) { - var data = element.data(NG_ANIMATE_STATE); - cancelled = cancelled || - !data || !data.active[className] || - (runner.isClassBased && data.active[className].event != animationEvent); - - fireDOMOperation(); - if(cancelled === true) { - closeAnimation(); - } else { - fireAfterCallbackAsync(); - runner.after(closeAnimation); - } - }); - - function fireDOMCallback(animationPhase) { - var eventName = '$animate:' + animationPhase; - if(elementEvents && elementEvents[eventName] && elementEvents[eventName].length > 0) { - $$asyncCallback(function() { - element.triggerHandler(eventName, { - event : animationEvent, - className : className - }); - }); - } - } - - function fireBeforeCallbackAsync() { - fireDOMCallback('before'); - } - - function fireAfterCallbackAsync() { - fireDOMCallback('after'); - } - - function fireDoneCallbackAsync() { - fireDOMCallback('close'); - if(doneCallback) { - $$asyncCallback(function() { - doneCallback(); - }); - } - } - - //it is less complicated to use a flag than managing and canceling - //timeouts containing multiple callbacks. - function fireDOMOperation() { - if(!fireDOMOperation.hasBeenRun) { - fireDOMOperation.hasBeenRun = true; - domOperation(); - } - } - - function closeAnimation() { - if(!closeAnimation.hasBeenRun) { - closeAnimation.hasBeenRun = true; - var data = element.data(NG_ANIMATE_STATE); - if(data) { - /* only structural animations wait for reflow before removing an - animation, but class-based animations don't. An example of this - failing would be when a parent HTML tag has a ng-class attribute - causing ALL directives below to skip animations during the digest */ - if(runner && runner.isClassBased) { - cleanup(element, className); - } else { - $$asyncCallback(function() { - var data = element.data(NG_ANIMATE_STATE) || {}; - if(localAnimationCount == data.index) { - cleanup(element, className, animationEvent); - } - }); - element.data(NG_ANIMATE_STATE, data); - } - } - fireDoneCallbackAsync(); - } - } - } - - function cancelChildAnimations(element) { - var node = extractElementNode(element); - if (node) { - var nodes = angular.isFunction(node.getElementsByClassName) ? - node.getElementsByClassName(NG_ANIMATE_CLASS_NAME) : - node.querySelectorAll('.' + NG_ANIMATE_CLASS_NAME); - forEach(nodes, function(element) { - element = angular.element(element); - var data = element.data(NG_ANIMATE_STATE); - if(data && data.active) { - forEach(data.active, function(runner) { - runner.cancel(); - }); - } - }); - } - } - - function cleanup(element, className) { - if(isMatchingElement(element, $rootElement)) { - if(!rootAnimateState.disabled) { - rootAnimateState.running = false; - rootAnimateState.structural = false; - } - } else if(className) { - var data = element.data(NG_ANIMATE_STATE) || {}; - - var removeAnimations = className === true; - if(!removeAnimations && data.active && data.active[className]) { - data.totalActive--; - delete data.active[className]; - } - - if(removeAnimations || !data.totalActive) { - element.removeClass(NG_ANIMATE_CLASS_NAME); - element.removeData(NG_ANIMATE_STATE); - } - } - } - - function animationsDisabled(element, parentElement) { - if (rootAnimateState.disabled) { - return true; - } - - if (isMatchingElement(element, $rootElement)) { - return rootAnimateState.running; - } - - var allowChildAnimations, parentRunningAnimation, hasParent; - do { - //the element did not reach the root element which means that it - //is not apart of the DOM. Therefore there is no reason to do - //any animations on it - if (parentElement.length === 0) break; - - var isRoot = isMatchingElement(parentElement, $rootElement); - var state = isRoot ? rootAnimateState : (parentElement.data(NG_ANIMATE_STATE) || {}); - if (state.disabled) { - return true; - } - - //no matter what, for an animation to work it must reach the root element - //this implies that the element is attached to the DOM when the animation is run - if (isRoot) { - hasParent = true; - } - - //once a flag is found that is strictly false then everything before - //it will be discarded and all child animations will be restricted - if (allowChildAnimations !== false) { - var animateChildrenFlag = parentElement.data(NG_ANIMATE_CHILDREN); - if(angular.isDefined(animateChildrenFlag)) { - allowChildAnimations = animateChildrenFlag; - } - } - - parentRunningAnimation = parentRunningAnimation || - state.running || - (state.last && !state.last.isClassBased); - } - while(parentElement = parentElement.parent()); - - return !hasParent || (!allowChildAnimations && parentRunningAnimation); - } - }]); - - $animateProvider.register('', ['$window', '$sniffer', '$timeout', '$$animateReflow', - function($window, $sniffer, $timeout, $$animateReflow) { - // Detect proper transitionend/animationend event names. - var CSS_PREFIX = '', TRANSITION_PROP, TRANSITIONEND_EVENT, ANIMATION_PROP, ANIMATIONEND_EVENT; - - // If unprefixed events are not supported but webkit-prefixed are, use the latter. - // Otherwise, just use W3C names, browsers not supporting them at all will just ignore them. - // Note: Chrome implements `window.onwebkitanimationend` and doesn't implement `window.onanimationend` - // but at the same time dispatches the `animationend` event and not `webkitAnimationEnd`. - // Register both events in case `window.onanimationend` is not supported because of that, - // do the same for `transitionend` as Safari is likely to exhibit similar behavior. - // Also, the only modern browser that uses vendor prefixes for transitions/keyframes is webkit - // therefore there is no reason to test anymore for other vendor prefixes: http://caniuse.com/#search=transition - if (window.ontransitionend === undefined && window.onwebkittransitionend !== undefined) { - CSS_PREFIX = '-webkit-'; - TRANSITION_PROP = 'WebkitTransition'; - TRANSITIONEND_EVENT = 'webkitTransitionEnd transitionend'; - } else { - TRANSITION_PROP = 'transition'; - TRANSITIONEND_EVENT = 'transitionend'; - } - - if (window.onanimationend === undefined && window.onwebkitanimationend !== undefined) { - CSS_PREFIX = '-webkit-'; - ANIMATION_PROP = 'WebkitAnimation'; - ANIMATIONEND_EVENT = 'webkitAnimationEnd animationend'; - } else { - ANIMATION_PROP = 'animation'; - ANIMATIONEND_EVENT = 'animationend'; - } - - var DURATION_KEY = 'Duration'; - var PROPERTY_KEY = 'Property'; - var DELAY_KEY = 'Delay'; - var ANIMATION_ITERATION_COUNT_KEY = 'IterationCount'; - var NG_ANIMATE_PARENT_KEY = '$$ngAnimateKey'; - var NG_ANIMATE_CSS_DATA_KEY = '$$ngAnimateCSS3Data'; - var NG_ANIMATE_BLOCK_CLASS_NAME = 'ng-animate-block-transitions'; - var ELAPSED_TIME_MAX_DECIMAL_PLACES = 3; - var CLOSING_TIME_BUFFER = 1.5; - var ONE_SECOND = 1000; - - var lookupCache = {}; - var parentCounter = 0; - var animationReflowQueue = []; - var cancelAnimationReflow; - function clearCacheAfterReflow() { - if (!cancelAnimationReflow) { - cancelAnimationReflow = $$animateReflow(function() { - animationReflowQueue = []; - cancelAnimationReflow = null; - lookupCache = {}; - }); - } - } - - function afterReflow(element, callback) { - if(cancelAnimationReflow) { - cancelAnimationReflow(); - } - animationReflowQueue.push(callback); - cancelAnimationReflow = $$animateReflow(function() { - forEach(animationReflowQueue, function(fn) { - fn(); - }); - - animationReflowQueue = []; - cancelAnimationReflow = null; - lookupCache = {}; - }); - } - - var closingTimer = null; - var closingTimestamp = 0; - var animationElementQueue = []; - function animationCloseHandler(element, totalTime) { - var node = extractElementNode(element); - element = angular.element(node); - - //this item will be garbage collected by the closing - //animation timeout - animationElementQueue.push(element); - - //but it may not need to cancel out the existing timeout - //if the timestamp is less than the previous one - var futureTimestamp = Date.now() + totalTime; - if(futureTimestamp <= closingTimestamp) { - return; - } - - $timeout.cancel(closingTimer); - - closingTimestamp = futureTimestamp; - closingTimer = $timeout(function() { - closeAllAnimations(animationElementQueue); - animationElementQueue = []; - }, totalTime, false); - } - - function closeAllAnimations(elements) { - forEach(elements, function(element) { - var elementData = element.data(NG_ANIMATE_CSS_DATA_KEY); - if(elementData) { - (elementData.closeAnimationFn || noop)(); - } - }); - } - - function getElementAnimationDetails(element, cacheKey) { - var data = cacheKey ? lookupCache[cacheKey] : null; - if(!data) { - var transitionDuration = 0; - var transitionDelay = 0; - var animationDuration = 0; - var animationDelay = 0; - var transitionDelayStyle; - var animationDelayStyle; - var transitionDurationStyle; - var transitionPropertyStyle; - - //we want all the styles defined before and after - forEach(element, function(element) { - if (element.nodeType == ELEMENT_NODE) { - var elementStyles = $window.getComputedStyle(element) || {}; - - transitionDurationStyle = elementStyles[TRANSITION_PROP + DURATION_KEY]; - - transitionDuration = Math.max(parseMaxTime(transitionDurationStyle), transitionDuration); - - transitionPropertyStyle = elementStyles[TRANSITION_PROP + PROPERTY_KEY]; - - transitionDelayStyle = elementStyles[TRANSITION_PROP + DELAY_KEY]; - - transitionDelay = Math.max(parseMaxTime(transitionDelayStyle), transitionDelay); - - animationDelayStyle = elementStyles[ANIMATION_PROP + DELAY_KEY]; - - animationDelay = Math.max(parseMaxTime(animationDelayStyle), animationDelay); - - var aDuration = parseMaxTime(elementStyles[ANIMATION_PROP + DURATION_KEY]); - - if(aDuration > 0) { - aDuration *= parseInt(elementStyles[ANIMATION_PROP + ANIMATION_ITERATION_COUNT_KEY], 10) || 1; - } - - animationDuration = Math.max(aDuration, animationDuration); - } - }); - data = { - total : 0, - transitionPropertyStyle: transitionPropertyStyle, - transitionDurationStyle: transitionDurationStyle, - transitionDelayStyle: transitionDelayStyle, - transitionDelay: transitionDelay, - transitionDuration: transitionDuration, - animationDelayStyle: animationDelayStyle, - animationDelay: animationDelay, - animationDuration: animationDuration - }; - if(cacheKey) { - lookupCache[cacheKey] = data; - } - } - return data; - } - - function parseMaxTime(str) { - var maxValue = 0; - var values = angular.isString(str) ? - str.split(/\s*,\s*/) : - []; - forEach(values, function(value) { - maxValue = Math.max(parseFloat(value) || 0, maxValue); - }); - return maxValue; - } - - function getCacheKey(element) { - var parentElement = element.parent(); - var parentID = parentElement.data(NG_ANIMATE_PARENT_KEY); - if(!parentID) { - parentElement.data(NG_ANIMATE_PARENT_KEY, ++parentCounter); - parentID = parentCounter; - } - return parentID + '-' + extractElementNode(element).getAttribute('class'); - } - - function animateSetup(animationEvent, element, className, calculationDecorator) { - var cacheKey = getCacheKey(element); - var eventCacheKey = cacheKey + ' ' + className; - var itemIndex = lookupCache[eventCacheKey] ? ++lookupCache[eventCacheKey].total : 0; - - var stagger = {}; - if(itemIndex > 0) { - var staggerClassName = className + '-stagger'; - var staggerCacheKey = cacheKey + ' ' + staggerClassName; - var applyClasses = !lookupCache[staggerCacheKey]; - - applyClasses && element.addClass(staggerClassName); - - stagger = getElementAnimationDetails(element, staggerCacheKey); - - applyClasses && element.removeClass(staggerClassName); - } - - /* the animation itself may need to add/remove special CSS classes - * before calculating the anmation styles */ - calculationDecorator = calculationDecorator || - function(fn) { return fn(); }; - - element.addClass(className); - - var formerData = element.data(NG_ANIMATE_CSS_DATA_KEY) || {}; - - var timings = calculationDecorator(function() { - return getElementAnimationDetails(element, eventCacheKey); - }); - - var transitionDuration = timings.transitionDuration; - var animationDuration = timings.animationDuration; - if(transitionDuration === 0 && animationDuration === 0) { - element.removeClass(className); - return false; - } - - element.data(NG_ANIMATE_CSS_DATA_KEY, { - running : formerData.running || 0, - itemIndex : itemIndex, - stagger : stagger, - timings : timings, - closeAnimationFn : noop - }); - - //temporarily disable the transition so that the enter styles - //don't animate twice (this is here to avoid a bug in Chrome/FF). - var isCurrentlyAnimating = formerData.running > 0 || animationEvent == 'setClass'; - if(transitionDuration > 0) { - blockTransitions(element, className, isCurrentlyAnimating); - } - - //staggering keyframe animations work by adjusting the `animation-delay` CSS property - //on the given element, however, the delay value can only calculated after the reflow - //since by that time $animate knows how many elements are being animated. Therefore, - //until the reflow occurs the element needs to be blocked (where the keyframe animation - //is set to `none 0s`). This blocking mechanism should only be set for when a stagger - //animation is detected and when the element item index is greater than 0. - if(animationDuration > 0 && stagger.animationDelay > 0 && stagger.animationDuration === 0) { - blockKeyframeAnimations(element); - } - - return true; - } - - function isStructuralAnimation(className) { - return className == 'ng-enter' || className == 'ng-move' || className == 'ng-leave'; - } - - function blockTransitions(element, className, isAnimating) { - if(isStructuralAnimation(className) || !isAnimating) { - extractElementNode(element).style[TRANSITION_PROP + PROPERTY_KEY] = 'none'; - } else { - element.addClass(NG_ANIMATE_BLOCK_CLASS_NAME); - } - } - - function blockKeyframeAnimations(element) { - extractElementNode(element).style[ANIMATION_PROP] = 'none 0s'; - } - - function unblockTransitions(element, className) { - var prop = TRANSITION_PROP + PROPERTY_KEY; - var node = extractElementNode(element); - if(node.style[prop] && node.style[prop].length > 0) { - node.style[prop] = ''; - } - element.removeClass(NG_ANIMATE_BLOCK_CLASS_NAME); - } - - function unblockKeyframeAnimations(element) { - var prop = ANIMATION_PROP; - var node = extractElementNode(element); - if(node.style[prop] && node.style[prop].length > 0) { - node.style[prop] = ''; - } - } - - function animateRun(animationEvent, element, className, activeAnimationComplete) { - var node = extractElementNode(element); - var elementData = element.data(NG_ANIMATE_CSS_DATA_KEY); - if(node.getAttribute('class').indexOf(className) == -1 || !elementData) { - activeAnimationComplete(); - return; - } - - var activeClassName = ''; - forEach(className.split(' '), function(klass, i) { - activeClassName += (i > 0 ? ' ' : '') + klass + '-active'; - }); - - var stagger = elementData.stagger; - var timings = elementData.timings; - var itemIndex = elementData.itemIndex; - var maxDuration = Math.max(timings.transitionDuration, timings.animationDuration); - var maxDelay = Math.max(timings.transitionDelay, timings.animationDelay); - var maxDelayTime = maxDelay * ONE_SECOND; - - var startTime = Date.now(); - var css3AnimationEvents = ANIMATIONEND_EVENT + ' ' + TRANSITIONEND_EVENT; - - var style = '', appliedStyles = []; - if(timings.transitionDuration > 0) { - var propertyStyle = timings.transitionPropertyStyle; - if(propertyStyle.indexOf('all') == -1) { - style += CSS_PREFIX + 'transition-property: ' + propertyStyle + ';'; - style += CSS_PREFIX + 'transition-duration: ' + timings.transitionDurationStyle + ';'; - appliedStyles.push(CSS_PREFIX + 'transition-property'); - appliedStyles.push(CSS_PREFIX + 'transition-duration'); - } - } - - if(itemIndex > 0) { - if(stagger.transitionDelay > 0 && stagger.transitionDuration === 0) { - var delayStyle = timings.transitionDelayStyle; - style += CSS_PREFIX + 'transition-delay: ' + - prepareStaggerDelay(delayStyle, stagger.transitionDelay, itemIndex) + '; '; - appliedStyles.push(CSS_PREFIX + 'transition-delay'); - } - - if(stagger.animationDelay > 0 && stagger.animationDuration === 0) { - style += CSS_PREFIX + 'animation-delay: ' + - prepareStaggerDelay(timings.animationDelayStyle, stagger.animationDelay, itemIndex) + '; '; - appliedStyles.push(CSS_PREFIX + 'animation-delay'); - } - } - - if(appliedStyles.length > 0) { - //the element being animated may sometimes contain comment nodes in - //the jqLite object, so we're safe to use a single variable to house - //the styles since there is always only one element being animated - var oldStyle = node.getAttribute('style') || ''; - node.setAttribute('style', oldStyle + '; ' + style); - } - - element.on(css3AnimationEvents, onAnimationProgress); - element.addClass(activeClassName); - elementData.closeAnimationFn = function() { - onEnd(); - activeAnimationComplete(); - }; - - var staggerTime = itemIndex * (Math.max(stagger.animationDelay, stagger.transitionDelay) || 0); - var animationTime = (maxDelay + maxDuration) * CLOSING_TIME_BUFFER; - var totalTime = (staggerTime + animationTime) * ONE_SECOND; - - elementData.running++; - animationCloseHandler(element, totalTime); - return onEnd; - - // This will automatically be called by $animate so - // there is no need to attach this internally to the - // timeout done method. - function onEnd(cancelled) { - element.off(css3AnimationEvents, onAnimationProgress); - element.removeClass(activeClassName); - animateClose(element, className); - var node = extractElementNode(element); - for (var i in appliedStyles) { - node.style.removeProperty(appliedStyles[i]); - } - } - - function onAnimationProgress(event) { - event.stopPropagation(); - var ev = event.originalEvent || event; - var timeStamp = ev.$manualTimeStamp || Date.now(); - - /* Firefox (or possibly just Gecko) likes to not round values up - * when a ms measurement is used for the animation */ - var elapsedTime = parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)); - - /* $manualTimeStamp is a mocked timeStamp value which is set - * within browserTrigger(). This is only here so that tests can - * mock animations properly. Real events fallback to Date.now(), - * or, if they don't, then a timeStamp is automatically created for them. - * We're checking to see if the timeStamp surpasses the expected delay, - * but we're using elapsedTime instead of the timeStamp on the 2nd - * pre-condition since animations sometimes close off early */ - if(Math.max(timeStamp - startTime, 0) >= maxDelayTime && elapsedTime >= maxDuration) { - activeAnimationComplete(); - } - } - } - - function prepareStaggerDelay(delayStyle, staggerDelay, index) { - var style = ''; - forEach(delayStyle.split(','), function(val, i) { - style += (i > 0 ? ',' : '') + - (index * staggerDelay + parseInt(val, 10)) + 's'; - }); - return style; - } - - function animateBefore(animationEvent, element, className, calculationDecorator) { - if(animateSetup(animationEvent, element, className, calculationDecorator)) { - return function(cancelled) { - cancelled && animateClose(element, className); - }; - } - } - - function animateAfter(animationEvent, element, className, afterAnimationComplete) { - if(element.data(NG_ANIMATE_CSS_DATA_KEY)) { - return animateRun(animationEvent, element, className, afterAnimationComplete); - } else { - animateClose(element, className); - afterAnimationComplete(); - } - } - - function animate(animationEvent, element, className, animationComplete) { - //If the animateSetup function doesn't bother returning a - //cancellation function then it means that there is no animation - //to perform at all - var preReflowCancellation = animateBefore(animationEvent, element, className); - if (!preReflowCancellation) { - clearCacheAfterReflow(); - animationComplete(); - return; - } - - //There are two cancellation functions: one is before the first - //reflow animation and the second is during the active state - //animation. The first function will take care of removing the - //data from the element which will not make the 2nd animation - //happen in the first place - var cancel = preReflowCancellation; - afterReflow(element, function() { - unblockTransitions(element, className); - unblockKeyframeAnimations(element); - //once the reflow is complete then we point cancel to - //the new cancellation function which will remove all of the - //animation properties from the active animation - cancel = animateAfter(animationEvent, element, className, animationComplete); - }); - - return function(cancelled) { - (cancel || noop)(cancelled); - }; - } - - function animateClose(element, className) { - element.removeClass(className); - var data = element.data(NG_ANIMATE_CSS_DATA_KEY); - if(data) { - if(data.running) { - data.running--; - } - if(!data.running || data.running === 0) { - element.removeData(NG_ANIMATE_CSS_DATA_KEY); - } - } - } - - return { - enter : function(element, animationCompleted) { - return animate('enter', element, 'ng-enter', animationCompleted); - }, - - leave : function(element, animationCompleted) { - return animate('leave', element, 'ng-leave', animationCompleted); - }, - - move : function(element, animationCompleted) { - return animate('move', element, 'ng-move', animationCompleted); - }, - - beforeSetClass : function(element, add, remove, animationCompleted) { - var className = suffixClasses(remove, '-remove') + ' ' + - suffixClasses(add, '-add'); - var cancellationMethod = animateBefore('setClass', element, className, function(fn) { - /* when classes are removed from an element then the transition style - * that is applied is the transition defined on the element without the - * CSS class being there. This is how CSS3 functions outside of ngAnimate. - * http://plnkr.co/edit/j8OzgTNxHTb4n3zLyjGW?p=preview */ - var klass = element.attr('class'); - element.removeClass(remove); - element.addClass(add); - var timings = fn(); - element.attr('class', klass); - return timings; - }); - - if(cancellationMethod) { - afterReflow(element, function() { - unblockTransitions(element, className); - unblockKeyframeAnimations(element); - animationCompleted(); - }); - return cancellationMethod; - } - clearCacheAfterReflow(); - animationCompleted(); - }, - - beforeAddClass : function(element, className, animationCompleted) { - var cancellationMethod = animateBefore('addClass', element, suffixClasses(className, '-add'), function(fn) { - - /* when a CSS class is added to an element then the transition style that - * is applied is the transition defined on the element when the CSS class - * is added at the time of the animation. This is how CSS3 functions - * outside of ngAnimate. */ - element.addClass(className); - var timings = fn(); - element.removeClass(className); - return timings; - }); - - if(cancellationMethod) { - afterReflow(element, function() { - unblockTransitions(element, className); - unblockKeyframeAnimations(element); - animationCompleted(); - }); - return cancellationMethod; - } - clearCacheAfterReflow(); - animationCompleted(); - }, - - setClass : function(element, add, remove, animationCompleted) { - remove = suffixClasses(remove, '-remove'); - add = suffixClasses(add, '-add'); - var className = remove + ' ' + add; - return animateAfter('setClass', element, className, animationCompleted); - }, - - addClass : function(element, className, animationCompleted) { - return animateAfter('addClass', element, suffixClasses(className, '-add'), animationCompleted); - }, - - beforeRemoveClass : function(element, className, animationCompleted) { - var cancellationMethod = animateBefore('removeClass', element, suffixClasses(className, '-remove'), function(fn) { - /* when classes are removed from an element then the transition style - * that is applied is the transition defined on the element without the - * CSS class being there. This is how CSS3 functions outside of ngAnimate. - * http://plnkr.co/edit/j8OzgTNxHTb4n3zLyjGW?p=preview */ - var klass = element.attr('class'); - element.removeClass(className); - var timings = fn(); - element.attr('class', klass); - return timings; - }); - - if(cancellationMethod) { - afterReflow(element, function() { - unblockTransitions(element, className); - unblockKeyframeAnimations(element); - animationCompleted(); - }); - return cancellationMethod; - } - animationCompleted(); - }, - - removeClass : function(element, className, animationCompleted) { - return animateAfter('removeClass', element, suffixClasses(className, '-remove'), animationCompleted); - } - }; - - function suffixClasses(classes, suffix) { - var className = ''; - classes = angular.isArray(classes) ? classes : classes.split(/\s+/); - forEach(classes, function(klass, i) { - if(klass && klass.length > 0) { - className += (i > 0 ? ' ' : '') + klass + suffix; - } - }); - return className; - } - }]); - }]); - - -})(window, window.angular); diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-animate.min.js b/src/main/resources/META-INF/resources/designer/lib/angular-animate.min.js new file mode 100644 index 00000000..af10f6e0 --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/angular-animate.min.js @@ -0,0 +1,33 @@ +/* + AngularJS v1.3.2 + (c) 2010-2014 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(M,f,S){'use strict';f.module("ngAnimate",["ng"]).directive("ngAnimateChildren",function(){return function(T,B,k){k=k.ngAnimateChildren;f.isString(k)&&0===k.length?B.data("$$ngAnimateChildren",!0):T.$watch(k,function(f){B.data("$$ngAnimateChildren",!!f)})}}).factory("$$animateReflow",["$$rAF","$document",function(f,B){return function(k){return f(function(){k()})}}]).config(["$provide","$animateProvider",function(T,B){function k(f){for(var g=0;g=A&&d>=x&&c()}var m=k(d);a=d.data("$$ngAnimateCSS3Data");if(-1!=m.getAttribute("class").indexOf(b)&&a){var q="",r="";g(b.split(" "),function(a,d){var b=(0 - * - * See {@link ngCookies.$cookies `$cookies`} and - * {@link ngCookies.$cookieStore `$cookieStore`} for usage. - */ - - -angular.module('ngCookies', ['ng']). - /** - * @ngdoc service - * @name $cookies - * - * @description - * Provides read/write access to browser's cookies. - * - * Only a simple Object is exposed and by adding or removing properties to/from this object, new - * cookies are created/deleted at the end of current $eval. - * The object's properties can only be strings. - * - * Requires the {@link ngCookies `ngCookies`} module to be installed. - * - * @example - * - * ```js - * angular.module('cookiesExample', ['ngCookies']) - * .controller('ExampleController', ['$cookies', function($cookies) { - * // Retrieving a cookie - * var favoriteCookie = $cookies.myFavorite; - * // Setting a cookie - * $cookies.myFavorite = 'oatmeal'; - * }]); - * ``` - */ - factory('$cookies', ['$rootScope', '$browser', function ($rootScope, $browser) { - var cookies = {}, - lastCookies = {}, - lastBrowserCookies, - runEval = false, - copy = angular.copy, - isUndefined = angular.isUndefined; - - //creates a poller fn that copies all cookies from the $browser to service & inits the service - $browser.addPollFn(function() { - var currentCookies = $browser.cookies(); - if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl - lastBrowserCookies = currentCookies; - copy(currentCookies, lastCookies); - copy(currentCookies, cookies); - if (runEval) $rootScope.$apply(); - } - })(); - - runEval = true; - - //at the end of each eval, push cookies - //TODO: this should happen before the "delayed" watches fire, because if some cookies are not - // strings or browser refuses to store some cookies, we update the model in the push fn. - $rootScope.$watch(push); - - return cookies; - - - /** - * Pushes all the cookies from the service to the browser and verifies if all cookies were - * stored. - */ - function push() { - var name, - value, - browserCookies, - updated; - - //delete any cookies deleted in $cookies - for (name in lastCookies) { - if (isUndefined(cookies[name])) { - $browser.cookies(name, undefined); - } - } - - //update all cookies updated in $cookies - for(name in cookies) { - value = cookies[name]; - if (!angular.isString(value)) { - value = '' + value; - cookies[name] = value; - } - if (value !== lastCookies[name]) { - $browser.cookies(name, value); - updated = true; - } - } - - //verify what was actually stored - if (updated){ - updated = false; - browserCookies = $browser.cookies(); - - for (name in cookies) { - if (cookies[name] !== browserCookies[name]) { - //delete or reset all cookies that the browser dropped from $cookies - if (isUndefined(browserCookies[name])) { - delete cookies[name]; - } else { - cookies[name] = browserCookies[name]; - } - updated = true; - } - } - } - } - }]). - - - /** - * @ngdoc service - * @name $cookieStore - * @requires $cookies - * - * @description - * Provides a key-value (string-object) storage, that is backed by session cookies. - * Objects put or retrieved from this storage are automatically serialized or - * deserialized by angular's toJson/fromJson. - * - * Requires the {@link ngCookies `ngCookies`} module to be installed. - * - * @example - * - * ```js - * angular.module('cookieStoreExample', ['ngCookies']) - * .controller('ExampleController', ['$cookieStore', function($cookieStore) { - * // Put cookie - * $cookieStore.put('myFavorite','oatmeal'); - * // Get cookie - * var favoriteCookie = $cookieStore.get('myFavorite'); - * // Removing a cookie - * $cookieStore.remove('myFavorite'); - * }]); - * ``` - */ - factory('$cookieStore', ['$cookies', function($cookies) { - - return { - /** - * @ngdoc method - * @name $cookieStore#get - * - * @description - * Returns the value of given cookie key - * - * @param {string} key Id to use for lookup. - * @returns {Object} Deserialized cookie value. - */ - get: function(key) { - var value = $cookies[key]; - return value ? angular.fromJson(value) : value; - }, - - /** - * @ngdoc method - * @name $cookieStore#put - * - * @description - * Sets a value for given cookie key - * - * @param {string} key Id for the `value`. - * @param {Object} value Value to be stored. - */ - put: function(key, value) { - $cookies[key] = angular.toJson(value); - }, - - /** - * @ngdoc method - * @name $cookieStore#remove - * - * @description - * Remove given cookie - * - * @param {string} key Id of the key-value pair to delete. - */ - remove: function(key) { - delete $cookies[key]; - } - }; - - }]); - - -})(window, window.angular); diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js b/src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js new file mode 100644 index 00000000..68c2a899 --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js @@ -0,0 +1,8 @@ +/* + AngularJS v1.3.2 + (c) 2010-2014 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(e,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&e.$apply())})();k=!0;e.$watch(function(){var a,d,e;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)d=c[a],f.isString(d)||(d=""+d,c[a]=d),d!==g[a]&&(b.cookies(a,d),e=!0);if(e)for(a in d=b.cookies(),c)c[a]!==d[a]&&(m(d[a])?delete c[a]:c[a]=d[a])});return c}]).factory("$cookieStore", +["$cookies",function(e){return{get:function(b){return(b=e[b])?f.fromJson(b):b},put:function(b,c){e[b]=f.toJson(c)},remove:function(b){delete e[b]}}}])})(window,window.angular); +//# sourceMappingURL=angular-cookies.min.js.map diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js.map b/src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js.map new file mode 100644 index 00000000..677960c5 --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/angular-cookies.min.js.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"angular-cookies.min.js", +"lineCount":7, +"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkBC,CAAlB,CAA6B,CAmBtCD,CAAAE,OAAA,CAAe,WAAf,CAA4B,CAAC,IAAD,CAA5B,CAAAC,QAAA,CA0BW,UA1BX,CA0BuB,CAAC,YAAD,CAAe,UAAf,CAA2B,QAAQ,CAACC,CAAD,CAAaC,CAAb,CAAuB,CAAA,IACvEC,EAAU,EAD6D,CAEvEC,EAAc,EAFyD,CAGvEC,CAHuE,CAIvEC,EAAU,CAAA,CAJ6D,CAKvEC,EAAOV,CAAAU,KALgE,CAMvEC,EAAcX,CAAAW,YAGlBN,EAAAO,UAAA,CAAmB,QAAQ,EAAG,CAC5B,IAAIC,EAAiBR,CAAAC,QAAA,EACjBE,EAAJ,EAA0BK,CAA1B,GACEL,CAGA,CAHqBK,CAGrB,CAFAH,CAAA,CAAKG,CAAL,CAAqBN,CAArB,CAEA,CADAG,CAAA,CAAKG,CAAL,CAAqBP,CAArB,CACA,CAAIG,CAAJ,EAAaL,CAAAU,OAAA,EAJf,CAF4B,CAA9B,CAAA,EAUAL,EAAA,CAAU,CAAA,CAKVL,EAAAW,OAAA,CASAC,QAAa,EAAG,CAAA,IACVC,CADU,CAEVC,CAFU,CAIVC,CAGJ,KAAKF,CAAL,GAAaV,EAAb,CACMI,CAAA,CAAYL,CAAA,CAAQW,CAAR,CAAZ,CAAJ,EACEZ,CAAAC,QAAA,CAAiBW,CAAjB,CAAuBhB,CAAvB,CAKJ,KAAKgB,CAAL,GAAaX,EAAb,CACEY,CAKA,CALQZ,CAAA,CAAQW,CAAR,CAKR,CAJKjB,CAAAoB,SAAA,CAAiBF,CAAjB,CAIL,GAHEA,CACA,CADQ,EACR,CADaA,CACb,CAAAZ,CAAA,CAAQW,CAAR,CAAA,CAAgBC,CAElB,EAAIA,CAAJ,GAAcX,CAAA,CAAYU,CAAZ,CAAd,GACEZ,CAAAC,QAAA,CAAiBW,CAAjB,CAAuBC,CAAvB,CACA,CAAAC,CAAA,CAAU,CAAA,CAFZ,CAOF,IAAIA,CAAJ,CAIE,IAAKF,CAAL,GAFAI,EAEaf,CAFID,CAAAC,QAAA,EAEJA,CAAAA,CAAb,CACMA,CAAA,CAAQW,CAAR,CAAJ,GAAsBI,CAAA,CAAeJ,CAAf,CAAtB,GAEMN,CAAA,CAAYU,CAAA,CAAeJ,CAAf,CAAZ,CAAJ,CACE,OAAOX,CAAA,CAAQW,CAAR,CADT,CAGEX,CAAA,CAAQW,CAAR,CAHF,CAGkBI,CAAA,CAAeJ,CAAf,CALpB,CAhCU,CAThB,CAEA,OAAOX,EA1BoE,CAA1D,CA1BvB,CAAAH,QAAA,CAoIW,cApIX;AAoI2B,CAAC,UAAD,CAAa,QAAQ,CAACmB,CAAD,CAAW,CAErD,MAAO,CAWLC,IAAKA,QAAQ,CAACC,CAAD,CAAM,CAEjB,MAAO,CADHN,CACG,CADKI,CAAA,CAASE,CAAT,CACL,EAAQxB,CAAAyB,SAAA,CAAiBP,CAAjB,CAAR,CAAkCA,CAFxB,CAXd,CA0BLQ,IAAKA,QAAQ,CAACF,CAAD,CAAMN,CAAN,CAAa,CACxBI,CAAA,CAASE,CAAT,CAAA,CAAgBxB,CAAA2B,OAAA,CAAeT,CAAf,CADQ,CA1BrB,CAuCLU,OAAQA,QAAQ,CAACJ,CAAD,CAAM,CACpB,OAAOF,CAAA,CAASE,CAAT,CADa,CAvCjB,CAF8C,CAAhC,CApI3B,CAnBsC,CAArC,CAAD,CAwMGzB,MAxMH,CAwMWA,MAAAC,QAxMX;", +"sources":["angular-cookies.js"], +"names":["window","angular","undefined","module","factory","$rootScope","$browser","cookies","lastCookies","lastBrowserCookies","runEval","copy","isUndefined","addPollFn","currentCookies","$apply","$watch","push","name","value","updated","isString","browserCookies","$cookies","get","key","fromJson","put","toJson","remove"] +} diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-resource.min.js b/src/main/resources/META-INF/resources/designer/lib/angular-resource.min.js index 2c8021b6..47f15919 100644 --- a/src/main/resources/META-INF/resources/designer/lib/angular-resource.min.js +++ b/src/main/resources/META-INF/resources/designer/lib/angular-resource.min.js @@ -1,13 +1,13 @@ /* - AngularJS v1.2.32 + AngularJS v1.3.2 (c) 2010-2014 Google, Inc. http://angularjs.org License: MIT */ -(function(H,a,A){'use strict';function D(p,g){g=g||{};a.forEach(g,function(a,c){delete g[c]});for(var c in p)!p.hasOwnProperty(c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(g[c]=p[c]);return g}var v=a.$$minErr("$resource"),C=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;a.module("ngResource",["ng"]).factory("$resource",["$http","$q",function(p,g){function c(a,c){this.template=a;this.defaults=c||{};this.urlParams={}}function t(n,w,l){function r(h,d){var e={};d=x({},w,d);s(d,function(b,d){u(b)&&(b=b());var k;if(b&& -b.charAt&&"@"==b.charAt(0)){k=h;var a=b.substr(1);if(null==a||""===a||"hasOwnProperty"===a||!C.test("."+a))throw v("badmember",a);for(var a=a.split("."),f=0,c=a.length;f - */ - /* global -ngRouteModule */ -var ngRouteModule = angular.module('ngRoute', ['ng']). - provider('$route', $RouteProvider); - -/** - * @ngdoc provider - * @name $routeProvider - * @kind function - * - * @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(){ - function inherit(parent, extra) { - return angular.extend(new (angular.extend(function() {}, {prototype: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=}` – A controller alias name. 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.}` - 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.}` - route parameters extracted from the current - * `$location.path()` by applying the current route - * - * - `resolve` - `{Object.=}` - 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. 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. - * - * - `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.}` - 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) { - routes[path] = angular.extend( - {reloadOnSearch: true}, - route, - path && pathRegExp(path, route) - ); - - // 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, route) - ); - } - - return this; - }; - - /** - * @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} params Mapping information to be assigned to `$route.current`. - * @returns {Object} self - */ - this.otherwise = function(params) { - this.when(null, params); - return this; - }; - - - this.$get = ['$rootScope', - '$location', - '$routeParams', - '$q', - '$injector', - '$http', - '$templateCache', - '$sce', - function($rootScope, $location, $routeParams, $q, $injector, $http, $templateCache, $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 define in 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. - * - * @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. - * - * - * - *
- * Choose: - * Moby | - * Moby: Ch1 | - * Gatsby | - * Gatsby: Ch4 | - * Scarlet Letter
- * - *
- * - *
- * - *
$location.path() = {{$location.path()}}
- *
$route.current.templateUrl = {{$route.current.templateUrl}}
- *
$route.current.params = {{$route.current.params}}
- *
$route.current.scope.name = {{$route.current.scope.name}}
- *
$routeParams = {{$routeParams}}
- *
- *
- * - * - * controller: {{name}}
- * Book Id: {{params.bookId}}
- *
- * - * - * controller: {{name}}
- * Book Id: {{params.bookId}}
- * Chapter Id: {{params.chapterId}} - *
- * - * - * 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); - * }); - * - * - * - * - * 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/); - * }); - * - *
- */ - - /** - * @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. - * - * @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 dependencies are resolved. - * {@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. - */ - - var forceReload = false, - $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, reinstantiates the controller. - */ - reload: function() { - forceReload = true; - $rootScope.$evalAsync(updateRoute); - } - }; - - $rootScope.$on('$locationChangeSuccess', updateRoute); - - 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 updateRoute() { - var next = parseRoute(), - last = $route.current; - - if (next && last && next.$$route === last.$$route - && angular.equals(next.pathParams, last.pathParams) - && !next.reloadOnSearch && !forceReload) { - last.params = next.params; - angular.copy(last.params, $routeParams); - $rootScope.$broadcast('$routeUpdate', last); - } else if (next || last) { - forceReload = false; - $rootScope.$broadcast('$routeChangeStart', next, last); - $route.current = next; - if (next) { - if (next.redirectTo) { - if (angular.isString(next.redirectTo)) { - $location.path(interpolate(next.redirectTo, next.params)).search(next.params) - .replace(); - } else { - $location.url(next.redirectTo(next.pathParams, $location.path(), $location.search())) - .replace(); - } - } - } - - $q.when(next). - then(function() { - if (next) { - var locals = angular.extend({}, next.resolve), - template, templateUrl; - - angular.forEach(locals, function(value, key) { - locals[key] = angular.isString(value) ? - $injector.get(value) : $injector.invoke(value); - }); - - if (angular.isDefined(template = next.template)) { - if (angular.isFunction(template)) { - template = template(next.params); - } - } else if (angular.isDefined(templateUrl = next.templateUrl)) { - if (angular.isFunction(templateUrl)) { - templateUrl = templateUrl(next.params); - } - templateUrl = $sce.getTrustedResourceUrl(templateUrl); - if (angular.isDefined(templateUrl)) { - next.loadedTemplateUrl = templateUrl; - template = $http.get(templateUrl, {cache: $templateCache}). - then(function(response) { return response.data; }); - } - } - if (angular.isDefined(template)) { - locals['$template'] = template; - } - return $q.all(locals); - } - }). - // after route change - then(function(locals) { - if (next == $route.current) { - if (next) { - next.locals = locals; - angular.copy(next.params, $routeParams); - } - $rootScope.$broadcast('$routeChangeSuccess', next, last); - } - }, function(error) { - if (next == $route.current) { - $rootScope.$broadcast('$routeChangeError', next, last, error); - } - }); - } - } - - - /** - * @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 - * enter - animation is used to bring new content into the browser. - * leave - animation is used to animate existing content away. - * - * The enter and leave animation occur concurrently. - * - * @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 - - -
- Choose: - Moby | - Moby: Ch1 | - Gatsby | - Gatsby: Ch4 | - Scarlet Letter
- -
-
-
-
- -
$location.path() = {{main.$location.path()}}
-
$route.current.templateUrl = {{main.$route.current.templateUrl}}
-
$route.current.params = {{main.$route.current.params}}
-
$route.current.scope.name = {{main.$route.current.scope.name}}
-
$routeParams = {{main.$routeParams}}
-
-
- - -
- controller: {{book.name}}
- Book Id: {{book.params.bookId}}
-
-
- - -
- controller: {{chapter.name}}
- Book Id: {{chapter.params.bookId}}
- Chapter Id: {{chapter.params.chapterId}} -
-
- - - .view-animate-container { - position:relative; - height:100px!important; - position:relative; - background:white; - border:1px solid black; - height:40px; - overflow:hidden; - } - - .view-animate { - padding:10px; - } - - .view-animate.ng-enter, .view-animate.ng-leave { - -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s; - 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%; - } - - - - 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; - }]); - - - - - 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/); - }); - -
- */ - - -/** - * @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, - previousElement, - autoScrollExp = attr.autoscroll, - onloadExp = attr.onload || ''; - - scope.$on('$routeChangeSuccess', update); - update(); - - function cleanupLastView() { - if(previousElement) { - previousElement.remove(); - previousElement = null; - } - if(currentScope) { - currentScope.$destroy(); - currentScope = null; - } - if(currentElement) { - $animate.leave(currentElement, function() { - previousElement = null; - }); - previousElement = currentElement; - 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, 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); - } - - link(scope); - } - }; -} - - -})(window, window.angular); diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-route.min.js b/src/main/resources/META-INF/resources/designer/lib/angular-route.min.js new file mode 100644 index 00000000..1563d723 --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/angular-route.min.js @@ -0,0 +1,15 @@ +/* + AngularJS v1.3.2 + (c) 2010-2014 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(p,d,B){'use strict';function u(q,h,f){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,c,b,g,x){function y(){k&&(f.cancel(k),k=null);l&&(l.$destroy(),l=null);m&&(k=f.leave(m),k.then(function(){k=null}),m=null)}function w(){var b=q.current&&q.current.locals;if(d.isDefined(b&&b.$template)){var b=a.$new(),g=q.current;m=x(b,function(b){f.enter(b,null,m||c).then(function(){!d.isDefined(s)||s&&!a.$eval(s)||h()});y()});l=g.scope=b;l.$emit("$viewContentLoaded"); +l.$eval(v)}else y()}var l,m,k,s=b.autoscroll,v=b.onload||"";a.$on("$routeChangeSuccess",w);w()}}}function z(d,h,f){return{restrict:"ECA",priority:-400,link:function(a,c){var b=f.current,g=b.locals;c.html(g.$template);var x=d(c.contents());b.controller&&(g.$scope=a,g=h(b.controller,g),b.controllerAs&&(a[b.controllerAs]=g),c.data("$ngControllerController",g),c.children().data("$ngControllerController",g));x(a)}}}p=d.module("ngRoute",["ng"]).provider("$route",function(){function q(a,c){return d.extend(new (d.extend(function(){}, +{prototype:a})),c)}function h(a,d){var b=d.caseInsensitiveMatch,g={originalPath:a,regexp:a},f=g.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,d,b,c){a="?"===c?c:null;c="*"===c?c:null;f.push({name:b,optional:!!a});d=d||"";return""+(a?"":d)+"(?:"+(a?d:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");g.regexp=new RegExp("^"+a+"$",b?"i":"");return g}var f={};this.when=function(a,c){var b=d.copy(c);d.isUndefined(b.reloadOnSearch)&&(b.reloadOnSearch= +!0);f[a]=d.extend(b,a&&h(a,b));if(a){var g="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";f[g]=d.extend({redirectTo:a},h(g,b))}return this};this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(a,c,b,g,h,p,w){function l(b){var e=r.current;(u=(n=k())&&e&&n.$$route===e.$$route&&d.equals(n.pathParams,e.pathParams)&&!n.reloadOnSearch&&!v)||!e&&!n||a.$broadcast("$routeChangeStart", +n,e).defaultPrevented&&b&&b.preventDefault()}function m(){var t=r.current,e=n;if(u)t.params=e.params,d.copy(t.params,b),a.$broadcast("$routeUpdate",t);else if(e||t)v=!1,(r.current=e)&&e.redirectTo&&(d.isString(e.redirectTo)?c.path(s(e.redirectTo,e.params)).search(e.params).replace():c.url(e.redirectTo(e.pathParams,c.path(),c.search())).replace()),g.when(e).then(function(){if(e){var a=d.extend({},e.resolve),b,c;d.forEach(a,function(e,b){a[b]=d.isString(e)?h.get(e):h.invoke(e,null,null,b)});d.isDefined(b= +e.template)?d.isFunction(b)&&(b=b(e.params)):d.isDefined(c=e.templateUrl)&&(d.isFunction(c)&&(c=c(e.params)),c=w.getTrustedResourceUrl(c),d.isDefined(c)&&(e.loadedTemplateUrl=c,b=p(c)));d.isDefined(b)&&(a.$template=b);return g.all(a)}}).then(function(c){e==r.current&&(e&&(e.locals=c,d.copy(e.params,b)),a.$broadcast("$routeChangeSuccess",e,t))},function(b){e==r.current&&a.$broadcast("$routeChangeError",e,t,b)})}function k(){var a,e;d.forEach(f,function(b,g){var f;if(f=!e){var h=c.path();f=b.keys;var l= +{};if(b.regexp)if(h=b.regexp.exec(h)){for(var k=1,m=h.length;k - * - * See {@link ngSanitize.$sanitize `$sanitize`} for usage. - */ - -/* - * HTML Parser By Misko Hevery (misko@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 $sanitize - * @kind 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. - * The whitelist is configured using the functions `aHrefSanitizationWhitelist` and - * `imgSrcSanitizationWhitelist` of {@link ng.$compileProvider `$compileProvider`}. - * - * @param {string} html Html input. - * @returns {string} Sanitized html. - * - * @example - - - -
- Snippet: - - - - - - - - - - - - - - - - - - - - - - - - - -
DirectiveHowSourceRendered
ng-bind-htmlAutomatically uses $sanitize
<div ng-bind-html="snippet">
</div>
ng-bind-htmlBypass $sanitize by explicitly trusting the dangerous value -
<div ng-bind-html="deliberatelyTrustDangerousSnippet()">
-</div>
-
ng-bindAutomatically escapes
<div ng-bind="snippet">
</div>
-
-
- - it('should sanitize the html snippet by default', function() { - expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()). - toBe('

an html\nclick here\nsnippet

'); - }); - - it('should inline raw snippet if bound to a trusted value', function() { - expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()). - toBe("

an html\n" + - "click here\n" + - "snippet

"); - }); - - it('should escape snippet without any filter', function() { - expect(element(by.css('#bind-default div')).getInnerHtml()). - toBe("<p style=\"color:blue\">an html\n" + - "<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" + - "snippet</p>"); - }); - - it('should update', function() { - element(by.model('snippet')).clear(); - element(by.model('snippet')).sendKeys('new text'); - expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()). - toBe('new text'); - expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()).toBe( - 'new text'); - expect(element(by.css('#bind-default div')).getInnerHtml()).toBe( - "new <b onclick=\"alert(1)\">text</b>"); - }); -
-
- */ -function $SanitizeProvider() { - this.$get = ['$$sanitizeUri', function($$sanitizeUri) { - return function(html) { - var buf = []; - htmlParser(html, htmlSanitizeWriter(buf, function(uri, isImage) { - return !/^unsafe/.test($$sanitizeUri(uri, isImage)); - })); - return buf.join(''); - }; - }]; -} - -function sanitizeText(chars) { - var buf = []; - var writer = htmlSanitizeWriter(buf, angular.noop); - writer.chars(chars); - return buf.join(''); -} - - -// Regular Expressions for parsing tags and attributes -var START_TAG_REGEXP = - /^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/, - END_TAG_REGEXP = /^<\/\s*([\w:-]+)[^>]*>/, - ATTR_REGEXP = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, - BEGIN_TAG_REGEXP = /^/g, - DOCTYPE_REGEXP = /]*?)>/i, - CDATA_REGEXP = //g, - SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, - // Match everything outside of normal chars and " (quote character) - NON_ALPHANUMERIC_REGEXP = /([^\#-~| |!])/g; - - -// 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 can, intentionally, leave open (and which close themselves) -// http://dev.w3.org/html5/spec/Overview.html#optional-tags -var optionalEndTagBlockElements = makeMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), - optionalEndTagInlineElements = makeMap("rp,rt"), - optionalEndTagElements = angular.extend({}, - optionalEndTagInlineElements, - optionalEndTagBlockElements); - -// Safe Block Elements - HTML5 -var blockElements = angular.extend({}, optionalEndTagBlockElements, makeMap("address,article," + - "aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5," + - "h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")); - -// Inline Elements - HTML5 -var inlineElements = angular.extend({}, optionalEndTagInlineElements, makeMap("a,abbr,acronym,b," + - "bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s," + - "samp,small,span,strike,strong,sub,sup,time,tt,u,var")); - - -// Special Elements (can contain anything) -var specialElements = makeMap("script,style"); - -var validElements = angular.extend({}, - voidElements, - blockElements, - inlineElements, - optionalEndTagElements); - -//Attributes that have href and hence need to be sanitized -var uriAttrs = makeMap("background,cite,href,longdesc,src"); -var validAttrs = angular.extend({}, uriAttrs, makeMap( - 'abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,'+ - 'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,'+ - 'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,'+ - 'scope,scrolling,shape,size,span,start,summary,target,title,type,'+ - 'valign,value,vspace,width')); - -function makeMap(str) { - var obj = {}, items = str.split(','), i; - for (i = 0; i < items.length; i++) obj[items[i]] = true; - return obj; -} - - -/** - * @example - * htmlParser(htmlString, { - * start: function(tag, attrs, unary) {}, - * end: function(tag) {}, - * chars: function(text) {}, - * comment: function(text) {} - * }); - * - * @param {string} html string - * @param {object} handler - */ -function htmlParser( html, handler ) { - if (typeof html !== 'string') { - if (html === null || typeof html === 'undefined') { - html = ''; - } else { - html = '' + html; - } - } - var index, chars, match, stack = [], last = html, text; - stack.last = function() { return stack[ stack.length - 1 ]; }; - - while ( html ) { - text = ''; - chars = true; - - // Make sure we're not in a script or style element - if ( !stack.last() || !specialElements[ stack.last() ] ) { - - // Comment - if ( html.indexOf("", index) === index) { - if (handler.comment) handler.comment( html.substring( 4, index ) ); - html = html.substring( index + 3 ); - chars = false; - } - // DOCTYPE - } else if ( DOCTYPE_REGEXP.test(html) ) { - match = html.match( DOCTYPE_REGEXP ); - - if ( match ) { - html = html.replace( match[0], ''); - chars = false; - } - // end tag - } else if ( BEGING_END_TAGE_REGEXP.test(html) ) { - match = html.match( END_TAG_REGEXP ); - - if ( match ) { - html = html.substring( match[0].length ); - match[0].replace( END_TAG_REGEXP, parseEndTag ); - chars = false; - } - - // start tag - } else if ( BEGIN_TAG_REGEXP.test(html) ) { - match = html.match( START_TAG_REGEXP ); - - if ( match ) { - // We only have a valid start-tag if there is a '>'. - if ( match[4] ) { - html = html.substring( match[0].length ); - match[0].replace( START_TAG_REGEXP, parseStartTag ); - } - chars = false; - } else { - // no ending tag found --- this piece should be encoded as an entity. - text += '<'; - html = html.substring(1); - } - } - - if ( chars ) { - index = html.indexOf("<"); - - text += index < 0 ? html : html.substring( 0, index ); - html = index < 0 ? "" : html.substring( index ); - - if (handler.chars) handler.chars( decodeEntities(text) ); - } - - } else { - html = html.replace(new RegExp("(.*)<\\s*\\/\\s*" + stack.last() + "[^>]*>", 'i'), - function(all, text){ - text = text.replace(COMMENT_REGEXP, "$1").replace(CDATA_REGEXP, "$1"); - - if (handler.chars) handler.chars( decodeEntities(text) ); - - return ""; - }); - - parseEndTag( "", stack.last() ); - } - - if ( html == last ) { - throw $sanitizeMinErr('badparse', "The sanitizer was unable to parse the following block " + - "of html: {0}", html); - } - last = html; - } - - // Clean up any remaining tags - parseEndTag(); - - function parseStartTag( tag, tagName, rest, unary ) { - tagName = angular.lowercase(tagName); - if ( blockElements[ tagName ] ) { - while ( stack.last() && inlineElements[ stack.last() ] ) { - parseEndTag( "", stack.last() ); - } - } - - if ( optionalEndTagElements[ tagName ] && stack.last() == tagName ) { - parseEndTag( "", tagName ); - } - - unary = voidElements[ tagName ] || !!unary; - - if ( !unary ) - stack.push( tagName ); - - var attrs = {}; - - rest.replace(ATTR_REGEXP, - function(match, name, doubleQuotedValue, singleQuotedValue, unquotedValue) { - var value = doubleQuotedValue - || singleQuotedValue - || unquotedValue - || ''; - - attrs[name] = decodeEntities(value); - }); - if (handler.start) handler.start( tagName, attrs, unary ); - } - - function parseEndTag( tag, tagName ) { - var pos = 0, i; - tagName = angular.lowercase(tagName); - if ( tagName ) - // Find the closest opened tag of the same type - for ( pos = stack.length - 1; pos >= 0; pos-- ) - if ( stack[ pos ] == tagName ) - break; - - if ( pos >= 0 ) { - // Close all the open elements, up the stack - for ( i = stack.length - 1; i >= pos; i-- ) - if (handler.end) handler.end( stack[ i ] ); - - // Remove the open elements from the stack - stack.length = pos; - } - } -} - -var hiddenPre=document.createElement("pre"); -var spaceRe = /^(\s*)([\s\S]*?)(\s*)$/; -/** - * decodes all entities into regular string - * @param value - * @returns {string} A string with decoded entities. - */ -function decodeEntities(value) { - if (!value) { return ''; } - - // Note: IE8 does not preserve spaces at the start/end of innerHTML - // so we must capture them and reattach them afterward - var parts = spaceRe.exec(value); - var spaceBefore = parts[1]; - var spaceAfter = parts[3]; - var content = parts[2]; - if (content) { - hiddenPre.innerHTML=content.replace(//g, '>'); -} - -/** - * create an HTML/XML writer which writes to buffer - * @param {Array} buf use buf.jain('') to get out sanitized html string - * @returns {object} in the form of { - * start: function(tag, attrs, unary) {}, - * end: function(tag) {}, - * chars: function(text) {}, - * comment: function(text) {} - * } - */ -function htmlSanitizeWriter(buf, uriValidator){ - var ignore = false; - var out = angular.bind(buf, buf.push); - return { - start: function(tag, attrs, unary){ - tag = angular.lowercase(tag); - if (!ignore && specialElements[tag]) { - ignore = tag; - } - if (!ignore && validElements[tag] === true) { - out('<'); - out(tag); - angular.forEach(attrs, function(value, key){ - var lkey=angular.lowercase(key); - var isImage = (tag === 'img' && lkey === 'src') || (lkey === 'background'); - if (validAttrs[lkey] === true && - (uriAttrs[lkey] !== true || uriValidator(value, isImage))) { - out(' '); - out(key); - out('="'); - out(encodeEntities(value)); - out('"'); - } - }); - out(unary ? '/>' : '>'); - } - }, - end: function(tag){ - tag = angular.lowercase(tag); - if (!ignore && validElements[tag] === true) { - out(''); - } - if (tag == ignore) { - ignore = false; - } - }, - chars: function(chars){ - if (!ignore) { - out(encodeEntities(chars)); - } - } - }; -} - - -// define ngSanitize module and register $sanitize service -angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider); - -/* global sanitizeText: false */ - -/** - * @ngdoc filter - * @name linky - * @kind function - * - * @description - * Finds links in text input and turns them into html links. Supports http/https/ftp/mailto and - * plain email address links. - * - * Requires the {@link ngSanitize `ngSanitize`} module to be installed. - * - * @param {string} text Input text. - * @param {string} target Window (_blank|_self|_parent|_top) or named frame to open links in. - * @returns {string} Html-linkified text. - * - * @usage - - * - * @example - - - -
- Snippet: - - - - - - - - - - - - - - - - - - - - - -
FilterSourceRendered
linky filter -
<div ng-bind-html="snippet | linky">
</div>
-
-
-
linky target -
<div ng-bind-html="snippetWithTarget | linky:'_blank'">
</div>
-
-
-
no filter
<div ng-bind="snippet">
</div>
- - - it('should linkify the snippet with urls', function() { - expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()). - toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' + - 'another@somewhere.org, and one more: ftp://127.0.0.1/.'); - expect(element.all(by.css('#linky-filter a')).count()).toEqual(4); - }); - - it('should not linkify snippet without the linky filter', function() { - expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()). - toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' + - 'another@somewhere.org, and one more: ftp://127.0.0.1/.'); - expect(element.all(by.css('#escaped-html a')).count()).toEqual(0); - }); - - it('should update', function() { - element(by.model('snippet')).clear(); - element(by.model('snippet')).sendKeys('new http://link.'); - expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()). - toBe('new http://link.'); - expect(element.all(by.css('#linky-filter a')).count()).toEqual(1); - expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()) - .toBe('new http://link.'); - }); - - it('should work with the target property', function() { - expect(element(by.id('linky-target')). - element(by.binding("snippetWithTarget | linky:'_blank'")).getText()). - toBe('http://angularjs.org/'); - expect(element(by.css('#linky-target a')).getAttribute('target')).toEqual('_blank'); - }); - - - */ -angular.module('ngSanitize').filter('linky', ['$sanitize', function($sanitize) { - var LINKY_URL_REGEXP = - /((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"]/, - MAILTO_REGEXP = /^mailto:/; - - return function(text, target) { - if (!text) return text; - var match; - var raw = text; - var html = []; - var url; - var i; - while ((match = raw.match(LINKY_URL_REGEXP))) { - // We can not end in these as they are sometimes found at the end of the sentence - url = match[0]; - // if we did not match ftp/http/mailto then assume mailto - if (match[2] == match[3]) url = 'mailto:' + url; - i = match.index; - addText(raw.substr(0, i)); - addLink(url, match[0].replace(MAILTO_REGEXP, '')); - raw = raw.substring(i + match[0].length); - } - addText(raw); - return $sanitize(html.join('')); - - function addText(text) { - if (!text) { - return; - } - html.push(sanitizeText(text)); - } - - function addLink(url, text) { - html.push(''); - addText(text); - html.push(''); - } - }; -}]); - - -})(window, window.angular); diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js b/src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js new file mode 100644 index 00000000..36bed1f0 --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js @@ -0,0 +1,16 @@ +/* + AngularJS v1.3.2 + (c) 2010-2014 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(p,g,q){'use strict';function F(a){var d=[];t(d,g.noop).chars(a);return d.join("")}function k(a){var d={};a=a.split(",");var c;for(c=0;c=c;e--)d.end&&d.end(f[e]);f.length=c}}"string"!==typeof a&&(a=null===a||"undefined"===typeof a?"":""+a);var b,m,f=[],n=a,h;for(f.last=function(){return f[f.length-1]};a;){h="";m=!0;if(f.last()&&y[f.last()])a=a.replace(new RegExp("(.*)<\\s*\\/\\s*"+f.last()+"[^>]*>","i"),function(a,b){b=b.replace(I,"$1").replace(J,"$1");d.chars&&d.chars(s(b));return""}),e("",f.last());else{if(0===a.indexOf("\x3c!--"))b=a.indexOf("--",4),0<=b&&a.lastIndexOf("--\x3e",b)===b&&(d.comment&&d.comment(a.substring(4, +b)),a=a.substring(b+3),m=!1);else if(z.test(a)){if(b=a.match(z))a=a.replace(b[0],""),m=!1}else if(K.test(a)){if(b=a.match(A))a=a.substring(b[0].length),b[0].replace(A,e),m=!1}else L.test(a)&&((b=a.match(B))?(b[4]&&(a=a.substring(b[0].length),b[0].replace(B,c)),m=!1):(h+="<",a=a.substring(1)));m&&(b=a.indexOf("<"),h+=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b),d.chars&&d.chars(s(h)))}if(a==n)throw M("badparse",a);n=a}e()}function s(a){if(!a)return"";var d=N.exec(a);a=d[1];var c=d[3];if(d=d[2])r.innerHTML= +d.replace(//g,">")}function t(a,d){var c=!1,e=g.bind(a,a.push);return{start:function(a,m,f){a=g.lowercase(a);!c&&y[a]&&(c=a);c||!0!==D[a]||(e("<"),e(a),g.forEach(m,function(c,f){var l= +g.lowercase(f),m="img"===a&&"src"===l||"background"===l;!0!==Q[l]||!0===E[l]&&!d(c,m)||(e(" "),e(f),e('="'),e(C(c)),e('"'))}),e(f?"/>":">"))},end:function(a){a=g.lowercase(a);c||!0!==D[a]||(e(""));a==c&&(c=!1)},chars:function(a){c||e(C(a))}}}var M=g.$$minErr("$sanitize"),B=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,A=/^<\/\s*([\w:-]+)[^>]*>/,H=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,L=/^]*?)>/i,J=/"]/,c=/^mailto:/;return function(e,b){function m(a){a&&l.push(F(a))}function f(a, +c){l.push("');m(c);l.push("")}if(!e)return e;for(var n,h=e,l=[],k,p;n=h.match(d);)k=n[0],n[2]==n[3]&&(k="mailto:"+k),p=n.index,m(h.substr(0,p)),f(k,n[0].replace(c,"")),h=h.substring(p+n[0].length);m(h);return a(l.join(""))}}])})(window,window.angular); +//# sourceMappingURL=angular-sanitize.min.js.map diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js.map b/src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js.map new file mode 100644 index 00000000..f0f0562d --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/angular-sanitize.min.js.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"angular-sanitize.min.js", +"lineCount":15, +"mappings":"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", +"sources":["angular-sanitize.js"], +"names":["window","angular","undefined","sanitizeText","chars","buf","htmlSanitizeWriter","writer","noop","join","makeMap","str","obj","items","split","i","length","htmlParser","html","handler","parseStartTag","tag","tagName","rest","unary","lowercase","blockElements","stack","last","inlineElements","parseEndTag","optionalEndTagElements","voidElements","push","attrs","replace","ATTR_REGEXP","match","name","doubleQuotedValue","singleQuotedValue","unquotedValue","decodeEntities","start","pos","end","index","text","stack.last","specialElements","RegExp","all","COMMENT_REGEXP","CDATA_REGEXP","indexOf","lastIndexOf","comment","substring","DOCTYPE_REGEXP","test","BEGING_END_TAGE_REGEXP","END_TAG_REGEXP","BEGIN_TAG_REGEXP","START_TAG_REGEXP","$sanitizeMinErr","value","parts","spaceRe","exec","spaceBefore","spaceAfter","content","hiddenPre","innerHTML","textContent","innerText","encodeEntities","SURROGATE_PAIR_REGEXP","hi","charCodeAt","low","NON_ALPHANUMERIC_REGEXP","uriValidator","ignore","out","bind","validElements","forEach","key","lkey","isImage","validAttrs","uriAttrs","$$minErr","optionalEndTagBlockElements","optionalEndTagInlineElements","extend","svgElements","htmlAttrs","svgAttrs","document","createElement","module","provider","$SanitizeProvider","$get","$$sanitizeUri","uri","filter","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","target","addText","addLink","url","isDefined","raw","substr"] +} diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js b/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js index f1a6c048..9e54789f 100644 --- a/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js +++ b/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js @@ -1,13 +1,13 @@ /* - AngularJS v1.2.32 + AngularJS v1.3.2 (c) 2010-2014 Google, Inc. http://angularjs.org License: MIT */ -(function(y,w,z){'use strict';function u(f,a,c){r.directive(f,["$parse","$swipe",function(m,p){var q=75,g=0.3,e=30;return function(h,n,l){function k(d){if(!b)return!1;var s=Math.abs(d.y-b.y);d=(d.x-b.x)*a;return v&&se&&s/dm&&10>p|| -(p>m?(e=!1,c.cancel&&c.cancel(a)):(a.preventDefault(),c.move&&c.move(n,a)))}});a.on("touchend mouseup",function(a){e&&(e=!1,c.end&&c.end(f(a),a))})}}}]);r.config(["$provide",function(f){f.decorator("ngClickDirective",["$delegate",function(a){a.shift();return a}])}]);r.directive("ngClick",["$parse","$timeout","$rootElement",function(f,a,c){function m(a,b,c){for(var d=0;dg)){var b= -a.touches&&a.touches.length?a.touches:[a],c=b[0].clientX,b=b[0].clientY;1>c&&1>b||k&&k[0]===c&&k[1]===b||(k&&(k=null),"label"===a.target.tagName.toLowerCase()&&(k=[c,b]),m(l,c,b)||(a.stopPropagation(),a.preventDefault(),a.target&&a.target.blur()))}}function q(c){c=c.touches&&c.touches.length?c.touches:[c];var b=c[0].clientX,e=c[0].clientY;l.push(b,e);a(function(){for(var a=0;ag&&12>s)&&(l||(c[0].addEventListener("click",p,!0),c[0].addEventListener("touchstart",q,!0),l=[]),n=Date.now(),m(l,f,h),t&&t.blur(),w.isDefined(e.disabled)&&!1!==e.disabled||b.triggerHandler("click",[a]));d()});b.onclick=function(a){};b.on("click",function(b,c){a.$apply(function(){g(a,{$event:c||b})})});b.on("mousedown",function(a){b.addClass(h)});b.on("mousemove mouseup",function(a){b.removeClass(h)})}}]); -u("ngSwipeLeft",-1,"swipeleft");u("ngSwipeRight",1,"swiperight")})(window,window.angular); +(function(y,u,z){'use strict';function s(h,k,p){n.directive(h,["$parse","$swipe",function(d,e){return function(l,m,f){function g(a){if(!c)return!1;var b=Math.abs(a.y-c.y);a=(a.x-c.x)*k;return q&&75>b&&0b/a}var b=d(f[h]),c,q,a=["touch"];u.isDefined(f.ngSwipeDisableMouse)||a.push("mouse");e.bind(m,{start:function(a,b){c=a;q=!0},cancel:function(a){q=!1},end:function(a,c){g(a)&&l.$apply(function(){m.triggerHandler(p);b(l,{$event:c})})}},a)}}])}var n=u.module("ngTouch",[]);n.factory("$swipe", +[function(){function h(d){var e=d.touches&&d.touches.length?d.touches:[d];d=d.changedTouches&&d.changedTouches[0]||d.originalEvent&&d.originalEvent.changedTouches&&d.originalEvent.changedTouches[0]||e[0].originalEvent||e[0];return{x:d.clientX,y:d.clientY}}function k(d,e){var l=[];u.forEach(d,function(d){(d=p[d][e])&&l.push(d)});return l.join(" ")}var p={mouse:{start:"mousedown",move:"mousemove",end:"mouseup"},touch:{start:"touchstart",move:"touchmove",end:"touchend",cancel:"touchcancel"}};return{bind:function(d, +e,l){var m,f,g,b,c=!1;l=l||["mouse","touch"];d.on(k(l,"start"),function(a){g=h(a);c=!0;f=m=0;b=g;e.start&&e.start(g,a)});var q=k(l,"cancel");if(q)d.on(q,function(a){c=!1;e.cancel&&e.cancel(a)});d.on(k(l,"move"),function(a){if(c&&g){var d=h(a);m+=Math.abs(d.x-b.x);f+=Math.abs(d.y-b.y);b=d;10>m&&10>f||(f>m?(c=!1,e.cancel&&e.cancel(a)):(a.preventDefault(),e.move&&e.move(d,a)))}});d.on(k(l,"end"),function(a){c&&(c=!1,e.end&&e.end(h(a),a))})}}}]);n.config(["$provide",function(h){h.decorator("ngClickDirective", +["$delegate",function(k){k.shift();return k}])}]);n.directive("ngClick",["$parse","$timeout","$rootElement",function(h,k,p){function d(b,c,d){for(var a=0;aMath.abs(b[a]-c)&&25>Math.abs(e-f))return b.splice(a,a+2),!0}return!1}function e(b){if(!(2500e&&1>c||g&&g[0]===e&&g[1]===c||(g&&(g=null),"label"===b.target.tagName.toLowerCase()&&(g=[e,c]),d(f,e,c)||(b.stopPropagation(), +b.preventDefault(),b.target&&b.target.blur()))}}function l(b){b=b.touches&&b.touches.length?b.touches:[b];var c=b[0].clientX,d=b[0].clientY;f.push(c,d);k(function(){for(var a=0;ak&&12>x&&(f||(p[0].addEventListener("click",e,!0),p[0].addEventListener("touchstart", +l,!0),f=[]),m=Date.now(),d(f,h,t),r&&r.blur(),u.isDefined(g.disabled)&&!1!==g.disabled||c.triggerHandler("click",[b]));a()});c.onclick=function(a){};c.on("click",function(a,c){b.$apply(function(){k(b,{$event:c||a})})});c.on("mousedown",function(a){c.addClass("ng-click-active")});c.on("mousemove mouseup",function(a){c.removeClass("ng-click-active")})}}]);s("ngSwipeLeft",-1,"swipeleft");s("ngSwipeRight",1,"swiperight")})(window,window.angular); //# sourceMappingURL=angular-touch.min.js.map diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js.map b/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js.map index e26dfa8b..74189e13 100644 --- a/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js.map +++ b/src/main/resources/META-INF/resources/designer/lib/angular-touch.min.js.map @@ -2,7 +2,7 @@ "version":3, "file":"angular-touch.min.js", "lineCount":12, -"mappings":"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", +"mappings":"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", "sources":["angular-touch.js"], -"names":["window","angular","undefined","makeSwipeDirective","directiveName","direction","eventName","ngTouch","directive","$parse","$swipe","MAX_VERTICAL_DISTANCE","MAX_VERTICAL_RATIO","MIN_HORIZONTAL_DISTANCE","scope","element","attr","validSwipe","coords","startCoords","deltaY","Math","abs","y","deltaX","x","valid","swipeHandler","bind","start","event","cancel","end","$apply","triggerHandler","module","factory","getCoordinates","touches","length","e","changedTouches","originalEvent","clientX","clientY","eventHandlers","totalX","totalY","lastPos","active","on","MOVE_BUFFER_RADIUS","preventDefault","config","$provide","decorator","$delegate","shift","$timeout","$rootElement","checkAllowableRegions","touchCoordinates","i","x1","CLICKBUSTER_THRESHOLD","y1","splice","onClick","Date","now","lastPreventedTime","PREVENT_DURATION","lastLabelClickCoordinates","target","tagName","toLowerCase","stopPropagation","blur","onTouchStart","push","ACTIVE_CLASS_NAME","resetState","tapping","removeClass","clickHandler","ngClick","tapElement","startTime","touchStartX","touchStartY","srcElement","nodeType","parentNode","addClass","diff","dist","sqrt","pow","TAP_DURATION","MOVE_TOLERANCE","addEventListener","isDefined","disabled","onclick","element.onclick","touchend"] +"names":["window","angular","undefined","makeSwipeDirective","directiveName","direction","eventName","ngTouch","directive","$parse","$swipe","scope","element","attr","validSwipe","coords","startCoords","deltaY","Math","abs","y","deltaX","x","valid","MAX_VERTICAL_DISTANCE","MIN_HORIZONTAL_DISTANCE","MAX_VERTICAL_RATIO","swipeHandler","pointerTypes","isDefined","push","bind","start","event","cancel","end","$apply","triggerHandler","$event","module","factory","getCoordinates","touches","length","e","changedTouches","originalEvent","clientX","clientY","getEvents","eventType","res","forEach","pointerType","POINTER_EVENTS","join","move","eventHandlers","totalX","totalY","lastPos","active","on","events","MOVE_BUFFER_RADIUS","preventDefault","config","$provide","decorator","$delegate","shift","$timeout","$rootElement","checkAllowableRegions","touchCoordinates","i","CLICKBUSTER_THRESHOLD","x1","y1","y2","splice","onClick","PREVENT_DURATION","Date","now","lastPreventedTime","lastLabelClickCoordinates","target","tagName","toLowerCase","stopPropagation","blur","onTouchStart","resetState","tapping","removeClass","ACTIVE_CLASS_NAME","clickHandler","ngClick","tapElement","startTime","touchStartX","touchStartY","srcElement","nodeType","parentNode","addClass","diff","dist","sqrt","pow","TAP_DURATION","MOVE_TOLERANCE","addEventListener","disabled","onclick","element.onclick","touchend"] } diff --git a/src/main/resources/META-INF/resources/designer/lib/angular.min.js b/src/main/resources/META-INF/resources/designer/lib/angular.min.js index 77e16792..c35fb92b 100644 --- a/src/main/resources/META-INF/resources/designer/lib/angular.min.js +++ b/src/main/resources/META-INF/resources/designer/lib/angular.min.js @@ -1,218 +1,249 @@ /* - AngularJS v1.2.32 + AngularJS v1.3.2 (c) 2010-2014 Google, Inc. http://angularjs.org License: MIT */ -(function(V,W,v){'use strict';function z(b){return function(){var a=arguments[0],c,a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.32/"+(b?b+"/":"")+a;for(c=1;c").append(b).html();try{return 3===b[0].nodeType?A(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+A(b)})}catch(d){return A(c)}}function ac(b){try{return decodeURIComponent(b)}catch(a){}}function bc(b){var a={},c,d;r((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=ac(c[0]),G(d)&&(b=G(c[1])?ac(c[1]):!0,kb.call(a,d)?M(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Bb(b){var a= -[];r(b,function(b,d){M(b)?r(b,function(b){a.push(Ca(d,!0)+(!0===b?"":"="+Ca(b,!0)))}):a.push(Ca(d,!0)+(!0===b?"":"="+Ca(b,!0)))});return a.length?a.join("&"):""}function lb(b){return Ca(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ca(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function Xc(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,g=["ng:app","ng-app","x-ng-app", -"data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(g,function(a){g[a]=!0;c(W.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(r(b.querySelectorAll("."+a),c),r(b.querySelectorAll("."+a+"\\:"),c),r(b.querySelectorAll("["+a+"]"),c))});r(d,function(a){if(!e){var b=h.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):r(a.attributes,function(b){!e&&g[b.name]&&(e=a,f=b.value)})}});e&&a(e,f?[f]:[])}function cc(b,a){var c=function(){b=D(b);if(b.injector()){var c=b[0]===W? -"document":ia(b);throw Ua("btstrpd",c.replace(//,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");c=dc(a);c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(V&&!d.test(V.name))return c();V.name=V.name.replace(d,"");Wa.resumeBootstrap=function(b){r(b,function(b){a.push(b)});c()}}function mb(b,a){a= -a||"_";return b.replace(Yc,function(b,d){return(d?a:"")+b.toLowerCase()})}function Cb(b,a,c){if(!b)throw Ua("areq",a||"?",c||"required");return b}function Xa(b,a,c){c&&M(b)&&(b=b[b.length-1]);Cb(O(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Da(b,a){if("hasOwnProperty"===b)throw Ua("badname",a);}function ec(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g 
"+e[1]+a.replace(me,"<$1>")+e[2];d.removeChild(d.firstChild);for(a=e[0];a--;)d=d.lastChild;a=0;for(e=d.childNodes.length;a=u?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function La(b,a){var c=typeof b,d;"function"==c||"object"==c&&null!==b?"function"==typeof(d= -b.$$hashKey)?d=b.$$hashKey():d===v&&(d=b.$$hashKey=(a||hb)()):d=b;return c+":"+d}function cb(b,a){if(a){var c=0;this.nextUid=function(){return++c}}r(b,this.put,this)}function pc(b){var a,c;"function"===typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(pe,""),c=c.match(qe),r(c[1].split(re),function(b){b.replace(se,function(b,c,d){a.push(d)})})),b.$inject=a):M(b)?(c=b.length-1,Xa(b[c],"fn"),a=b.slice(0,c)):Xa(b,"fn",!0);return a}function dc(b){function a(a){return function(b,c){if(T(b))r(b, -Xb(a));else return a(b,c)}}function c(a,b){Da(a,"service");if(O(b)||M(b))b=n.instantiate(b);if(!b.$get)throw db("pget",a);return m[a+h]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[],c,d,f,h;r(a,function(a){if(!l.get(a)){l.put(a,!0);try{if(E(a))for(c=Za(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,f=0,h=d.length;f 4096 bytes)!"));else{if(k.cookie!==ba)for(ba=k.cookie,d=ba.split("; "),N={},f=0;fl&&this.remove(q.key), -b},get:function(a){if(l").parent()[0])});var f=P(a,b,a,c,d,e);aa(a,"ng-scope");return function(b,c,d,e){Cb(b,"scope");var g=c?Ma.clone.call(a):a;r(d,function(a,b){g.data("$"+b+"Controller",a)});d=0;for(var k=g.length;darguments.length&&(b=a,a=v);Ga&&(c=ba);return n(a,b,c)}var x,R,y,N,C,Q,ba={},ra;x=c===f?d:ha(d,new Nb(D(f),d.$attr));R=x.$$element;if(L){var ve=/^\s*([@=&])(\??)\s*(\w*)\s*$/; -Q=e.$new(!0);!J||J!==L&&J!==L.$$originalDirective?R.data("$isolateScopeNoTemplate",Q):R.data("$isolateScope",Q);aa(R,"ng-isolate-scope");r(L.scope,function(a,c){var d=a.match(ve)||[],f=d[3]||c,g="?"==d[2],d=d[1],k,m,n,q;Q.$$isolateBindings[c]=d+f;switch(d){case "@":x.$observe(f,function(a){Q[c]=a});x.$$observers[f].$$scope=e;x[f]&&(Q[c]=b(x[f])(e));break;case "=":if(g&&!x[f])break;m=p(x[f]);q=m.literal?Ba:function(a,b){return a===b||a!==a&&b!==b};n=m.assign||function(){k=Q[c]=m(e);throw ja("nonassign", -x[f],L.name);};k=Q[c]=m(e);Q.$watch(function(){var a=m(e);q(a,Q[c])||(q(a,k)?n(e,a=Q[c]):Q[c]=a);return k=a},null,m.literal);break;case "&":m=p(x[f]);Q[c]=function(a){return m(e,a)};break;default:throw ja("iscp",L.name,c,a);}})}ra=n&&w;P&&r(P,function(a){var b={$scope:a===L||a.$$isolateScope?Q:e,$element:R,$attrs:x,$transclude:ra},c;C=a.controller;"@"==C&&(C=x[a.name]);c=s(C,b);ba[a.name]=c;Ga||R.data("$"+a.name+"Controller",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});g=0;for(y=k.length;gI.priority)break;if(u=I.scope)N=N||I,I.templateUrl||(eb("new/isolated scope",L,I,A),T(u)&&(L=I));z=I.name;!I.templateUrl&&I.controller&&(u=I.controller,P=P||{},eb("'"+z+"' controller",P[z],I,A),P[z]=I);if(u=I.transclude)H=!0,I.$$tlb||(eb("transclusion",da,I,A),da=I),"element"==u?(Ga=!0,x=I.priority,u=A,A=d.$$element=D(W.createComment(" "+z+": "+d[z]+" ")),c=A[0],ra(f,va.call(u,0),c),S=y(u,e,x,g&& -g.name,{nonTlbTranscludeDirective:da})):(u=D(Jb(c)).contents(),A.empty(),S=y(u,e));if(I.template)if(F=!0,eb("template",J,I,A),J=I,u=O(I.template)?I.template(A,d):I.template,u=V(u),I.replace){g=I;u=Hb.test(u)?D($(u)):[];c=u[0];if(1!=u.length||1!==c.nodeType)throw ja("tplrt",z,"");ra(f,A,c);U={$attr:{}};u=ba(c,[],U);var we=a.splice(ka+1,a.length-(ka+1));L&&G(u);a=a.concat(u).concat(we);B(d,U);U=a.length}else A.html(u);if(I.templateUrl)F=!0,eb("template",J,I,A),J=I,I.replace&&(g=I),K=ue(a.splice(ka, -a.length-ka),A,d,f,H&&S,k,q,{controllerDirectives:P,newIsolateScopeDirective:L,templateDirective:J,nonTlbTranscludeDirective:da}),U=a.length;else if(I.compile)try{Oa=I.compile(A,d,S),O(Oa)?w(null,Oa,X,Y):Oa&&w(Oa.pre,Oa.post,X,Y)}catch(Z){m(Z,ia(A))}I.terminal&&(K.terminal=!0,x=Math.max(x,I.priority))}K.scope=N&&!0===N.scope;K.transcludeOnThisElement=H;K.templateOnThisElement=F;K.transclude=S;n.hasElementTranscludeDirective=Ga;return K}function G(a){for(var b=0,c=a.length;bq.priority)&&-1!=q.restrict.indexOf(f)&&(l&&(q=Zb(q,{$$start:l,$$end:n})),b.push(q),p=q)}catch(x){m(x)}}return p}function B(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,f){"class"==f?(aa(e,b),a["class"]=(a["class"]?a["class"]+" ": -"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function ue(a,b,c,d,e,f,g,k){var p=[],l,m,w=b[0],s=a.shift(),x=F({},s,{templateUrl:null,transclude:null,replace:null,$$originalDirective:s}),K=O(s.templateUrl)?s.templateUrl(b,c):s.templateUrl;b.empty();n.get(t.getTrustedResourceUrl(K),{cache:q}).success(function(q){var n,t;q=V(q);if(s.replace){q=Hb.test(q)?D($(q)):[];n=q[0];if(1!=q.length||1!==n.nodeType)throw ja("tplrt", -s.name,K);q={$attr:{}};ra(d,b,n);var y=ba(n,[],q);T(s.scope)&&G(y);a=y.concat(a);B(c,q)}else n=w,b.html(q);a.unshift(x);l=J(a,n,c,e,b,s,f,g,k);r(d,function(a,c){a==n&&(d[c]=b[0])});for(m=P(b[0].childNodes,e);p.length;){q=p.shift();t=p.shift();var L=p.shift(),C=p.shift(),y=b[0];if(t!==w){var Q=t.className;k.hasElementTranscludeDirective&&s.replace||(y=Jb(n));ra(L,D(t),y);aa(D(y),Q)}t=l.transcludeOnThisElement?N(q,l.transclude,C):C;l(m,q,y,d,t)}p=null}).error(function(a,b,c,d){throw ja("tpload",d.url); -});return function(a,b,c,d,e){a=e;p?(p.push(b),p.push(c),p.push(d),p.push(a)):(l.transcludeOnThisElement&&(a=N(b,l.transclude,e)),l(m,b,c,d,a))}}function H(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.namea.status?d:n.reject(d)}var c={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},d=function(a){var b=e.headers,c=F({},a.headers),d,f,b=F({},b.common,b[A(a.method)]);a:for(d in b){a=A(d);for(f in c)if(A(f)===a)continue a;c[d]=b[d]}(function(a){var b;r(a,function(c,d){O(c)&&(b=c(),null!=b?a[d]=b:delete a[d])})})(c); -return c}(a);F(c,a);c.headers=d;c.method=Ja(c.method);var f=[function(a){d=a.headers;var c=uc(a.data,tc(d),a.transformRequest);H(c)&&r(d,function(a,b){"content-type"===A(b)&&delete d[b]});H(a.withCredentials)&&!H(e.withCredentials)&&(a.withCredentials=e.withCredentials);return s(a,c,d).then(b,b)},v],g=n.when(c);for(r(t,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var h=f.shift(), -g=g.then(a,h)}g.success=function(a){g.then(function(b){a(b.data,b.status,b.headers,c)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,c)});return g};return g}function s(c,f,g){function l(a,b,c,e){C&&(200<=a&&300>a?C.put(u,[a,b,sc(c),e]):C.remove(u));q(b,a,c,e);d.$$phase||d.$apply()}function q(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?t.resolve:t.reject)({data:a,status:b,headers:tc(d),config:c,statusText:e})}function s(){var a=Sa(p.pendingRequests,c);-1!==a&&p.pendingRequests.splice(a, -1)}var t=n.defer(),r=t.promise,C,J,u=K(c.url,c.params);p.pendingRequests.push(c);r.then(s,s);!c.cache&&!e.cache||(!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method)||(C=T(c.cache)?c.cache:T(e.cache)?e.cache:w);if(C)if(J=C.get(u),G(J)){if(J&&O(J.then))return J.then(s,s),J;M(J)?q(J[1],J[0],ha(J[2]),J[3]):q(J,200,{},"OK")}else C.put(u,r);H(J)&&((J=Ob(c.url)?b.cookies()[c.xsrfCookieName||e.xsrfCookieName]:v)&&(g[c.xsrfHeaderName||e.xsrfHeaderName]=J),a(c.method,u,f,l,g,c.timeout,c.withCredentials,c.responseType)); -return r}function K(a,b){if(!b)return a;var c=[];Tc(b,function(a,b){null===a||H(a)||(M(a)||(a=[a]),r(a,function(a){T(a)&&(a=ua(a)?a.toISOString():oa(a));c.push(Ca(b)+"="+Ca(a))}))});0=u&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!V.XMLHttpRequest))return new V.ActiveXObject("Microsoft.XMLHTTP");if(V.XMLHttpRequest)return new V.XMLHttpRequest;throw z("$httpBackend")("noxhr"); -}function Vd(){this.$get=["$browser","$window","$document",function(b,a,c){return ze(b,ye,b.defer,a.angular.callbacks,c[0])}]}function ze(b,a,c,d,e){function f(a,b,c){var f=e.createElement("script"),g=null;f.type="text/javascript";f.src=a;f.async=!0;g=function(a){ab(f,"load",g);ab(f,"error",g);e.body.removeChild(f);f=null;var h=-1,s="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),s=a.type,h="error"===a.type?404:200);c&&c(h,s)};rb(f,"load",g);rb(f,"error",g);8>=u&&(f.onreadystatechange= -function(){E(f.readyState)&&/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,g({type:"load"}))});e.body.appendChild(f);return g}var g=-1;return function(e,k,l,m,n,q,p,s){function K(){t=g;L&&L();y&&y.abort()}function w(a,d,e,f,g){P&&c.cancel(P);L=y=null;0===d&&(d=e?200:"file"==wa(k).protocol?404:0);a(1223===d?204:d,e,f,g||"");b.$$completeOutstandingRequest(B)}var t;b.$$incOutstandingRequestCount();k=k||b.url();if("jsonp"==A(e)){var x="_"+(d.counter++).toString(36);d[x]=function(a){d[x].data= -a;d[x].called=!0};var L=f(k.replace("JSON_CALLBACK","angular.callbacks."+x),x,function(a,b){w(m,a,d[x].data,"",b);d[x]=B})}else{var y=a(e);y.open(e,k,!0);r(n,function(a,b){G(a)&&y.setRequestHeader(b,a)});y.onreadystatechange=function(){if(y&&4==y.readyState){var a=null,b=null,c="";t!==g&&(a=y.getAllResponseHeaders(),b="response"in y?y.response:y.responseText);t===g&&10>u||(c=y.statusText);w(m,t||y.status,b,a,c)}};p&&(y.withCredentials=!0);if(s)try{y.responseType=s}catch(aa){if("json"!==s)throw aa; -}y.send(l||null)}if(0=h&&(n.resolve(p),m(q.$$intervalId),delete e[q.$$intervalId]);s||b.$apply()},g);e[q.$$intervalId]=n;return q}var e={};d.cancel=function(b){return b&&b.$$intervalId in e?(e[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete e[b.$$intervalId], -!0):!1};return d}]}function bd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), -DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function Pb(b){b=b.split("/");for(var a=b.length;a--;)b[a]=lb(b[a]);return b.join("/")}function wc(b,a,c){b=wa(b,c);a.$$protocol= -b.protocol;a.$$host=b.hostname;a.$$port=U(b.port)||Ae[b.protocol]||null}function xc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=wa(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=bc(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function sa(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Fa(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function yc(b){return b.replace(/(#.+)|#$/, -"$1")}function Qb(b){return b.substr(0,Fa(b).lastIndexOf("/")+1)}function zc(b,a){this.$$html5=!0;a=a||"";var c=Qb(b);wc(b,this,b);this.$$parse=function(a){var e=sa(c,a);if(!E(e))throw Rb("ipthprfx",a,c);xc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Bb(this.$$search),b=this.$$hash?"#"+lb(this.$$hash):"";this.$$url=Pb(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){var f,g;(f=sa(b,d))!==v?(g=f,g=(f= -sa(a,f))!==v?c+(sa("/",f)||f):b+g):(f=sa(c,d))!==v?g=c+f:c==d+"/"&&(g=c);g&&this.$$parse(g);return!!g}}function Sb(b,a){var c=Qb(b);wc(b,this,b);this.$$parse=function(d){var e=sa(b,d)||sa(c,d),e="#"==e.charAt(0)?sa(a,e):this.$$html5?e:"";if(!E(e))throw Rb("ihshprfx",d,a);xc(e,this,b);d=this.$$path;var f=/^\/[A-Z]:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Bb(this.$$search),e=this.$$hash?"#"+lb(this.$$hash): -"";this.$$url=Pb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$parseLinkUrl=function(a,c){return Fa(b)==Fa(a)?(this.$$parse(a),!0):!1}}function Ac(b,a){this.$$html5=!0;Sb.apply(this,arguments);var c=Qb(b);this.$$parseLinkUrl=function(d,e){var f,g;b==Fa(d)?f=d:(g=sa(c,d))?f=b+a+g:c===d+"/"&&(f=c);f&&this.$$parse(f);return!!f};this.$$compose=function(){var c=Bb(this.$$search),e=this.$$hash?"#"+lb(this.$$hash):"";this.$$url=Pb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl= -b+a+this.$$url}}function sb(b){return function(){return this[b]}}function Bc(b,a){return function(c){if(H(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Wd(){var b="",a=!1;this.hashPrefix=function(a){return G(a)?(b=a,this):b};this.html5Mode=function(b){return G(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a){c.$broadcast("$locationChangeSuccess",h.absUrl(),a)}var h,k=d.baseHref(),l=d.url();a?(k=l.substring(0,l.indexOf("/", -l.indexOf("//")+2))+(k||"/"),e=e.history?zc:Ac):(k=Fa(l),e=Sb);h=new e(k,"#"+b);h.$$parseLinkUrl(l,l);var m=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=D(a.target);"a"!==A(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href"),g=b.attr("href")||b.attr("xlink:href");T(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=wa(e.animVal).href);m.test(e)||(!e||(b.attr("target")||a.isDefaultPrevented())||!h.$$parseLinkUrl(e, -g))||(a.preventDefault(),h.absUrl()!=d.url()&&(c.$apply(),V.angular["ff-684208-preventDefault"]=!0))}});h.absUrl()!=l&&d.url(h.absUrl(),!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(h.$$parse(b),d.url(b)):g(b)}),c.$$phase||c.$digest())});var n=0;c.$watch(function(){var a=yc(d.url()),b=yc(h.absUrl()),e=h.$$replace;n&&a==b||(n++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart", -h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),e),g(a))}));h.$$replace=!1;return n});return h}]}function Xd(){var b=!0,a=this;this.debugEnabled=function(a){return G(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||B;a=!1;try{a=!!e.apply}catch(k){}return a? -function(){var a=[];r(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function la(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw ea("isecfld",a);return b}function Cc(b,a){b+="";if(!E(b))throw ea("iseccst",a);return b}function ma(b, -a){if(b){if(b.constructor===b)throw ea("isecfn",a);if(b.document&&b.location&&b.alert&&b.setInterval)throw ea("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw ea("isecdom",a);if(b===Object)throw ea("isecobj",a);}return b}function tb(b,a,c,d,e){ma(b,d);e=e||{};a=a.split(".");for(var f,g=0;1g?Dc(f[0],f[1],f[2],f[3],f[4],c,a):function(b,d){var e=0,h;do h= -Dc(f[e++],f[e++],f[e++],f[e++],f[e++],c,a)(b,d),d=v,b=h;while(ea||37<=a&&40>=a)||p()});if(e.hasEvent("paste"))a.on("paste cut",p)}a.on("change",n);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var s=c.ngPattern;s&&((e=s.match(/^\/(.*)\/([gim]*)$/))?(s=RegExp(e[1],e[2]),e=function(a){return ta(d,"pattern",d.$isEmpty(a)||s.test(a),a)}):e=function(c){var e=b.$eval(s);if(!e||!e.test)throw z("ngPattern")("noregexp",s, -e,ia(a));return ta(d,"pattern",d.$isEmpty(c)||e.test(c),c)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var r=U(c.ngMinlength);e=function(a){return ta(d,"minlength",d.$isEmpty(a)||a.length>=r,a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var w=U(c.ngMaxlength);e=function(a){return ta(d,"maxlength",d.$isEmpty(a)||a.length<=w,a)};d.$parsers.push(e);d.$formatters.push(e)}}function Vb(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d< -a.length;d++){for(var e=a[d],m=0;mu?function(b){b=b.nodeName?b:b[0];return b.scopeName&&"HTML"!=b.scopeName?Ja(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var Ya=function(){if(G(Ya.isActive_))return Ya.isActive_;var b=!(!W.querySelector("[ng-csp]")&&!W.querySelector("[data-ng-csp]"));if(!b)try{new Function("")}catch(a){b=!0}return Ya.isActive_=b},Yc=/[A-Z]/g,ad={full:"1.2.32",major:1,minor:2, -dot:32,codeName:"alternation-intention"};S.expando="ng339";var bb=S.cache={},ne=1,rb=V.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},ab=V.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};S._data=function(b){return this.cache[b[this.expando]]||{}};var ie=/([\:\-\_]+(.))/g,je=/^moz([A-Z])/,Gb=z("jqLite"),ke=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Hb=/<|&#?\w+;/,le=/<([\w:]+)/,me= -/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ca={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ca.optgroup=ca.option;ca.tbody=ca.tfoot=ca.colgroup=ca.caption=ca.thead;ca.th=ca.td;var Ma=S.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===W.readyState? -setTimeout(a):(this.on("DOMContentLoaded",a),S(V).on("load",a))},toString:function(){var b=[];r(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?D(this[b]):D(this[this.length+b])},length:0,push:Qe,sort:[].sort,splice:[].splice},qb={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){qb[A(b)]=b});var oc={};r("input select option textarea button form details".split(" "),function(b){oc[Ja(b)]=!0});r({data:Lb,removeData:Kb},function(b, -a){S[a]=b});r({data:Lb,inheritedData:pb,scope:function(b){return D.data(b,"$scope")||pb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return D.data(b,"$isolateScope")||D.data(b,"$isolateScopeNoTemplate")},controller:lc,injector:function(b){return pb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Mb,css:function(b,a,c){a=$a(a);if(G(c))b.style[a]=c;else{var d;8>=u&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=u&&(d=""=== -d?v:d);return d}},attr:function(b,a,c){var d=A(a);if(qb[d])if(G(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||B).specified?d:v;else if(G(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?v:b},prop:function(b,a,c){if(G(c))b[a]=c;else return b[a]},text:function(){function b(b,d){var e=a[b.nodeType];if(H(d))return e?b[e]:"";b[e]=d}var a=[];9>u?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent"; -b.$dv="";return b}(),val:function(b,a){if(H(a)){if("SELECT"===Na(b)&&b.multiple){var c=[];r(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(H(a))return b.innerHTML;for(var c=0,d=b.childNodes;c":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Ve={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'}, -Tb=function(a){this.options=a};Tb.prototype={constructor:Tb,lex:function(a){this.text=a;this.index=0;this.ch=v;this.lastCh=":";for(this.tokens=[];this.index=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=G(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw ea("lexerr", -a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(fb.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()): -this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=Ec(d,this.options,this.text);return F(function(c,d,h){return e(h||a(c,d))},{assign:function(e,g,h){(h=a(e,h))||a.assign(e,h={});return tb(h,d,g,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();this.consume("]");return F(function(e,f){var g=a(e,f),h=Cc(d(e,f),c.text),k;la(h,c.text);if(!g)return v;(g=ma(g[h],c.text))&&(g.then&&c.options.unwrapPromises)&&(k=g,"$$v"in g||(k.$$v=v,k.then(function(a){k.$$v= -a})),g=g.$$v);return g},{assign:function(e,f,g){var h=la(Cc(d(e,g),c.text),c.text);(g=ma(a(e,g),c.text))||a.assign(e,g={});return g[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this;return function(f,g){for(var h=[],k=c?c(f,g):f,l=0;la.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Ub(Math[0=u&&(c.href||c.name||c.$set("href",""),a.append(W.createComment("IE fix")));if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var f="[object SVGAnimatedString]"===Aa.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)|| -a.preventDefault()})}}}),Eb={};r(qb,function(a,c){if("multiple"!=a){var d=qa("ng-"+c);Eb[d]=function(){return{priority:100,link:function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}});r(["src","srcset","href"],function(a){var c=qa("ng-"+a);Eb[c]=function(){return{priority:99,link:function(d,e,f){var g=a,h=a;"href"===a&&"[object SVGAnimatedString]"===Aa.call(e.prop("href"))&&(h="xlinkHref",f.$attr[h]="xlink:href",g=null);f.$observe(c,function(c){c?(f.$set(h,c),u&&g&&e.prop(g,f[h])):"href"=== -a&&f.$set(h,null)})}}}});var xb={$addControl:B,$removeControl:B,$setValidity:B,$setDirty:B,$setPristine:B};Oc.$inject=["$element","$attrs","$scope","$animate"];var Rc=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:Oc,compile:function(){return{pre:function(a,e,f,g){if(!f.action){var h=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};rb(e[0],"submit",h);e.on("$destroy",function(){c(function(){ab(e[0],"submit",h)},0,!1)})}var k=e.parent().controller("form"), -l=f.name||f.ngForm;l&&tb(a,l,g,l);if(k)e.on("$destroy",function(){k.$removeControl(g);l&&tb(a,l,v,l);F(g,xb)})}}}}}]},ed=Rc(),rd=Rc(!0),We=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Xe=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ye=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Sc={text:zb,number:function(a,c,d,e,f,g){zb(a,c,d,e,f,g);e.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||Ye.test(a))return e.$setValidity("number", -!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return v});Oe(e,"number",Ze,null,e.$$validityState);e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});d.min&&(a=function(a){var c=parseFloat(d.min);return ta(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);return ta(e,"max",e.$isEmpty(a)||a<=c,a)},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){return ta(e,"number",e.$isEmpty(a)|| -ib(a),a)})},url:function(a,c,d,e,f,g){zb(a,c,d,e,f,g);a=function(a){return ta(e,"url",e.$isEmpty(a)||We.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,f,g){zb(a,c,d,e,f,g);a=function(a){return ta(e,"email",e.$isEmpty(a)||Xe.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){H(d.name)&&c.attr("name",hb());c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue}; -d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,g=d.ngFalseValue;E(f)||(f=!0);E(g)||(g=!1);c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:g})},hidden:B,button:B,submit:B,reset:B,file:B},Ze=["badInput"],gc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel", -link:function(d,e,f,g){g&&(Sc[A(f.type)]||Sc.text)(d,e,f,g,c,a)}}}],vb="ng-valid",wb="ng-invalid",Qa="ng-pristine",yb="ng-dirty",$e=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,c,d,e,f,g){function h(a,c){c=c?"-"+mb(c,"-"):"";g.removeClass(e,(a?wb:vb)+c);g.addClass(e,(a?vb:wb)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name= -d.name;var k=f(d.ngModel),l=k.assign;if(!l)throw z("ngModel")("nonassign",d.ngModel,ia(e));this.$render=B;this.$isEmpty=function(a){return H(a)||""===a||null===a||a!==a};var m=e.inheritedData("$formController")||xb,n=0,q=this.$error={};e.addClass(Qa);h(!0);this.$setValidity=function(a,c){q[a]!==!c&&(c?(q[a]&&n--,n||(h(!0),this.$valid=!0,this.$invalid=!1)):(h(!1),this.$invalid=!0,this.$valid=!1,n++),q[a]=!c,h(c,a),m.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine= -!0;g.removeClass(e,yb);g.addClass(e,Qa)};this.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,g.removeClass(e,Qa),g.addClass(e,yb),m.$setDirty());r(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,l(a,d),r(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var p=this;a.$watch(function(){var c=k(a);if(p.$modelValue!==c){var d=p.$formatters,e=d.length;for(p.$modelValue=c;e--;)c=d[e](c);p.$viewValue!==c&&(p.$viewValue= -c,p.$render())}return c})}],Gd=function(){return{require:["ngModel","^?form"],controller:$e,link:function(a,c,d,e){var f=e[0],g=e[1]||xb;g.$addControl(f);a.$on("$destroy",function(){g.$removeControl(f)})}}},Id=Z({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),hc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity("required",!1);else return e.$setValidity("required", -!0),a};e.$formatters.push(f);e.$parsers.unshift(f);d.$observe("required",function(){f(e.$viewValue)})}}}},Hd=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!H(a)){var c=[];a&&r(a.split(f),function(a){a&&c.push($(a))});return c}});e.$formatters.push(function(a){return M(a)?a.join(", "):v});e.$isEmpty=function(a){return!a||!a.length}}}},af=/^(true|false|\d+)$/,Jd=function(){return{priority:100, -compile:function(a,c){return af.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},jd=za({compile:function(a){a.addClass("ng-binding");return function(a,d,e){d.data("$binding",e.ngBind);a.$watch(e.ngBind,function(a){d.text(a==v?"":a)})}}}),ld=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}], -kd=["$sce","$parse",function(a,c){return{compile:function(d){d.addClass("ng-binding");return function(d,f,g){f.data("$binding",g.ngBindHtml);var h=c(g.ngBindHtml);d.$watch(function(){return(h(d)||"").toString()},function(c){f.html(a.getTrustedHtml(h(d))||"")})}}}}],md=Vb("",!0),od=Vb("Odd",0),nd=Vb("Even",1),pd=za({compile:function(a,c){c.$set("ngCloak",v);a.removeClass("ng-cloak")}}),qd=[function(){return{scope:!0,controller:"@",priority:500}}],ic={},bf={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), -function(a){var c=qa("ng-"+a);ic[c]=["$parse","$rootScope",function(d,e){return{compile:function(f,g){var h=d(g[c],!0);return function(c,d){d.on(a,function(d){var f=function(){h(c,{$event:d})};bf[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var td=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,k,l;c.$watch(e.ngIf,function(f){Va(f)?k||(k=c.$new(),g(k,function(c){c[c.length++]=W.createComment(" end ngIf: "+e.ngIf+ -" ");h={clone:c};a.enter(c,d.parent(),d)})):(l&&(l.remove(),l=null),k&&(k.$destroy(),k=null),h&&(l=Db(h.clone),a.leave(l,function(){l=null}),h=null))})}}}],ud=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,f){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Wa.noop,compile:function(g,h){var k=h.ngInclude||h.src,l=h.onload||"",m=h.autoscroll;return function(g,h,p,r,K){var w=0,t,x,u,y=function(){x&&(x.remove(),x=null);t&&(t.$destroy(),t=null); -u&&(e.leave(u,function(){x=null}),x=u,u=null)};g.$watch(f.parseAsResourceUrl(k),function(f){var k=function(){!G(m)||m&&!g.$eval(m)||d()},p=++w;f?(a.get(f,{cache:c}).success(function(a){if(p===w){var c=g.$new();r.template=a;a=K(c,function(a){y();e.enter(a,null,h,k)});t=c;u=a;t.$emit("$includeContentLoaded");g.$eval(l)}}).error(function(){p===w&&y()}),g.$emit("$includeContentRequested")):(y(),r.template=null)})}}}}],Kd=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude", -link:function(c,d,e,f){d.html(f.template);a(d.contents())(c)}}}],vd=za({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),wd=za({terminal:!0,priority:1E3}),xd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,g){var h=g.count,k=g.$attr.when&&f.attr(g.$attr.when),l=g.offset||0,m=e.$eval(k)||{},n={},q=c.startSymbol(),p=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(g,function(a,c){s.test(c)&&(m[A(c.replace("when","").replace("Minus","-"))]= -f.attr(g.$attr[c]))});r(m,function(a,e){n[e]=c(a.replace(d,q+h+"-"+l+p))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return"";c in m||(c=a.pluralCat(c-l));return n[c](e,f,!0)},function(a){f.text(a)})}}}],yd=["$parse","$animate",function(a,c){var d=z("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,link:function(e,f,g,h,k){var l=g.ngRepeat,m=l.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),n,q,p,s,u,v,t={$id:La};if(!m)throw d("iexp", -l);g=m[1];h=m[2];(m=m[3])?(n=a(m),q=function(a,c,d){v&&(t[v]=a);t[u]=c;t.$index=d;return n(e,t)}):(p=function(a,c){return La(c)},s=function(a){return a});m=g.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!m)throw d("iidexp",g);u=m[3]||m[1];v=m[2];var x={};e.$watchCollection(h,function(a){var g,h,m=f[0],n,t={},G,C,J,A,E,B,z,H=[];if(Ra(a))B=a,E=q||p;else{E=q||s;B=[];for(J in a)a.hasOwnProperty(J)&&"$"!=J.charAt(0)&&B.push(J);B.sort()}G=B.length;h=H.length=B.length;for(g=0;gC;)d=v.pop(),q.removeOption(d.label),d.element.remove()}for(;D.length>R;)D.pop()[0].element.remove()}var k;if(!(k=s.match(d)))throw cf("iexp",s,ia(f));var l=c(k[2]||k[1]), -m=k[4]||k[6],n=k[5],r=c(k[3]||""),A=c(k[2]?k[1]:m),B=c(k[7]),y=k[8]?c(k[8]):null,D=[[{element:f,label:""}]];z&&(a(z)(e),z.removeClass("ng-scope"),z.remove());f.empty();f.on("change",function(){e.$apply(function(){var a,c=B(e)||[],d={},k,l,q,r,s,t,u;if(p)for(l=[],r=0,t=D.length;r@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}.ng-hide-add-active,.ng-hide-remove{display:block!important;}'); +(function(T,U,t){'use strict';function v(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.3.2/"+(b?b+"/":"")+a;for(a=1;a").append(b).html();try{return b[0].nodeType===lb?R(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+R(b)})}catch(d){return R(c)}}function qc(b){try{return decodeURIComponent(b)}catch(a){}} +function rc(b){var a={},c,d;r((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=qc(c[0]),y(d)&&(b=y(c[1])?qc(c[1]):!0,Ib.call(a,d)?H(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Jb(b){var a=[];r(b,function(b,d){H(b)?r(b,function(b){a.push(Ea(d,!0)+(!0===b?"":"="+Ea(b,!0)))}):a.push(Ea(d,!0)+(!0===b?"":"="+Ea(b,!0)))});return a.length?a.join("&"):""}function mb(b){return Ea(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ea(b,a){return encodeURIComponent(b).replace(/%40/gi, +"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Fd(b,a){var c,d,e=nb.length;b=z(b);for(d=0;d/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=Kb(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector", +d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;T&&e.test(T.name)&&(c.debugInfoEnabled=!0,T.name=T.name.replace(e,""));if(T&&!f.test(T.name))return d();T.name=T.name.replace(f,"");wa.resumeBootstrap=function(b){r(b,function(b){a.push(b)});d()}}function Hd(){T.name="NG_ENABLE_DEBUG_INFO!"+T.name;T.location.reload()}function Id(b){return wa.element(b).injector().get("$$testability")}function Lb(b,a){a=a||"_";return b.replace(Jd,function(b,d){return(d?a:"")+b.toLowerCase()})} +function Kd(){var b;tc||((na=T.jQuery)&&na.fn.on?(z=na,F(na.fn,{scope:La.scope,isolateScope:La.isolateScope,controller:La.controller,injector:La.injector,inheritedData:La.inheritedData}),b=na.cleanData,na.cleanData=function(a){var c;if(Mb)Mb=!1;else for(var d=0,e;null!=(e=a[d]);d++)(c=na._data(e,"events"))&&c.$destroy&&na(e).triggerHandler("$destroy");b(a)}):z=S,wa.element=z,tc=!0)}function Nb(b,a,c){if(!b)throw Xa("areq",a||"?",c||"required");return b}function ob(b,a,c){c&&H(b)&&(b=b[b.length-1]); +Nb(u(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ma(b,a){if("hasOwnProperty"===b)throw Xa("badname",a);}function uc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g")+d[2];for(d=d[0];d--;)c=c.lastChild;f=kb(f,c.childNodes);c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";r(f,function(a){e.appendChild(a)});return e}function S(b){if(b instanceof S)return b;var a; +G(b)&&(b=P(b),a=!0);if(!(this instanceof S)){if(a&&"<"!=b.charAt(0))throw Pb("nosel");return new S(b)}if(a){a=U;var c;b=(c=cf.exec(b))?[a.createElement(c[1])]:(c=Ec(b,a))?c.childNodes:[]}Fc(this,b)}function Qb(b){return b.cloneNode(!0)}function sb(b,a){a||tb(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),d=0,e=c.length;d 4096 bytes)!"));else{if(p.cookie!==y)for(y=p.cookie,d=y.split("; "),ba={},f=0;fl&&this.remove(q.key),b},get:function(a){if(l").parent()[0])});var f=ca(a,b,a,c,d,e);C.$$addScopeClass(a);var g=null;return function(b, +c,d){Nb(b,"scope");d=d||{};var e=d.parentBoundTranscludeFn,k=d.transcludeControllers;d=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==sa(d)&&d.toString().match(/SVG/)?"svg":"html":"html");d="html"!==g?z(T(g,z("
").append(a).html())):c?La.clone.call(a):a;if(k)for(var h in k)d.data("$"+h+"Controller",k[h].instance);C.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,e);return d}}function ca(a,b,c,d,e,f){function g(a,c,d,e){var f,h,l,q,n,p,B;if(s)for(B= +Array(c.length),q=0;qL.priority)break;if(v=L.scope)L.templateUrl||(M(v)?(za("new/isolated scope",N||x,L,Y),N=L):za("new/isolated scope",N,L,Y)),x=x||L;ga=L.name;!L.templateUrl&&L.controller&&(v=L.controller,E=E||{},za("'"+ga+"' controller",E[ga],L,Y),E[ga]=L);if(v=L.transclude)A=!0,L.$$tlb||(za("transclusion",fa,L,Y),fa=L),"element"==v?(F=!0,J=L.priority,v=Y,Y=e.$$element=z(U.createComment(" "+ga+ +": "+e[ga]+" ")),d=Y[0],zb(g,Ya.call(v,0),d),Ha=C(v,f,J,k&&k.name,{nonTlbTranscludeDirective:fa})):(v=z(Qb(d)).contents(),Y.empty(),Ha=C(v,f));if(L.template)if(Oa=!0,za("template",ba,L,Y),ba=L,v=u(L.template)?L.template(Y,e):L.template,v=Pc(v),L.replace){k=L;v=Ob.test(v)?Qc(T(L.templateNamespace,P(v))):[];d=v[0];if(1!=v.length||d.nodeType!==ka)throw ia("tplrt",ga,"");zb(g,Y,d);Aa={$attr:{}};v=W(d,[],Aa);var nf=a.splice(S+1,a.length-(S+1));N&&y(v);a=a.concat(v).concat(nf);w(e,Aa);Aa=a.length}else Y.html(v); +if(L.templateUrl)Oa=!0,za("template",ba,L,Y),ba=L,L.replace&&(k=L),I=mf(a.splice(S,a.length-S),Y,e,g,A&&Ha,l,s,{controllerDirectives:E,newIsolateScopeDirective:N,templateDirective:ba,nonTlbTranscludeDirective:fa}),Aa=a.length;else if(L.compile)try{R=L.compile(Y,e,Ha),u(R)?B(null,R,yb,aa):R&&B(R.pre,R.post,yb,aa)}catch(da){c(da,va(Y))}L.terminal&&(I.terminal=!0,J=Math.max(J,L.priority))}I.scope=x&&!0===x.scope;I.transcludeOnThisElement=A;I.elementTranscludeOnThisElement=F;I.templateOnThisElement=Oa; +I.transclude=Ha;p.hasElementTranscludeDirective=F;return I}function y(a){for(var b=0,c=a.length;bq.priority)&&-1!=q.restrict.indexOf(f)&&(h&&(q=mc(q,{$$start:h,$$end:l})),b.push(q),k=q)}catch(O){c(O)}}return k}function w(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!=e.charAt(0)&& +(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,f){"class"==f?(J(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function mf(a,b,c,d,e,f,g,k){var h=[],l,q,p=b[0],n=a.shift(),B=F({},n,{templateUrl:null,transclude:null,replace:null,$$originalDirective:n}),O=u(n.templateUrl)?n.templateUrl(b,c):n.templateUrl,D=n.templateNamespace; +b.empty();s(K.getTrustedResourceUrl(O)).then(function(s){var I,K;s=Pc(s);if(n.replace){s=Ob.test(s)?Qc(T(D,P(s))):[];I=s[0];if(1!=s.length||I.nodeType!==ka)throw ia("tplrt",n.name,O);s={$attr:{}};zb(d,b,I);var x=W(I,[],s);M(n.scope)&&y(x);a=x.concat(a);w(c,s)}else I=p,b.html(s);a.unshift(B);l=ba(a,I,c,e,b,n,f,g,k);r(d,function(a,c){a==I&&(d[c]=b[0])});for(q=ca(b[0].childNodes,e);h.length;){s=h.shift();K=h.shift();var E=h.shift(),C=h.shift(),x=b[0];if(!s.$$destroyed){if(K!==p){var Q=K.className;k.hasElementTranscludeDirective&& +n.replace||(x=Qb(I));zb(E,z(K),x);J(z(x),Q)}K=l.transcludeOnThisElement?N(s,l.transclude,C):C;l(q,s,x,d,K)}}h=null});return function(a,b,c,d,e){a=e;b.$$destroyed||(h?(h.push(b),h.push(c),h.push(d),h.push(a)):(l.transcludeOnThisElement&&(a=N(b,l.transclude,e)),l(q,b,c,d,a)))}}function v(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name"+b+"";return c.childNodes[0].childNodes;default:return b}}function Ha(a,b){if("srcdoc"==b)return K.HTML;var c=sa(a);if("xlinkHref"==b||"form"==c&&"action"==b|| +"img"!=c&&("src"==b||"ngSrc"==b))return K.RESOURCE_URL}function S(a,c,d,e,f){var h=b(d,!0);if(h){if("multiple"===e&&"select"===sa(a))throw ia("selmulti",va(a));c.push({priority:100,compile:function(){return{pre:function(c,d,l){d=l.$$observers||(l.$$observers={});if(k.test(e))throw ia("nodomevents");l[e]&&(h=b(l[e],!0,Ha(a,e),g[e]||f))&&(l[e]=h(c),(d[e]||(d[e]=[])).$$inter=!0,(l.$$observers&&l.$$observers[e].$$scope||c).$watch(h,function(a,b){"class"===e&&a!=b?l.$updateClass(a,b):l.$set(e,a)}))}}}})}} +function zb(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,k;if(a)for(g=0,k=a.length;g=a)return b;for(;a--;)8===b[a].nodeType&&pf.call(b,a,1);return b}function Ce(){var b={},a=!1,c=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,c){Ma(a,"controller");M(a)?F(b,a):b[a]=c};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(d,e){function f(a,b,c,d){if(!a||!M(a.$scope))throw v("$controller")("noscp",d, +b);a.$scope[b]=c}return function(g,h,k,l){var m,p,q;k=!0===k;l&&G(l)&&(q=l);G(g)&&(l=g.match(c),p=l[1],q=q||l[3],g=b.hasOwnProperty(p)?b[p]:uc(h.$scope,p,!0)||(a?uc(e,p,!0):t),ob(g,p,!0));if(k)return k=function(){},k.prototype=(H(g)?g[g.length-1]:g).prototype,m=new k,q&&f(h,q,m,p||g.name),F(function(){d.invoke(g,m,h,p);return m},{instance:m,identifier:q});m=d.instantiate(g,h,p);q&&f(h,q,m,p||g.name);return m}}]}function De(){this.$get=["$window",function(b){return z(b.document)}]}function Ee(){this.$get= +["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Xb(b,a){if(G(b)){b=b.replace(qf,"");var c=a("Content-Type");if(c&&0===c.indexOf(Sc)||rf.test(b)&&sf.test(b))b=pc(b)}return b}function Tc(b){var a={},c,d,e;if(!b)return a;r(b.split("\n"),function(b){e=b.indexOf(":");c=R(P(b.substr(0,e)));d=P(b.substr(e+1));c&&(a[c]=a[c]?a[c]+", "+d:d)});return a}function Uc(b){var a=M(b)?b:t;return function(c){a||(a=Tc(b));return c?a[R(c)]||null:a}}function Vc(b,a,c){if(u(c))return c(b, +a);r(c,function(c){b=c(b,a)});return b}function He(){var b=this.defaults={transformResponse:[Xb],transformRequest:[function(a){return M(a)&&"[object File]"!==Ka.call(a)&&"[object Blob]"!==Ka.call(a)?ua(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ta(Yb),put:ta(Yb),patch:ta(Yb)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},a=!1;this.useApplyAsync=function(b){return y(b)?(a=!!b,this):a};var c=this.interceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory", +"$rootScope","$q","$injector",function(d,e,f,g,h,k){function l(a){function c(a){var b=F({},a);b.data=a.data?Vc(a.data,a.headers,d.transformResponse):a.data;a=a.status;return 200<=a&&300>a?b:h.reject(b)}var d={method:"get",transformRequest:b.transformRequest,transformResponse:b.transformResponse},e=function(a){var c=b.headers,d=F({},a.headers),e,f,c=F({},c.common,c[R(a.method)]);a:for(e in c){a=R(e);for(f in d)if(R(f)===a)continue a;d[e]=c[e]}(function(a){var b;r(a,function(c,d){u(c)&&(b=c(),null!= +b?a[d]=b:delete a[d])})})(d);return d}(a);F(d,a);d.headers=e;d.method=qb(d.method);var f=[function(a){e=a.headers;var d=Vc(a.data,Uc(e),a.transformRequest);w(d)&&r(e,function(a,b){"content-type"===R(b)&&delete e[b]});w(a.withCredentials)&&!w(b.withCredentials)&&(a.withCredentials=b.withCredentials);return m(a,d,e).then(c,c)},t],g=h.when(d);for(r(n,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a= +f.shift();var k=f.shift(),g=g.then(a,k)}g.success=function(a){g.then(function(b){a(b.data,b.status,b.headers,d)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,d)});return g};return g}function m(c,f,k){function n(b,c,d,e){function f(){m(c,b,d,e)}J&&(200<=b&&300>b?J.put(r,[b,c,Tc(d),e]):J.remove(r));a?g.$applyAsync(f):(f(),g.$$phase||g.$apply())}function m(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?E.resolve:E.reject)({data:a,status:b,headers:Uc(d),config:c,statusText:e})} +function K(){var a=l.pendingRequests.indexOf(c);-1!==a&&l.pendingRequests.splice(a,1)}var E=h.defer(),I=E.promise,J,C,r=p(c.url,c.params);l.pendingRequests.push(c);I.then(K,K);!c.cache&&!b.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(J=M(c.cache)?c.cache:M(b.cache)?b.cache:q);if(J)if(C=J.get(r),y(C)){if(C&&u(C.then))return C.then(K,K),C;H(C)?m(C[1],C[0],ta(C[2]),C[3]):m(C,200,{},"OK")}else J.put(r,I);w(C)&&((C=Wc(c.url)?e.cookies()[c.xsrfCookieName||b.xsrfCookieName]:t)&&(k[c.xsrfHeaderName|| +b.xsrfHeaderName]=C),d(c.method,r,f,n,k,c.timeout,c.withCredentials,c.responseType));return I}function p(a,b){if(!b)return a;var c=[];Bd(b,function(a,b){null===a||w(a)||(H(a)||(a=[a]),r(a,function(a){M(a)&&(a=ea(a)?a.toISOString():ua(a));c.push(Ea(b)+"="+Ea(a))}))});0=k&&(s.resolve(q),p(O.$$intervalId),delete f[O.$$intervalId]);n||b.$apply()},h);f[O.$$intervalId]=s;return O}var f={};e.cancel= +function(b){return b&&b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):!1};return e}]}function Od(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "), +SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function $b(b){b=b.split("/");for(var a=b.length;a--;)b[a]= +mb(b[a]);return b.join("/")}function Xc(b,a,c){b=Ba(b,c);a.$$protocol=b.protocol;a.$$host=b.hostname;a.$$port=aa(b.port)||vf[b.protocol]||null}function Yc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=Ba(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=rc(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function ya(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ga(b){var a= +b.indexOf("#");return-1==a?b:b.substr(0,a)}function ac(b){return b.substr(0,Ga(b).lastIndexOf("/")+1)}function bc(b,a){this.$$html5=!0;a=a||"";var c=ac(b);Xc(b,this,b);this.$$parse=function(a){var e=ya(c,a);if(!G(e))throw db("ipthprfx",a,c);Yc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Jb(this.$$search),b=this.$$hash?"#"+mb(this.$$hash):"";this.$$url=$b(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$parseLinkUrl=function(d, +e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;(f=ya(b,d))!==t?(g=f,g=(f=ya(a,f))!==t?c+(ya("/",f)||f):b+g):(f=ya(c,d))!==t?g=c+f:c==d+"/"&&(g=c);g&&this.$$parse(g);return!!g}}function cc(b,a){var c=ac(b);Xc(b,this,b);this.$$parse=function(d){var e=ya(b,d)||ya(c,d),e="#"==e.charAt(0)?ya(a,e):this.$$html5?e:"";if(!G(e))throw db("ihshprfx",d,a);Yc(e,this,b);d=this.$$path;var f=/^\/[A-Z]:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()}; +this.$$compose=function(){var c=Jb(this.$$search),e=this.$$hash?"#"+mb(this.$$hash):"";this.$$url=$b(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$parseLinkUrl=function(a,c){return Ga(b)==Ga(a)?(this.$$parse(a),!0):!1}}function Zc(b,a){this.$$html5=!0;cc.apply(this,arguments);var c=ac(b);this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;b==Ga(d)?f=d:(g=ya(c,d))?f=b+a+g:c===d+"/"&&(f=c);f&&this.$$parse(f);return!!f};this.$$compose= +function(){var c=Jb(this.$$search),e=this.$$hash?"#"+mb(this.$$hash):"";this.$$url=$b(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+a+this.$$url}}function Ab(b){return function(){return this[b]}}function $c(b,a){return function(c){if(w(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Je(){var b="",a={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(a){return y(a)?(b=a,this):b};this.html5Mode=function(b){return Va(b)?(a.enabled=b,this):M(b)?(Va(b.enabled)&&(a.enabled= +b.enabled),Va(b.requireBase)&&(a.requireBase=b.requireBase),Va(b.rewriteLinks)&&(a.rewriteLinks=b.rewriteLinks),this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a,b,c){var e=k.url(),f=k.$$state;try{d.url(a,b,c),k.$$state=d.state()}catch(g){throw k.url(e),k.$$state=f,g;}}function h(a,b){c.$broadcast("$locationChangeSuccess",k.absUrl(),a,k.$$state,b)}var k,l;l=d.baseHref();var m=d.url(),p;if(a.enabled){if(!l&&a.requireBase)throw db("nobase");p=m.substring(0, +m.indexOf("/",m.indexOf("//")+2))+(l||"/");l=e.history?bc:Zc}else p=Ga(m),l=cc;k=new l(p,"#"+b);k.$$parseLinkUrl(m,m);k.$$state=d.state();var q=/^\s*(javascript|mailto):/i;f.on("click",function(b){if(a.rewriteLinks&&!b.ctrlKey&&!b.metaKey&&2!=b.which){for(var e=z(b.target);"a"!==sa(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var g=e.prop("href"),h=e.attr("href")||e.attr("xlink:href");M(g)&&"[object SVGAnimatedString]"===g.toString()&&(g=Ba(g.animVal).href);q.test(g)||!g||e.attr("target")||b.isDefaultPrevented()|| +!k.$$parseLinkUrl(g,h)||(b.preventDefault(),k.absUrl()!=d.url()&&(c.$apply(),T.angular["ff-684208-preventDefault"]=!0))}});k.absUrl()!=m&&d.url(k.absUrl(),!0);var n=!0;d.onUrlChange(function(a,b){c.$evalAsync(function(){var d=k.absUrl(),e=k.$$state;k.$$parse(a);k.$$state=b;c.$broadcast("$locationChangeStart",a,d,b,e).defaultPrevented?(k.$$parse(d),k.$$state=e,g(d,!1,e)):(n=!1,h(d,e))});c.$$phase||c.$digest()});c.$watch(function(){var a=d.url(),b=d.state(),f=k.$$replace,l=a!==k.absUrl()||k.$$html5&& +e.history&&b!==k.$$state;if(n||l)n=!1,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",k.absUrl(),a,k.$$state,b).defaultPrevented?(k.$$parse(a),k.$$state=b):(l&&g(k.absUrl(),f,b===k.$$state?null:k.$$state),h(a,b))});k.$$replace=!1});return k}]}function Ke(){var b=!0,a=this;this.debugEnabled=function(a){return y(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack: +a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||A;a=!1;try{a=!!e.apply}catch(k){}return a?function(){var a=[];r(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function pa(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"=== +b||"__lookupSetter__"===b||"__proto__"===b)throw qa("isecfld",a);return b}function ra(b,a){if(b){if(b.constructor===b)throw qa("isecfn",a);if(b.window===b)throw qa("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw qa("isecdom",a);if(b===Object)throw qa("isecobj",a);}return b}function dc(b){return b.constant}function Pa(b,a,c,d){ra(b,d);a=a.split(".");for(var e,f=0;1h?ad(g[0],g[1],g[2],g[3],g[4],c,d):function(a,b){var e=0,f;do f=ad(g[e++],g[e++],g[e++],g[e++],g[e++],c,d)(a,b),b=t,a=f;while(e=this.promise.$$state.status&&d&&d.length&&b(function(){for(var b,e,f=0,g=d.length;fa)for(b in l++,f)e.hasOwnProperty(b)||(s--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,k,h=1x&&(X=4-x,t[X]||(t[X]=[]),Q=u(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,Q+="; newVal: "+ua(g)+"; oldVal: "+ua(k),t[X].push(Q));else if(e===c){r=!1;break a}}catch(z){f(z)}if(!(m=N.$$childHead||N!==this&&N.$$nextSibling))for(;N!==this&&!(m=N.$$nextSibling);)N=N.$parent}while(N=m);if((r||O.length)&&!x--)throw s.$$phase=null,a("infdig",b,ua(t));}while(r||O.length);for(s.$$phase=null;D.length;)try{D.shift()()}catch(A){f(A)}}, +$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;if(this!==s){for(var b in this.$$listenerCount)m(this,this.$$listenerCount[b],b);a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync= +this.$applyAsync=A;this.$on=this.$watch=this.$watchGroup=function(){return A};this.$$listeners={};this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a){s.$$phase||O.length||h.defer(function(){O.length&&s.$digest()});O.push({scope:this,expression:a})},$$postDigest:function(a){D.push(a)},$apply:function(a){try{return l("$apply"),this.$eval(a)}catch(b){f(b)}finally{s.$$phase= +null;try{s.$digest()}catch(c){throw f(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&x.push(b);n()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,m(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,g=!1,k={name:a,targetScope:e,stopPropagation:function(){g=!0},preventDefault:function(){k.defaultPrevented= +!0},defaultPrevented:!1},h=kb([k],arguments,1),l,m;do{d=e.$$listeners[a]||c;k.currentScope=e;l=0;for(m=d.length;lIa)throw Ca("iequirks");var d=ta(ja);d.isEnabled=function(){return b};d.trustAs=c.trustAs;d.getTrusted=c.getTrusted;d.valueOf=c.valueOf;b||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=la);d.parseAs=function(b,c){var e=a(c);return e.literal&&e.constant?e:a(c,function(a){return d.getTrusted(b,a)})};var e=d.parseAs,f=d.getTrusted,g=d.trustAs;r(ja,function(a,b){var c=R(b);d[ab("parse_as_"+c)]=function(b){return e(a,b)};d[ab("get_trusted_"+c)]=function(b){return f(a,b)};d[ab("trust_as_"+ +c)]=function(b){return g(a,b)}});return d}]}function Re(){this.$get=["$window","$document",function(b,a){var c={},d=aa((/android (\d+)/.exec(R((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g,h=/^(Moz|webkit|ms)(?=[A-Z])/,k=f.body&&f.body.style,l=!1,m=!1;if(k){for(var p in k)if(l=h.exec(p)){g=l[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in k&&"webkit");l=!!("transition"in k||g+"Transition"in k);m=!!("animation"in k||g+"Animation"in +k);!d||l&&m||(l=G(f.body.style.webkitTransition),m=G(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hasEvent:function(a){if("input"==a&&9==Ia)return!1;if(w(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Za(),vendorPrefix:g,transitions:l,animations:m,android:d}}]}function Te(){this.$get=["$templateCache","$http","$q",function(b,a,c){function d(e,f){d.totalPendingRequests++;var g=a.defaults&&a.defaults.transformResponse;if(H(g))for(var h= +g,g=[],k=0;kb;b=Math.abs(b);var g=b+"",h="",k=[],l=!1;if(-1!==g.indexOf("e")){var m=g.match(/([\d\.]+)e(-?)(\d+)/);m&&"-"==m[2]&&m[3]>e+1?(g="0",b=0):(h=g,l=!0)}if(l)0b&&(h=b.toFixed(e));else{g=(g.split(ld)[1]||"").length;w(e)&&(e=Math.min(Math.max(a.minFrac, +g),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);0===b&&(f=!1);b=(""+b).split(ld);g=b[0];b=b[1]||"";var m=0,p=a.lgSize,q=a.gSize;if(g.length>=p+q)for(m=g.length-p,l=0;lb&&(d="-",b=-b);for(b= +""+b;b.length-c)e+=c;0===e&&-12==c&&(e=12);return Bb(e,a,d)}}function Cb(b,a){return function(c,d){var e=c["get"+b](),f=qb(a?"SHORT"+b:b);return d[f][e]}}function md(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function nd(b){return function(a){var c=md(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/ +6048E5);return Bb(a,b)}}function hd(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,k=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=aa(b[9]+b[10]),g=aa(b[9]+b[11]));h.call(a,aa(b[1]),aa(b[2])-1,aa(b[3]));f=aa(b[4]||0)-f;g=aa(b[5]||0)-g;h=aa(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));k.call(a,f,g,h,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e,f){var g= +"",h=[],k,l;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;G(c)&&(c=Gf.test(c)?aa(c):a(c));V(c)&&(c=new Date(c));if(!ea(c))return c;for(;e;)(l=Hf.exec(e))?(h=kb(h,l,1),e=h.pop()):(h.push(e),e=null);f&&"UTC"===f&&(c=new Date(c.getTime()),c.setMinutes(c.getMinutes()+c.getTimezoneOffset()));r(h,function(a){k=If[a];g+=k?k(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function Cf(){return function(b){return ua(b,!0)}}function Df(){return function(b,a){V(b)&&(b=b.toString()); +if(!H(b)&&!G(b))return b;a=Infinity===Math.abs(Number(a))?Number(a):aa(a);if(G(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0b||37<=b&&40>=b||q(a)});if(e.hasEvent("paste"))a.on("paste cut",q)}a.on("change",m);d.$render=function(){a.val(d.$isEmpty(d.$modelValue)?"":d.$viewValue)}}function Fb(b,a){return function(c,d){var e,f;if(ea(c))return c;if(G(c)){'"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(Jf.test(c))return new Date(c);b.lastIndex=0;if(e=b.exec(c))return e.shift(),f=d?{yyyy:d.getFullYear(), +MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},r(e,function(b,c){c=s};g.$observe("min",function(a){s=p(a);h.$validate()})}if(y(g.max)||g.ngMax){var r;h.$validators.max=function(a){return h.$isEmpty(a)|| +w(r)||c(a)<=r};g.$observe("max",function(a){r=p(a);h.$validate()})}h.$isEmpty=function(a){return!a||a.getTime&&a.getTime()!==a.getTime()}}}function qd(b,a,c,d){(d.$$hasNativeValidators=M(a[0].validity))&&d.$parsers.push(function(b){var c=a.prop("validity")||{};return c.badInput&&!c.typeMismatch?t:b})}function rd(b,a,c,d,e){if(y(d)){b=b(d);if(!b.constant)throw v("ngModel")("constexpr",c,d);return b(a)}return e}function pd(b){function a(a,b){b&&!f[a]?(l.addClass(e,a),f[a]=!0):!b&&f[a]&&(l.removeClass(e, +a),f[a]=!1)}function c(b,c){b=b?"-"+Lb(b,"-"):"";a(hb+b,!0===c);a(sd+b,!1===c)}var d=b.ctrl,e=b.$element,f={},g=b.set,h=b.unset,k=b.parentForm,l=b.$animate;f[sd]=!(f[hb]=e.hasClass(hb));d.$setValidity=function(b,e,f){e===t?(d.$pending||(d.$pending={}),g(d.$pending,b,f)):(d.$pending&&h(d.$pending,b,f),td(d.$pending)&&(d.$pending=t));Va(e)?e?(h(d.$error,b,f),g(d.$$success,b,f)):(g(d.$error,b,f),h(d.$$success,b,f)):(h(d.$error,b,f),h(d.$$success,b,f));d.$pending?(a(ud,!0),d.$valid=d.$invalid=t,c("", +null)):(a(ud,!1),d.$valid=td(d.$error),d.$invalid=!d.$valid,c("",d.$valid));e=d.$pending&&d.$pending[b]?t:d.$error[b]?!1:d.$$success[b]?!0:null;c(b,e);k.$setValidity(b,e,d)}}function td(b){if(b)for(var a in b)return!1;return!0}function hc(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d(?:<\/\1>|)$/,Ob=/<|&#?\w+;/,af=/<([\w:]+)/,bf=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ha={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"", +"
"],td:[3,"","
"],_default:[0,"",""]};ha.optgroup=ha.option;ha.tbody=ha.tfoot=ha.colgroup=ha.caption=ha.thead;ha.th=ha.td;var La=S.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===U.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),S(T).on("load",a))},toString:function(){var b=[];r(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?z(this[b]):z(this[this.length+b])},length:0, +push:Lf,sort:[].sort,splice:[].splice},xb={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){xb[R(b)]=b});var Lc={};r("input select option textarea button form details".split(" "),function(b){Lc[b]=!0});var Mc={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};r({data:Rb,removeData:tb},function(b,a){S[a]=b});r({data:Rb,inheritedData:wb,scope:function(b){return z.data(b,"$scope")||wb(b.parentNode||b,["$isolateScope","$scope"])}, +isolateScope:function(b){return z.data(b,"$isolateScope")||z.data(b,"$isolateScopeNoTemplate")},controller:Hc,injector:function(b){return wb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Sb,css:function(b,a,c){a=ab(a);if(y(c))b.style[a]=c;else return b.style[a]},attr:function(b,a,c){var d=R(a);if(xb[d])if(y(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||A).specified?d:t;else if(y(c))b.setAttribute(a,c);else if(b.getAttribute)return b= +b.getAttribute(a,2),null===b?t:b},prop:function(b,a,c){if(y(c))b[a]=c;else return b[a]},text:function(){function b(a,b){if(w(b)){var d=a.nodeType;return d===ka||d===lb?a.textContent:""}a.textContent=b}b.$dv="";return b}(),val:function(b,a){if(w(a)){if(b.multiple&&"select"===sa(b)){var c=[];r(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(w(a))return b.innerHTML;sb(b,!0);b.innerHTML=a},empty:Ic},function(b,a){S.prototype[a]= +function(a,d){var e,f,g=this.length;if(b!==Ic&&(2==b.length&&b!==Sb&&b!==Hc?a:d)===t){if(M(a)){for(e=0;e":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c, +d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"!":function(a,c,d){return!d(a,c)},"=":!0,"|":!0}),Tf={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},fc=function(a){this.options=a};fc.prototype={constructor:fc,lex:function(a){this.text=a;this.index=0;this.ch=t;for(this.tokens=[];this.index=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a|| +"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=y(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw qa("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a}, +unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(eb.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this.text,d=this.expect().text,e=bd(d,this.options,c);return F(function(c,d,h){return e(h||a(c,d))},{assign:function(e,g,h){(h=a(e,h))||a.assign(e,h={});return Pa(h,d,g,c)}})},objectIndex:function(a){var c=this.text,d=this.expression();this.consume("]");return F(function(e,f){var g= +a(e,f),h=d(e,f);pa(h,c);return g?ra(g[h],c):t},{assign:function(e,f,g){var h=pa(d(e,g),c);(g=ra(a(e,g),c))||a.assign(e,g={});return g[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this.text,f=d.length?[]:null;return function(g,h){var k=c?c(g,h):g,l=a(g,h,k)||A;if(f)for(var m=d.length;m--;)f[m]=ra(d[m](g,h),e);ra(k,e);if(l){if(l.constructor===l)throw qa("isecfn",e);if(l===Qf||l===Rf||l===Sf)throw qa("isecff", +e);}k=l.apply?l.apply(k,f):l(f[0],f[1],f[2],f[3],f[4]);return ra(k,e)}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;var c=this.expression();a.push(c)}while(this.expect(","))}this.consume("]");return F(function(c,e){for(var f=[],g=0,h=a.length;ga.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Bb(Math[0< +a?"floor":"ceil"](a/60),2)+Bb(Math.abs(a%60),2))},ww:nd(2),w:nd(1)},Hf=/((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/,Gf=/^\-?\d+$/;hd.$inject=["$locale"];var Ef=da(R),Ff=da(qb);jd.$inject=["$parse"];var Qd=da({restrict:"E",compile:function(a,c){if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var f="[object SVGAnimatedString]"===Ka.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}),rb={};r(xb,function(a, +c){if("multiple"!=a){var d=xa("ng-"+c);rb[d]=function(){return{restrict:"A",priority:100,link:function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}});r(Mc,function(a,c){rb[c]=function(){return{priority:100,link:function(a,e,f){if("ngPattern"===c&&"/"==f.ngPattern.charAt(0)&&(e=f.ngPattern.match(Kf))){f.$set("ngPattern",new RegExp(e[1],e[2]));return}a.$watch(f[c],function(a){f.$set(c,a)})}}}});r(["src","srcset","href"],function(a){var c=xa("ng-"+a);rb[c]=function(){return{priority:99,link:function(d, +e,f){var g=a,h=a;"href"===a&&"[object SVGAnimatedString]"===Ka.call(e.prop("href"))&&(h="xlinkHref",f.$attr[h]="xlink:href",g=null);f.$observe(c,function(c){c?(f.$set(h,c),Ia&&g&&e.prop(g,f[h])):"href"===a&&f.$set(h,null)})}}}});var Db={$addControl:A,$$renameControl:function(a,c){a.$name=c},$removeControl:A,$setValidity:A,$setDirty:A,$setPristine:A,$setSubmitted:A};od.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var vd=function(a){return["$timeout",function(c){return{name:"form", +restrict:a?"EAC":"E",controller:od,compile:function(a){a.addClass(Ra).addClass(hb);return{pre:function(a,d,g,h){if(!("action"in g)){var k=function(c){a.$apply(function(){h.$commitViewValue();h.$setSubmitted()});c.preventDefault?c.preventDefault():c.returnValue=!1};d[0].addEventListener("submit",k,!1);d.on("$destroy",function(){c(function(){d[0].removeEventListener("submit",k,!1)},0,!1)})}var l=h.$$parentForm,m=h.$name;m&&(Pa(a,m,h,m),g.$observe(g.name?"name":"ngForm",function(c){m!==c&&(Pa(a,m,t, +m),m=c,Pa(a,m,h,m),l.$$renameControl(h,m))}));d.on("$destroy",function(){l.$removeControl(h);m&&Pa(a,m,t,m);F(h,Db)})}}}}}]},Rd=vd(),de=vd(!0),Jf=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,Uf=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Vf=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Wf=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,wd=/^(\d{4})-(\d{2})-(\d{2})$/,xd=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, +jc=/^(\d{4})-W(\d\d)$/,yd=/^(\d{4})-(\d\d)$/,zd=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Xf=/(\s+|^)default(\s+|$)/,Gb=new v("ngModel"),Ad={text:function(a,c,d,e,f,g){fb(a,c,d,e,f,g);gc(e)},date:gb("date",wd,Fb(wd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":gb("datetimelocal",xd,Fb(xd,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:gb("time",zd,Fb(zd,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:gb("week",jc,function(a,c){if(ea(a))return a;if(G(a)){jc.lastIndex=0;var d= +jc.exec(a);if(d){var e=+d[1],f=+d[2],g=d=0,h=0,k=0,l=md(e),f=7*(f-1);c&&(d=c.getHours(),g=c.getMinutes(),h=c.getSeconds(),k=c.getMilliseconds());return new Date(e,0,l.getDate()+f,d,g,h,k)}}return NaN},"yyyy-Www"),month:gb("month",yd,Fb(yd,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,e,f,g){qd(a,c,d,e);fb(a,c,d,e,f,g);e.$$parserName="number";e.$parsers.push(function(a){return e.$isEmpty(a)?null:Wf.test(a)?parseFloat(a):t});e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!V(a))throw Gb("numfmt", +a);a=a.toString()}return a});if(d.min||d.ngMin){var h;e.$validators.min=function(a){return e.$isEmpty(a)||w(h)||a>=h};d.$observe("min",function(a){y(a)&&!V(a)&&(a=parseFloat(a,10));h=V(a)&&!isNaN(a)?a:t;e.$validate()})}if(d.max||d.ngMax){var k;e.$validators.max=function(a){return e.$isEmpty(a)||w(k)||a<=k};d.$observe("max",function(a){y(a)&&!V(a)&&(a=parseFloat(a,10));k=V(a)&&!isNaN(a)?a:t;e.$validate()})}},url:function(a,c,d,e,f,g){fb(a,c,d,e,f,g);gc(e);e.$$parserName="url";e.$validators.url=function(a){return e.$isEmpty(a)|| +Uf.test(a)}},email:function(a,c,d,e,f,g){fb(a,c,d,e,f,g);gc(e);e.$$parserName="email";e.$validators.email=function(a){return e.$isEmpty(a)||Vf.test(a)}},radio:function(a,c,d,e){w(d.name)&&c.attr("name",++ib);c.on("click",function(a){c[0].checked&&e.$setViewValue(d.value,a&&a.type)});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e,f,g,h,k){var l=rd(k,a,"ngTrueValue",d.ngTrueValue,!0),m=rd(k,a,"ngFalseValue",d.ngFalseValue,!1);c.on("click", +function(a){e.$setViewValue(c[0].checked,a&&a.type)});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==l};e.$formatters.push(function(a){return ma(a,l)});e.$parsers.push(function(a){return a?l:m})},hidden:A,button:A,submit:A,reset:A,file:A},wc=["$browser","$sniffer","$filter","$parse",function(a,c,d,e){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,g,h,k){k[0]&&(Ad[R(h.type)]||Ad.text)(f,g,h,k[0],c,a,d,e)}}}}],hb="ng-valid",sd="ng-invalid",Ra="ng-pristine", +Eb="ng-dirty",ud="ng-pending",Yf=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,c,d,e,f,g,h,k,l,m){this.$modelValue=this.$viewValue=Number.NaN;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=t;this.$name=m(d.name|| +"",!1)(a);var p=f(d.ngModel),q=null,n=this,s=function(){var c=p(a);n.$options&&n.$options.getterSetter&&u(c)&&(c=c());return c},O=function(c){var d;n.$options&&n.$options.getterSetter&&u(d=p(a))?d(n.$modelValue):p.assign(a,n.$modelValue)};this.$$setOptions=function(a){n.$options=a;if(!(p.assign||a&&a.getterSetter))throw Gb("nonassign",d.ngModel,va(e));};this.$render=A;this.$isEmpty=function(a){return w(a)||""===a||null===a||a!==a};var D=e.inheritedData("$formController")||Db,x=0;pd({ctrl:this,$element:e, +set:function(a,c){a[c]=!0},unset:function(a,c){delete a[c]},parentForm:D,$animate:g});this.$setPristine=function(){n.$dirty=!1;n.$pristine=!0;g.removeClass(e,Eb);g.addClass(e,Ra)};this.$setUntouched=function(){n.$touched=!1;n.$untouched=!0;g.setClass(e,"ng-untouched","ng-touched")};this.$setTouched=function(){n.$touched=!0;n.$untouched=!1;g.setClass(e,"ng-touched","ng-untouched")};this.$rollbackViewValue=function(){h.cancel(q);n.$viewValue=n.$$lastCommittedViewValue;n.$render()};this.$validate=function(){V(n.$modelValue)&& +isNaN(n.$modelValue)||this.$$parseAndValidate()};this.$$runValidators=function(a,c,d,e){function f(){var a=!0;r(n.$validators,function(e,f){var g=e(c,d);a=a&&g;h(f,g)});return a?!0:(r(n.$asyncValidators,function(a,c){h(c,null)}),!1)}function g(){var a=[],e=!0;r(n.$asyncValidators,function(f,g){var k=f(c,d);if(!k||!u(k.then))throw Gb("$asyncValidators",k);h(g,t);a.push(k.then(function(){h(g,!0)},function(a){e=!1;h(g,!1)}))});a.length?l.all(a).then(function(){k(e)},A):k(!0)}function h(a,c){m===x&&n.$setValidity(a, +c)}function k(a){m===x&&e(a)}x++;var m=x;(function(a){var c=n.$$parserName||"parse";if(a===t)h(c,null);else if(h(c,a),!a)return r(n.$validators,function(a,c){h(c,null)}),r(n.$asyncValidators,function(a,c){h(c,null)}),!1;return!0})(a)?f()?g():k(!1):k(!1)};this.$commitViewValue=function(){var a=n.$viewValue;h.cancel(q);if(n.$$lastCommittedViewValue!==a||""===a&&n.$$hasNativeValidators)n.$$lastCommittedViewValue=a,n.$pristine&&(n.$dirty=!0,n.$pristine=!1,g.removeClass(e,Ra),g.addClass(e,Eb),D.$setDirty()), +this.$$parseAndValidate()};this.$$parseAndValidate=function(){var a=n.$$lastCommittedViewValue,c=a,d=w(c)?t:!0;if(d)for(var e=0;e=f}}}}},te=function(){return{restrict:"A",priority:100, +require:"ngModel",link:function(a,c,d,e){var f=c.attr(d.$attr.ngList)||", ",g="false"!==d.ngTrim,h=g?P(f):f;e.$parsers.push(function(a){if(!w(a)){var c=[];a&&r(a.split(h),function(a){a&&c.push(g?P(a):a)});return c}});e.$formatters.push(function(a){return H(a)?a.join(f):t});e.$isEmpty=function(a){return!a||!a.length}}}},Zf=/^(true|false|\d+)$/,ve=function(){return{restrict:"A",priority:100,compile:function(a,c){return Zf.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a, +c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},we=function(){return{restrict:"A",controller:["$scope","$attrs",function(a,c){var d=this;this.$options=a.$eval(c.ngModelOptions);this.$options.updateOn!==t?(this.$options.updateOnDefault=!1,this.$options.updateOn=P(this.$options.updateOn.replace(Xf,function(){d.$options.updateOnDefault=!0;return" "}))):this.$options.updateOnDefault=!0}]}},Wd=["$compile",function(a){return{restrict:"AC",compile:function(c){a.$$addBindingClass(c);return function(c, +e,f){a.$$addBindingInfo(e,f.ngBind);e=e[0];c.$watch(f.ngBind,function(a){e.textContent=a===t?"":a})}}}}],Yd=["$interpolate","$compile",function(a,c){return{compile:function(d){c.$$addBindingClass(d);return function(d,f,g){d=a(f.attr(g.$attr.ngBindTemplate));c.$$addBindingInfo(f,d.expressions);f=f[0];g.$observe("ngBindTemplate",function(a){f.textContent=a===t?"":a})}}}}],Xd=["$sce","$parse","$compile",function(a,c,d){return{restrict:"A",compile:function(e,f){var g=c(f.ngBindHtml),h=c(f.ngBindHtml, +function(a){return(a||"").toString()});d.$$addBindingClass(e);return function(c,e,f){d.$$addBindingInfo(e,f.ngBindHtml);c.$watch(h,function(){e.html(a.getTrustedHtml(g(c))||"")})}}}}],Zd=hc("",!0),ae=hc("Odd",0),$d=hc("Even",1),be=Ja({compile:function(a,c){c.$set("ngCloak",t);a.removeClass("ng-cloak")}}),ce=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Bc={},$f={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), +function(a){var c=xa("ng-"+a);Bc[c]=["$parse","$rootScope",function(d,e){return{restrict:"A",compile:function(f,g){var h=d(g[c],null,!0);return function(c,d){d.on(a,function(d){var f=function(){h(c,{$event:d})};$f[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var fe=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,k,l;c.$watch(e.ngIf,function(c){c?k||g(function(c,f){k=f;c[c.length++]=U.createComment(" end ngIf: "+ +e.ngIf+" ");h={clone:c};a.enter(c,d.parent(),d)}):(l&&(l.remove(),l=null),k&&(k.$destroy(),k=null),h&&(l=pb(h.clone),a.leave(l).then(function(){l=null}),h=null))})}}}],ge=["$templateRequest","$anchorScroll","$animate","$sce",function(a,c,d,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:wa.noop,compile:function(f,g){var h=g.ngInclude||g.src,k=g.onload||"",l=g.autoscroll;return function(f,g,q,n,r){var t=0,D,x,B,v=function(){x&&(x.remove(),x=null);D&&(D.$destroy(), +D=null);B&&(d.leave(B).then(function(){x=null}),x=B,B=null)};f.$watch(e.parseAsResourceUrl(h),function(e){var h=function(){!y(l)||l&&!f.$eval(l)||c()},q=++t;e?(a(e,!0).then(function(a){if(q===t){var c=f.$new();n.template=a;a=r(c,function(a){v();d.enter(a,null,g).then(h)});D=c;B=a;D.$emit("$includeContentLoaded",e);f.$eval(k)}},function(){q===t&&(v(),f.$emit("$includeContentError",e))}),f.$emit("$includeContentRequested",e)):(v(),n.template=null)})}}}}],xe=["$compile",function(a){return{restrict:"ECA", +priority:-400,require:"ngInclude",link:function(c,d,e,f){/SVG/.test(d[0].toString())?(d.empty(),a(Ec(f.template,U).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),a(d.contents())(c))}}}],he=Ja({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),ie=Ja({terminal:!0,priority:1E3}),je=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,g){var h=g.count,k=g.$attr.when&&f.attr(g.$attr.when),l=g.offset|| +0,m=e.$eval(k)||{},p={},q=c.startSymbol(),n=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(g,function(a,c){s.test(c)&&(m[R(c.replace("when","").replace("Minus","-"))]=f.attr(g.$attr[c]))});r(m,function(a,e){p[e]=c(a.replace(d,q+h+"-"+l+n))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return"";c in m||(c=a.pluralCat(c-l));return p[c](e)},function(a){f.text(a)})}}}],ke=["$parse","$animate",function(a,c){var d=v("ngRepeat"),e=function(a,c,d,e,l,m,p){a[d]=e;l&&(a[l]=m);a.$index=c;a.$first=0=== +c;a.$last=c===p-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(c&1))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,g){var h=g.ngRepeat,k=U.createComment(" end ngRepeat: "+h+" "),l=h.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!l)throw d("iexp",h);var m=l[1],p=l[2],q=l[3],n=l[4],l=m.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!l)throw d("iidexp",m);var s= +l[3]||l[1],y=l[2];if(q&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(q)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent)$/.test(q)))throw d("badident",q);var v,x,B,K,E={$id:Na};n?v=a(n):(B=function(a,c){return Na(c)},K=function(a){return a});return function(a,f,g,l,n){v&&(x=function(c,d,e){y&&(E[y]=c);E[s]=d;E.$index=e;return v(a,E)});var m=oa();a.$watchCollection(p,function(g){var l,p,C=f[0],v,E=oa(),A,D,w,F,H,u,G;q&&(a[q]=g);if(Sa(g))H=g,p=x||B;else{p=x||K;H=[];for(G in g)g.hasOwnProperty(G)&& +"$"!=G.charAt(0)&&H.push(G);H.sort()}A=H.length;G=Array(A);for(l=0;lD;)d=t.pop(),m(Q,d.label,!1),d.element.remove();r(Q,function(a,c){0a&&q.removeOption(c)})}for(;R.length>w;)R.pop()[0].element.remove()}var u;if(!(u=s.match(d)))throw ag("iexp",s,va(f));var E=c(u[2]||u[1]),A=u[4]||u[6],z=/ as /.test(u[0])&&u[1], +w=z?c(z):null,G=u[5],I=c(u[3]||""),D=c(u[2]?u[1]:A),J=c(u[7]),M=u[8]?c(u[8]):null,S={},R=[[{element:f,label:""}]],T={};v&&(a(v)(e),v.removeClass("ng-scope"),v.remove());f.empty();f.on("change",function(){e.$apply(function(){var a=J(e)||[],c;if(n)c=[],r(f.val(),function(d){d=M?S[d]:d;c.push("?"===d?t:""===d?null:h(w?w:D,d,a[d]))});else{var d=M?S[f.val()]:f.val();c="?"===d?t:""===d?null:h(w?w:D,d,a[d])}g.$setViewValue(c);p()})});g.$render=p;e.$watchCollection(J,l);e.$watchCollection(function(){var a= +J(e),c;if(a&&H(a)){c=Array(a.length);for(var d=0,f=a.length;d@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}'); //# sourceMappingURL=angular.min.js.map diff --git a/src/main/resources/META-INF/resources/designer/lib/angular.min.js.map b/src/main/resources/META-INF/resources/designer/lib/angular.min.js.map index aa2610fa..4766044c 100644 --- a/src/main/resources/META-INF/resources/designer/lib/angular.min.js.map +++ b/src/main/resources/META-INF/resources/designer/lib/angular.min.js.map @@ -1,8 +1,8 @@ { "version":3, "file":"angular.min.js", -"lineCount":217, -"mappings":"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", +"lineCount":248, +"mappings":"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", "sources":["angular.js"], -"names":["window","document","undefined","minErr","isArrayLike","obj","isWindow","length","nodeType","isString","isArray","forEach","iterator","context","key","isFunction","hasOwnProperty","call","sortedKeys","keys","push","sort","forEachSorted","i","reverseParams","iteratorFn","value","nextUid","index","uid","digit","charCodeAt","join","String","fromCharCode","unshift","setHashKey","h","$$hashKey","extend","dst","arguments","int","str","parseInt","inherit","parent","extra","noop","identity","$","valueFn","isUndefined","isDefined","isObject","isNumber","isDate","toString","isRegExp","location","alert","setInterval","isElement","node","nodeName","prop","attr","find","map","results","list","indexOf","array","arrayRemove","splice","copy","source","destination","stackSource","stackDest","$evalAsync","$watch","ngMinErr","result","Date","getTime","RegExp","match","lastIndex","shallowCopy","src","charAt","equals","o1","o2","t1","t2","isNaN","keySet","bind","self","fn","curryArgs","slice","startIndex","apply","concat","toJsonReplacer","val","toJson","pretty","JSON","stringify","fromJson","json","parse","toBoolean","v","lowercase","startingTag","element","jqLite","clone","empty","e","elemHtml","append","html","TEXT_NODE","replace","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","key_value","split","toKeyValue","parts","arrayValue","encodeUriQuery","encodeUriSegment","pctEncodeSpaces","encodeURIComponent","angularInit","bootstrap","elements","appElement","module","names","NG_APP_CLASS_REGEXP","name","getElementById","querySelectorAll","exec","className","attributes","modules","doBootstrap","injector","tag","$provide","createInjector","invoke","scope","compile","animate","$apply","data","NG_DEFER_BOOTSTRAP","test","angular","resumeBootstrap","angular.resumeBootstrap","extraModules","snake_case","separator","SNAKE_CASE_REGEXP","letter","pos","toLowerCase","assertArg","arg","reason","assertArgFn","acceptArrayAnnotation","constructor","assertNotHasOwnProperty","getter","path","bindFnToScope","lastInstance","len","getBlockElements","nodes","startNode","endNode","nextSibling","setupModuleLoader","$injectorMinErr","$$minErr","factory","requires","configFn","invokeLater","provider","method","insertMethod","invokeQueue","moduleInstance","runBlocks","config","run","block","publishExternalAPI","version","uppercase","csp","angularModule","$LocaleProvider","ngModule","$$SanitizeUriProvider","$CompileProvider","directive","htmlAnchorDirective","inputDirective","formDirective","scriptDirective","selectDirective","styleDirective","optionDirective","ngBindDirective","ngBindHtmlDirective","ngBindTemplateDirective","ngClassDirective","ngClassEvenDirective","ngClassOddDirective","ngCloakDirective","ngControllerDirective","ngFormDirective","ngHideDirective","ngIfDirective","ngIncludeDirective","ngInitDirective","ngNonBindableDirective","ngPluralizeDirective","ngRepeatDirective","ngShowDirective","ngStyleDirective","ngSwitchDirective","ngSwitchWhenDirective","ngSwitchDefaultDirective","ngOptionsDirective","ngTranscludeDirective","ngModelDirective","ngListDirective","ngChangeDirective","requiredDirective","ngValueDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$AnchorScrollProvider","$AnimateProvider","$BrowserProvider","$CacheFactoryProvider","$ControllerProvider","$DocumentProvider","$ExceptionHandlerProvider","$FilterProvider","$InterpolateProvider","$IntervalProvider","$HttpProvider","$HttpBackendProvider","$LocationProvider","$LogProvider","$ParseProvider","$RootScopeProvider","$QProvider","$SceProvider","$SceDelegateProvider","$SnifferProvider","$TemplateCacheProvider","$TimeoutProvider","$WindowProvider","$$RAFProvider","$$AsyncCallbackProvider","camelCase","SPECIAL_CHARS_REGEXP","_","offset","toUpperCase","MOZ_HACK_REGEXP","jqLitePatchJQueryRemove","dispatchThis","filterElems","getterIfNoArguments","removePatch","param","filter","fireEvent","set","setIndex","setLength","childIndex","children","shift","triggerHandler","childLength","jQuery","originalJqFn","$original","JQLite","trim","jqLiteMinErr","parsed","SINGLE_TAG_REGEXP","fragment","createDocumentFragment","HTML_REGEXP","tmp","appendChild","createElement","TAG_NAME_REGEXP","wrap","wrapMap","_default","innerHTML","XHTML_TAG_REGEXP","removeChild","firstChild","lastChild","j","jj","childNodes","textContent","createTextNode","jqLiteAddNodes","jqLiteClone","cloneNode","jqLiteDealoc","jqLiteRemoveData","jqLiteOff","type","unsupported","events","jqLiteExpandoStore","handle","eventHandler","removeEventListenerFn","expandoId","ng339","expandoStore","jqCache","$destroy","jqId","jqLiteData","isSetter","keyDefined","isSimpleGetter","jqLiteHasClass","selector","getAttribute","jqLiteRemoveClass","cssClasses","setAttribute","cssClass","jqLiteAddClass","existingClasses","root","jqLiteController","jqLiteInheritedData","documentElement","ii","parentNode","host","jqLiteEmpty","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","createEventHandler","event","preventDefault","event.preventDefault","returnValue","stopPropagation","event.stopPropagation","cancelBubble","target","srcElement","defaultPrevented","prevent","isDefaultPrevented","event.isDefaultPrevented","eventHandlersCopy","msie","elem","hashKey","nextUidFn","objType","HashMap","isolatedUid","this.nextUid","put","annotate","$inject","fnText","STRIP_COMMENTS","argDecl","FN_ARGS","FN_ARG_SPLIT","FN_ARG","all","underscore","last","modulesToLoad","supportObject","delegate","provider_","providerInjector","instantiate","$get","providerCache","providerSuffix","factoryFn","loadModules","moduleFn","loadedModules","get","_runBlocks","_invokeQueue","invokeArgs","message","stack","createInternalInjector","cache","getService","serviceName","INSTANTIATING","err","locals","args","Type","Constructor","returnedValue","prototype","instance","has","service","$injector","constant","instanceCache","decorator","decorFn","origProvider","orig$get","origProvider.$get","origInstance","instanceInjector","servicename","autoScrollingEnabled","disableAutoScrolling","this.disableAutoScrolling","$window","$location","$rootScope","getFirstAnchor","scroll","hash","elm","scrollIntoView","getElementsByName","scrollTo","autoScrollWatch","autoScrollWatchAction","$$rAF","$timeout","supported","Browser","$log","$sniffer","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","pop","error","startPoller","interval","setTimeout","check","pollFns","pollFn","pollTimeout","fireUrlChange","lastBrowserUrl","url","urlChangeListeners","listener","rawDocument","history","clearTimeout","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","self.$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","self.notifyWhenNoOutstandingRequests","callback","addPollFn","self.addPollFn","href","baseElement","reloadLocation","self.url","sameBase","stripHash","replaceState","pushState","substr","urlChangeInit","onUrlChange","self.onUrlChange","on","hashchange","$$checkUrlChange","baseHref","self.baseHref","lastCookies","lastCookieString","cookiePath","cookies","self.cookies","cookieLength","cookie","escape","warn","cookieArray","unescape","substring","defer","self.defer","delay","timeoutId","cancel","self.defer.cancel","deferId","$document","this.$get","cacheFactory","cacheId","options","refresh","entry","freshEnd","staleEnd","n","link","p","nextEntry","prevEntry","caches","size","stats","capacity","Number","MAX_VALUE","lruHash","lruEntry","remove","removeAll","destroy","info","cacheFactory.info","cacheFactory.get","$cacheFactory","$$sanitizeUriProvider","hasDirectives","Suffix","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","EVENT_HANDLER_ATTR_REGEXP","this.directive","registerDirective","directiveFactory","$exceptionHandler","directives","priority","require","controller","restrict","aHrefSanitizationWhitelist","this.aHrefSanitizationWhitelist","regexp","imgSrcSanitizationWhitelist","this.imgSrcSanitizationWhitelist","$interpolate","$http","$templateCache","$parse","$controller","$sce","$animate","$$sanitizeUri","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","nodeValue","compositeLinkFn","compileNodes","safeAddClass","publicLinkFn","cloneConnectFn","transcludeControllers","parentBoundTranscludeFn","$linkNode","JQLitePrototype","eq","$element","addClass","nodeList","$rootElement","childLinkFn","childScope","childBoundTranscludeFn","nodeListLength","stableNodeList","Array","linkFns","nodeLinkFn","$new","transcludeOnThisElement","createBoundTranscludeFn","transclude","templateOnThisElement","attrs","linkFnFound","Attributes","collectDirectives","applyDirectivesToNode","$$element","terminal","previousBoundTranscludeFn","boundTranscludeFn","transcludedScope","cloneFn","controllers","scopeCreated","$$transcluded","attrsMap","$attr","nodeName_","addDirective","directiveNormalize","isNgAttr","nAttrs","attrStartName","attrEndName","specified","ngAttrName","NG_ATTR_BINDING","directiveNName","nName","addAttrInterpolateDirective","addTextInterpolateDirective","byPriority","groupScan","attrStart","attrEnd","depth","hasAttribute","$compileMinErr","groupElementsLinkFnWrapper","linkFn","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","directiveName","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","getControllers","elementControllers","retrievalMethod","optional","linkNode","controllersBoundTransclude","cloneAttachFn","hasElementTranscludeDirective","isolateScope","LOCAL_REGEXP","templateDirective","$$originalDirective","definition","scopeName","attrName","mode","lastValue","parentGet","parentSet","compare","$$isolateBindings","$observe","$$observers","$$scope","literal","a","b","assign","parentValueWatch","parentValue","controllerDirectives","controllerInstance","controllerAs","$scope","scopeToChild","template","templateUrl","terminalPriority","newScopeDirective","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","$template","childTranscludeFn","$$start","$$end","directiveValue","assertNoDuplicate","$$tlb","createComment","replaceWith","replaceDirective","contents","denormalizeTemplate","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectivesAsIsolate","mergeTemplateAttributes","compileTemplateUrl","Math","max","tDirectives","startAttrName","endAttrName","srcAttr","dstAttr","$set","tAttrs","linkQueue","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","getTrustedResourceUrl","success","content","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","oldClasses","response","code","headers","delayedNodeLinkFn","ignoreChildLinkFn","rootElement","diff","what","previousDirective","text","interpolateFn","textInterpolateCompileFn","templateNode","hasCompileParent","textInterpolateLinkFn","bindings","interpolateFnWatchAction","getTrustedContext","attrNormalizedName","HTML","RESOURCE_URL","attrInterpolatePreLinkFn","$$inter","newValue","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","replaceChild","expando","k","kk","annotation","$addClass","classVal","$removeClass","removeClass","newClasses","toAdd","tokenDifference","toRemove","setClass","writeAttr","booleanKey","removeAttr","listeners","startSymbol","endSymbol","PREFIX_REGEXP","str1","str2","values","tokens1","tokens2","token","CNTRL_REG","register","this.register","expression","identifier","exception","cause","parseHeaders","line","headersGetter","headersObj","transformData","fns","JSON_START","JSON_END","PROTECTION_PREFIX","CONTENT_TYPE_APPLICATION_JSON","defaults","d","interceptorFactories","interceptors","responseInterceptorFactories","responseInterceptors","$httpBackend","$browser","$q","requestConfig","transformResponse","resp","status","reject","transformRequest","mergeHeaders","defHeaders","reqHeaders","defHeaderName","reqHeaderName","common","lowercaseDefHeaderName","execHeaders","headerContent","headerFn","header","chain","serverRequest","reqData","withCredentials","sendReq","then","promise","when","reversedInterceptors","interceptor","request","requestError","responseError","thenFn","rejectFn","promise.success","promise.error","done","headersString","statusText","resolvePromise","$$phase","deferred","resolve","removePendingReq","idx","pendingRequests","cachedResp","buildUrl","params","defaultCache","xsrfValue","urlIsSameOrigin","xsrfCookieName","xsrfHeaderName","timeout","responseType","toISOString","interceptorFactory","responseFn","createShortMethods","createShortMethodsWithData","createXhr","XMLHttpRequest","ActiveXObject","createHttpBackend","callbacks","$browserDefer","jsonpReq","callbackId","script","async","body","called","addEventListenerFn","onreadystatechange","script.onreadystatechange","readyState","ABORTED","timeoutRequest","jsonpDone","xhr","abort","completeRequest","urlResolve","protocol","counter","open","setRequestHeader","xhr.onreadystatechange","responseHeaders","getAllResponseHeaders","responseText","send","this.startSymbol","this.endSymbol","mustHaveExpression","trustedContext","endIndex","hasInterpolation","startSymbolLength","exp","endSymbolLength","$interpolateMinErr","part","getTrusted","valueOf","newErr","$interpolate.startSymbol","$interpolate.endSymbol","count","invokeApply","clearInterval","iteration","skipApply","$$intervalId","tick","notify","intervals","interval.cancel","short","pluralCat","num","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","appBase","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","relativeUrl","prefixed","$$path","pathname","$$search","search","$$hash","beginsWith","begin","whole","trimEmptyHash","stripFile","lastIndexOf","LocationHtml5Url","basePrefix","$$html5","appBaseNoFile","$$parse","this.$$parse","pathUrl","$locationMinErr","$$compose","this.$$compose","$$url","$$absUrl","$$parseLinkUrl","this.$$parseLinkUrl","relHref","appUrl","prevAppUrl","rewrittenUrl","LocationHashbangUrl","hashPrefix","withoutBaseUrl","withoutHashUrl","windowsFilePathExp","firstPathSegmentMatch","LocationHashbangInHtml5Url","locationGetter","property","locationGetterSetter","preprocess","html5Mode","this.hashPrefix","prefix","this.html5Mode","afterLocationChange","oldUrl","$broadcast","absUrl","initialUrl","LocationMode","IGNORE_URI_REGEXP","ctrlKey","metaKey","which","absHref","animVal","newUrl","$digest","changeCounter","$locationWatch","currentReplace","$$replace","debug","debugEnabled","this.debugEnabled","flag","formatError","Error","sourceURL","consoleLog","console","logFn","log","hasApply","arg1","arg2","ensureSafeMemberName","fullExpression","$parseMinErr","getStringValue","ensureSafeObject","Object","setter","setValue","fullExp","propertyObj","unwrapPromises","promiseWarning","$$v","isPossiblyDangerousMemberName","cspSafeGetterFn","key0","key1","key2","key3","key4","eso","o","expensiveChecks","eso0","eso1","eso2","eso3","eso4","cspSafePromiseEnabledGetter","pathVal","cspSafeGetter","getterFnWithExtraArgs","s","l","getterFn","getterFnCache","getterFnCacheExpensive","getterFnCacheDefault","pathKeys","pathKeysLength","needsEnsureSafeObject","lookupJs","wrapWithEso","evaledFnGetter","Function","cacheDefault","cacheExpensive","$parseOptions","this.unwrapPromises","logPromiseWarnings","this.logPromiseWarnings","$filter","$parseOptionsExpensive","promiseWarningCache","parsedExpression","parseOptions","lexer","Lexer","parser","Parser","qFactory","nextTick","exceptionHandler","defaultCallback","defaultErrback","pending","ref","createInternalRejectedPromise","progress","errback","progressback","wrappedCallback","wrappedErrback","wrappedProgressback","catch","finally","makePromise","resolved","handleCallback","isResolved","callbackOutput","promises","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","id","timer","TTL","$rootScopeMinErr","lastDirtyWatch","digestTtl","this.digestTtl","Scope","$id","$parent","$$watchers","$$nextSibling","$$prevSibling","$$childHead","$$childTail","$root","$$destroyed","$$asyncQueue","$$postDigestQueue","$$listeners","$$listenerCount","beginPhase","phase","compileToFn","decrementListenerCount","current","initWatchVal","isolate","child","$$childScopeClass","this.$$childScopeClass","watchExp","objectEquality","watcher","listenFn","watcher.fn","newVal","oldVal","originalFn","deregisterWatch","$watchCollection","veryOldValue","trackVeryOldValue","changeDetected","objGetter","internalArray","internalObject","initRun","oldLength","$watchCollectionWatch","newLength","bothNaN","$watchCollectionAction","watch","watchers","asyncQueue","postDigestQueue","dirty","ttl","watchLog","logIdx","logMsg","asyncTask","$eval","next","$on","this.$watch","expr","$$postDigest","namedListeners","indexOfListener","$emit","listenerArgs","array1","currentScope","sanitizeUri","uri","isImage","regex","normalizedVal","adjustMatcher","matcher","$sceMinErr","adjustMatchers","matchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","this.resourceUrlWhitelist","this.resourceUrlBlacklist","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","this.$$unwrapTrustedValue","holderType.prototype.valueOf","holderType.prototype.toString","htmlSanitizer","trustedValueHolderBase","byType","CSS","URL","JS","trustAs","maybeTrusted","allowed","enabled","this.enabled","$sceDelegate","msieDocumentMode","sce","isEnabled","sce.isEnabled","sce.getTrusted","parseAs","sce.parseAs","sceParseAsTrusted","enumValue","lName","eventSupport","android","userAgent","navigator","boxee","documentMode","vendorPrefix","vendorRegex","bodyStyle","style","transitions","animations","webkitTransition","webkitAnimation","hasEvent","divElm","deferreds","$$timeoutId","timeout.cancel","base","urlParsingNode","requestUrl","originUrl","filters","suffix","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","comparator","comparatorType","predicates","predicates.check","objKey","filtered","$locale","formats","NUMBER_FORMATS","amount","currencySymbol","CURRENCY_SYM","formatNumber","PATTERNS","GROUP_SEP","DECIMAL_SEP","number","fractionSize","pattern","groupSep","decimalSep","isFinite","isNegative","abs","numStr","formatedText","hasExponent","toFixed","fractionLen","min","minFrac","maxFrac","round","fraction","lgroup","lgSize","group","gSize","negPre","posPre","negSuf","posSuf","padNumber","digits","neg","dateGetter","date","dateStrGetter","shortForm","jsonStringToDate","string","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","m","ms","parseFloat","format","DATETIME_FORMATS","NUMBER_STRING","DATE_FORMATS_SPLIT","DATE_FORMATS","object","input","limit","Infinity","sortPredicate","reverseOrder","reverseComparator","comp","descending","v1","v2","predicate","ngDirective","FormController","toggleValidCss","isValid","validationErrorKey","VALID_CLASS","INVALID_CLASS","form","parentForm","nullFormCtrl","invalidCount","errors","$error","controls","$name","ngForm","$dirty","$pristine","$valid","$invalid","$addControl","PRISTINE_CLASS","form.$addControl","control","$removeControl","form.$removeControl","queue","validationToken","$setValidity","form.$setValidity","$setDirty","form.$setDirty","DIRTY_CLASS","$setPristine","form.$setPristine","validate","ctrl","validatorName","validity","testFlags","flags","addNativeHtml5Validators","badFlags","ignoreFlags","$$hasNativeValidators","$parsers","validator","textInputType","VALIDITY_STATE_PROPERTY","placeholder","noevent","$$validityState","composing","ev","ngTrim","revalidate","$viewValue","$setViewValue","deferListener","keyCode","$render","ctrl.$render","$isEmpty","ngPattern","patternValidator","patternObj","$formatters","ngMinlength","minlength","minLengthValidator","ngMaxlength","maxlength","maxLengthValidator","classDirective","arrayDifference","arrayClasses","classes","digestClassCounts","classCounts","classesToUpdate","ngClassWatchAction","$index","old$index","mod","isActive_","active","querySelector","addEventListener","attachEvent","removeEventListener","detachEvent","_data","JQLite._data","optgroup","option","tbody","tfoot","colgroup","caption","thead","th","td","ready","trigger","fired","removeAttribute","css","currentStyle","lowercasedName","getNamedItem","ret","getText","textProp","NODE_TYPE_TEXT_PROPERTY","$dv","multiple","selected","nodeCount","onFn","eventFns","contains","compareDocumentPosition","adown","bup","eventmap","related","relatedTarget","one","off","replaceNode","insertBefore","contentDocument","prepend","wrapNode","after","newElement","toggleClass","condition","classCondition","nextElementSibling","getElementsByTagName","extraParameters","dummyEvent","handlerArgs","eventName","eventFnsCopy","arg3","unbind","$animateMinErr","$$selectors","classNameFilter","this.classNameFilter","$$classNameFilter","$$asyncCallback","enter","leave","move","add","PATH_MATCH","paramValue","CALL","APPLY","BIND","OPERATORS","null","true","false","+","-","*","/","%","^","===","!==","==","!=","<",">","<=",">=","&&","||","&","|","!","ESCAPE","lex","ch","lastCh","tokens","is","readString","peek","readNumber","isIdent","readIdent","isWhitespace","ch2","ch3","fn2","fn3","throwError","chars","was","isExpOperator","start","end","colStr","peekCh","ident","lastDot","peekIndex","methodName","quote","rawString","hex","rep","ZERO","statements","primary","expect","filterChain","consume","arrayDeclaration","functionCall","objectIndex","fieldAccess","msg","peekToken","e1","e2","e3","e4","t","unaryFn","right","ternaryFn","left","middle","binaryFn","statement","argsFn","fnInvoke","assignment","ternary","logicalOR","logicalAND","equality","relational","additive","multiplicative","unary","field","indexFn","contextGetter","fnPtr","elementFns","allConstant","elementFn","keyValues","ampmGetter","getHours","AMPMS","timeZoneGetter","zone","getTimezoneOffset","paddedZone","xlinkHref","propName","normalized","ngBooleanAttrWatchAction","formDirectiveFactory","isNgForm","formElement","action","preventDefaultListener","parentFormCtrl","alias","URL_REGEXP","EMAIL_REGEXP","NUMBER_REGEXP","inputType","numberInputType","numberBadFlags","minValidator","maxValidator","urlInputType","urlValidator","emailInputType","emailValidator","radioInputType","checked","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","ctrl.$isEmpty","NgModelController","$modelValue","NaN","$viewChangeListeners","ngModelGet","ngModel","ngModelSet","this.$isEmpty","inheritedData","this.$setValidity","this.$setPristine","this.$setViewValue","ngModelWatch","formatters","ctrls","modelCtrl","formCtrl","ngChange","required","ngList","viewValue","CONSTANT_VALUE_REGEXP","tpl","tplAttr","ngValue","ngValueConstantLink","ngValueLink","valueWatchAction","templateElement","ngBind","ngBindWatchAction","ngBindTemplate","tElement","ngBindHtml","ngBindHtmlWatchAction","getTrustedHtml","forceAsyncEvents","ngEventHandler","$transclude","previousElements","ngIf","ngIfWatchAction","$anchorScroll","srcExp","ngInclude","onloadExp","onload","autoScrollExp","autoscroll","previousElement","currentElement","cleanupLastIncludeContent","parseAsResourceUrl","ngIncludeWatchAction","afterAnimation","thisChangeId","newScope","$compile","ngInit","BRACE","numberExp","whenExp","whens","whensExpFns","isWhen","attributeName","ngPluralizeWatch","ngPluralizeWatchAction","ngRepeatMinErr","ngRepeat","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","valueIdentifier","keyIdentifier","hashFnLocals","lhs","rhs","trackByExp","lastBlockMap","ngRepeatAction","collection","previousNode","nextNode","nextBlockMap","arrayLength","trackByIdFn","collectionKeys","nextBlockOrder","trackById","$first","$last","$middle","$odd","$even","ngShow","ngShowWatchAction","ngHide","ngHideWatchAction","ngStyle","ngStyleWatchAction","newStyles","oldStyles","ngSwitchController","cases","selectedTranscludes","selectedElements","selectedScopes","ngSwitch","ngSwitchWatchAction","change","selectedTransclude","selectedScope","caseElement","anchor","ngSwitchWhen","$attrs","ngOptionsMinErr","NG_OPTIONS_REGEXP","nullModelCtrl","optionsMap","ngModelCtrl","unknownOption","databound","init","self.init","ngModelCtrl_","nullOption_","unknownOption_","addOption","self.addOption","removeOption","self.removeOption","hasOption","renderUnknownOption","self.renderUnknownOption","unknownVal","self.hasOption","setupAsSingle","selectElement","selectCtrl","ngModelCtrl.$render","emptyOption","setupAsMultiple","lastView","items","selectMultipleWatch","setupAsOptions","render","optionGroups","optionGroupNames","optionGroupName","optionGroup","existingParent","existingOptions","existingOption","modelValue","valuesFn","keyName","groupIndex","selectedSet","trackFn","trackIndex","valueName","lastElement","groupByFn","modelCast","label","displayFn","nullOption","groupLength","optionGroupsCache","optGroupTemplate","optionTemplate","optionsExp","track","optionElement","toDisplay","ngOptions","ngModelCtrl.$isEmpty","nullSelectCtrl","selectCtrlName","interpolateWatchAction","$$csp"] +"names":["window","document","undefined","minErr","isArrayLike","obj","isWindow","length","nodeType","NODE_TYPE_ELEMENT","isString","isArray","forEach","iterator","context","key","isFunction","hasOwnProperty","call","isPrimitive","forEachSorted","keys","Object","sort","i","reverseParams","iteratorFn","value","nextUid","uid","setHashKey","h","$$hashKey","extend","dst","ii","arguments","j","jj","int","str","parseInt","inherit","parent","extra","prototype","noop","identity","$","valueFn","isUndefined","isDefined","isObject","isNumber","isDate","toString","isRegExp","isScope","$evalAsync","$watch","isBoolean","isElement","node","nodeName","prop","attr","find","makeMap","items","split","nodeName_","element","lowercase","arrayRemove","array","index","indexOf","splice","copy","source","destination","stackSource","stackDest","ngMinErr","push","result","Date","getTime","RegExp","match","lastIndex","emptyObject","create","getPrototypeOf","shallowCopy","src","charAt","equals","o1","o2","t1","t2","keySet","concat","array1","array2","slice","bind","self","fn","curryArgs","startIndex","apply","toJsonReplacer","val","toJson","pretty","JSON","stringify","fromJson","json","parse","startingTag","jqLite","clone","empty","e","elemHtml","append","html","NODE_TYPE_TEXT","replace","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","key_value","toKeyValue","parts","arrayValue","encodeUriQuery","join","encodeUriSegment","pctEncodeSpaces","encodeURIComponent","getNgAttribute","ngAttr","ngAttrPrefixes","angularInit","bootstrap","appElement","module","config","prefix","name","hasAttribute","getAttribute","candidate","querySelector","strictDi","modules","defaultConfig","doBootstrap","injector","tag","unshift","$provide","debugInfoEnabled","$compileProvider","createInjector","invoke","bootstrapApply","scope","compile","$apply","data","NG_ENABLE_DEBUG_INFO","NG_DEFER_BOOTSTRAP","test","angular","resumeBootstrap","angular.resumeBootstrap","extraModules","reloadWithDebugInfo","location","reload","getTestability","rootElement","get","snake_case","separator","SNAKE_CASE_REGEXP","letter","pos","toLowerCase","bindJQuery","originalCleanData","bindJQueryFired","jQuery","on","JQLitePrototype","isolateScope","controller","inheritedData","cleanData","jQuery.cleanData","elems","events","skipDestroyOnNextJQueryCleanData","elem","_data","$destroy","triggerHandler","JQLite","assertArg","arg","reason","assertArgFn","acceptArrayAnnotation","constructor","assertNotHasOwnProperty","getter","path","bindFnToScope","lastInstance","len","getBlockNodes","nodes","endNode","blockNodes","nextSibling","createMap","setupModuleLoader","ensure","factory","$injectorMinErr","$$minErr","requires","configFn","invokeLater","provider","method","insertMethod","queue","invokeQueue","moduleInstance","configBlocks","runBlocks","_invokeQueue","_configBlocks","_runBlocks","service","constant","animation","filter","directive","run","block","publishExternalAPI","version","uppercase","counter","csp","angularModule","$LocaleProvider","ngModule","$$sanitizeUri","$$SanitizeUriProvider","$CompileProvider","a","htmlAnchorDirective","input","inputDirective","textarea","form","formDirective","script","scriptDirective","select","selectDirective","style","styleDirective","option","optionDirective","ngBind","ngBindDirective","ngBindHtml","ngBindHtmlDirective","ngBindTemplate","ngBindTemplateDirective","ngClass","ngClassDirective","ngClassEven","ngClassEvenDirective","ngClassOdd","ngClassOddDirective","ngCloak","ngCloakDirective","ngController","ngControllerDirective","ngForm","ngFormDirective","ngHide","ngHideDirective","ngIf","ngIfDirective","ngInclude","ngIncludeDirective","ngInit","ngInitDirective","ngNonBindable","ngNonBindableDirective","ngPluralize","ngPluralizeDirective","ngRepeat","ngRepeatDirective","ngShow","ngShowDirective","ngStyle","ngStyleDirective","ngSwitch","ngSwitchDirective","ngSwitchWhen","ngSwitchWhenDirective","ngSwitchDefault","ngSwitchDefaultDirective","ngOptions","ngOptionsDirective","ngTransclude","ngTranscludeDirective","ngModel","ngModelDirective","ngList","ngListDirective","ngChange","ngChangeDirective","pattern","patternDirective","ngPattern","required","requiredDirective","ngRequired","minlength","minlengthDirective","ngMinlength","maxlength","maxlengthDirective","ngMaxlength","ngValue","ngValueDirective","ngModelOptions","ngModelOptionsDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$anchorScroll","$AnchorScrollProvider","$animate","$AnimateProvider","$browser","$BrowserProvider","$cacheFactory","$CacheFactoryProvider","$controller","$ControllerProvider","$document","$DocumentProvider","$exceptionHandler","$ExceptionHandlerProvider","$filter","$FilterProvider","$interpolate","$InterpolateProvider","$interval","$IntervalProvider","$http","$HttpProvider","$httpBackend","$HttpBackendProvider","$location","$LocationProvider","$log","$LogProvider","$parse","$ParseProvider","$rootScope","$RootScopeProvider","$q","$QProvider","$$q","$$QProvider","$sce","$SceProvider","$sceDelegate","$SceDelegateProvider","$sniffer","$SnifferProvider","$templateCache","$TemplateCacheProvider","$templateRequest","$TemplateRequestProvider","$$testability","$$TestabilityProvider","$timeout","$TimeoutProvider","$window","$WindowProvider","$$rAF","$$RAFProvider","$$asyncCallback","$$AsyncCallbackProvider","camelCase","SPECIAL_CHARS_REGEXP","_","offset","toUpperCase","MOZ_HACK_REGEXP","jqLiteAcceptsData","NODE_TYPE_DOCUMENT","jqLiteBuildFragment","tmp","fragment","createDocumentFragment","HTML_REGEXP","appendChild","createElement","TAG_NAME_REGEXP","exec","wrap","wrapMap","_default","innerHTML","XHTML_TAG_REGEXP","lastChild","childNodes","firstChild","textContent","createTextNode","argIsString","trim","jqLiteMinErr","parsed","SINGLE_TAG_REGEXP","jqLiteAddNodes","jqLiteClone","cloneNode","jqLiteDealoc","onlyDescendants","jqLiteRemoveData","querySelectorAll","descendants","l","jqLiteOff","type","unsupported","expandoStore","jqLiteExpandoStore","handle","listenerFns","removeEventListener","expandoId","ng339","jqCache","createIfNecessary","jqId","jqLiteData","isSimpleSetter","isSimpleGetter","massGetter","jqLiteHasClass","selector","jqLiteRemoveClass","cssClasses","setAttribute","cssClass","jqLiteAddClass","existingClasses","root","elements","jqLiteController","jqLiteInheritedData","documentElement","names","parentNode","NODE_TYPE_DOCUMENT_FRAGMENT","host","jqLiteEmpty","removeChild","jqLiteRemove","keepData","jqLiteDocumentLoaded","action","win","readyState","setTimeout","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","getAliasedAttrName","ALIASED_ATTR","createEventHandler","eventHandler","event","isDefaultPrevented","event.isDefaultPrevented","defaultPrevented","eventFns","eventFnsLength","immediatePropagationStopped","originalStopImmediatePropagation","stopImmediatePropagation","event.stopImmediatePropagation","stopPropagation","isImmediatePropagationStopped","event.isImmediatePropagationStopped","hashKey","nextUidFn","objType","HashMap","isolatedUid","this.nextUid","put","anonFn","args","fnText","STRIP_COMMENTS","FN_ARGS","annotate","$inject","argDecl","FN_ARG_SPLIT","FN_ARG","all","underscore","last","modulesToLoad","supportObject","delegate","provider_","providerInjector","instantiate","$get","providerCache","providerSuffix","enforceReturnValue","enforcedReturnValue","instanceInjector","factoryFn","enforce","loadModules","moduleFn","runInvokeQueue","invokeArgs","loadedModules","message","stack","createInternalInjector","cache","getService","serviceName","INSTANTIATING","err","shift","locals","Type","Constructor","instance","returnedValue","has","$injector","instanceCache","decorator","decorFn","origProvider","orig$get","origProvider.$get","origInstance","$delegate","servicename","autoScrollingEnabled","disableAutoScrolling","this.disableAutoScrolling","getFirstAnchor","list","Array","some","scrollTo","scrollIntoView","scroll","yOffset","getComputedStyle","position","getBoundingClientRect","bottom","elemTop","top","scrollBy","hash","elm","getElementById","getElementsByName","autoScrollWatch","autoScrollWatchAction","newVal","oldVal","supported","Browser","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","pop","error","startPoller","interval","check","pollFns","pollFn","pollTimeout","cacheStateAndFireUrlChange","cacheState","fireUrlChange","cachedState","history","state","lastCachedState","lastBrowserUrl","url","lastHistoryState","urlChangeListeners","listener","safeDecodeURIComponent","rawDocument","clearTimeout","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","self.$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","self.notifyWhenNoOutstandingRequests","callback","addPollFn","self.addPollFn","href","baseElement","reloadLocation","self.url","sameState","sameBase","stripHash","self.state","urlChangeInit","onUrlChange","self.onUrlChange","$$checkUrlChange","baseHref","self.baseHref","lastCookies","lastCookieString","cookiePath","cookies","self.cookies","cookieLength","cookie","warn","cookieArray","substring","defer","self.defer","delay","timeoutId","cancel","self.defer.cancel","deferId","this.$get","cacheFactory","cacheId","options","refresh","entry","freshEnd","staleEnd","n","link","p","nextEntry","prevEntry","caches","size","stats","id","capacity","Number","MAX_VALUE","lruHash","lruEntry","remove","removeAll","destroy","info","cacheFactory.info","cacheFactory.get","$$sanitizeUriProvider","parseIsolateBindings","directiveName","LOCAL_REGEXP","bindings","definition","scopeName","$compileMinErr","mode","collection","optional","attrName","hasDirectives","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","ALL_OR_NOTHING_ATTRS","REQUIRE_PREFIX_REGEXP","EVENT_HANDLER_ATTR_REGEXP","this.directive","registerDirective","directiveFactory","Suffix","directives","priority","require","restrict","$$isolateBindings","aHrefSanitizationWhitelist","this.aHrefSanitizationWhitelist","regexp","imgSrcSanitizationWhitelist","this.imgSrcSanitizationWhitelist","this.debugInfoEnabled","enabled","safeAddClass","$element","className","addClass","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","nodeValue","compositeLinkFn","compileNodes","$$addScopeClass","namespace","publicLinkFn","cloneConnectFn","parentBoundTranscludeFn","transcludeControllers","futureParentElement","$$boundTransclude","$linkNode","wrapTemplate","controllerName","$$addScopeInfo","nodeList","$rootElement","childLinkFn","childScope","childBoundTranscludeFn","stableNodeList","nodeLinkFnFound","linkFns","idx","nodeLinkFn","$new","transcludeOnThisElement","createBoundTranscludeFn","transclude","elementTranscludeOnThisElement","templateOnThisElement","attrs","linkFnFound","Attributes","collectDirectives","applyDirectivesToNode","$$element","terminal","previousBoundTranscludeFn","elementTransclusion","boundTranscludeFn","transcludedScope","cloneFn","controllers","containingScope","$$transcluded","attrsMap","$attr","addDirective","directiveNormalize","nName","isNgAttr","nAttrs","attributes","attrStartName","attrEndName","ngAttrName","NG_ATTR_BINDING","substr","directiveNName","multiElement","addAttrInterpolateDirective","addTextInterpolateDirective","NODE_TYPE_COMMENT","byPriority","groupScan","attrStart","attrEnd","depth","groupElementsLinkFnWrapper","linkFn","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","getControllers","elementControllers","retrievalMethod","$searchElement","linkNode","controllersBoundTransclude","cloneAttachFn","hasElementTranscludeDirective","scopeToChild","controllerDirectives","$scope","$attrs","$transclude","controllerInstance","controllerAs","templateDirective","$$originalDirective","isolateScopeController","isolateBindingContext","identifier","bindToController","lastValue","parentGet","parentSet","compare","$observe","$$observers","$$scope","literal","b","assign","parentValueWatch","parentValue","$stateful","unwatch","$watchCollection","$on","invokeLinkFn","template","templateUrl","terminalPriority","newScopeDirective","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","$template","childTranscludeFn","$$start","$$end","directiveValue","assertNoDuplicate","$$tlb","createComment","replaceWith","replaceDirective","contents","denormalizeTemplate","removeComments","templateNamespace","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectivesAsIsolate","mergeTemplateAttributes","compileTemplateUrl","Math","max","tDirectives","startAttrName","endAttrName","srcAttr","dstAttr","$set","tAttrs","linkQueue","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","getTrustedResourceUrl","then","content","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","$$destroyed","oldClasses","delayedNodeLinkFn","ignoreChildLinkFn","diff","what","previousDirective","text","interpolateFn","textInterpolateCompileFn","templateNode","templateNodeParent","hasCompileParent","$$addBindingClass","textInterpolateLinkFn","$$addBindingInfo","expressions","interpolateFnWatchAction","wrapper","getTrustedContext","attrNormalizedName","HTML","RESOURCE_URL","allOrNothing","attrInterpolatePreLinkFn","$$inter","newValue","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","replaceChild","expando","k","kk","annotation","attributesToCopy","$normalize","$addClass","classVal","$removeClass","removeClass","newClasses","toAdd","tokenDifference","toRemove","writeAttr","booleanKey","aliasedKey","observer","trimmedSrcset","srcPattern","rawUris","nbrUrisWith2parts","floor","innerIdx","lastTuple","removeAttr","listeners","startSymbol","endSymbol","binding","isolated","noTemplate","dataName","PREFIX_REGEXP","str1","str2","values","tokens1","tokens2","token","jqNodes","globals","CNTRL_REG","register","this.register","allowGlobals","this.allowGlobals","addIdentifier","expression","later","ident","exception","cause","defaultHttpResponseTransform","headers","JSON_PROTECTION_PREFIX","contentType","APPLICATION_JSON","JSON_START","JSON_END","parseHeaders","line","headersGetter","headersObj","transformData","fns","defaults","transformResponse","transformRequest","d","common","CONTENT_TYPE_APPLICATION_JSON","patch","xsrfCookieName","xsrfHeaderName","useApplyAsync","this.useApplyAsync","interceptorFactories","interceptors","requestConfig","response","resp","status","reject","mergeHeaders","defHeaders","reqHeaders","defHeaderName","reqHeaderName","lowercaseDefHeaderName","execHeaders","headerContent","headerFn","header","chain","serverRequest","reqData","withCredentials","sendReq","promise","when","reversedInterceptors","interceptor","request","requestError","responseError","thenFn","rejectFn","success","promise.success","promise.error","done","headersString","statusText","resolveHttpPromise","resolvePromise","$applyAsync","$$phase","deferred","resolve","removePendingReq","pendingRequests","cachedResp","buildUrl","params","defaultCache","xsrfValue","urlIsSameOrigin","timeout","responseType","v","toISOString","interceptorFactory","createShortMethods","createShortMethodsWithData","createXhr","XMLHttpRequest","createHttpBackend","callbacks","$browserDefer","jsonpReq","callbackId","async","body","called","addEventListener","timeoutRequest","jsonpDone","xhr","abort","completeRequest","open","setRequestHeader","onload","xhr.onload","responseText","urlResolve","protocol","getAllResponseHeaders","onerror","onabort","send","this.startSymbol","this.endSymbol","escape","ch","mustHaveExpression","trustedContext","unescapeText","escapedStartRegexp","escapedEndRegexp","parseStringifyInterceptor","getTrusted","valueOf","newErr","$interpolateMinErr","endIndex","parseFns","textLength","expressionPositions","startSymbolLength","exp","endSymbolLength","compute","interpolationFn","$$watchDelegate","objectEquality","$watchGroup","interpolateFnWatcher","oldValues","currValue","$interpolate.startSymbol","$interpolate.endSymbol","count","invokeApply","setInterval","clearInterval","iteration","skipApply","$$intervalId","tick","notify","intervals","interval.cancel","NUMBER_FORMATS","DECIMAL_SEP","GROUP_SEP","PATTERNS","minInt","minFrac","maxFrac","posPre","posSuf","negPre","negSuf","gSize","lgSize","CURRENCY_SYM","DATETIME_FORMATS","MONTH","SHORTMONTH","DAY","SHORTDAY","AMPMS","medium","fullDate","longDate","mediumDate","shortDate","mediumTime","shortTime","pluralCat","num","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","appBase","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","relativeUrl","prefixed","$$path","pathname","$$search","search","$$hash","beginsWith","begin","whole","stripFile","lastIndexOf","LocationHtml5Url","basePrefix","$$html5","appBaseNoFile","$$parse","this.$$parse","pathUrl","$locationMinErr","$$compose","this.$$compose","$$url","$$absUrl","$$parseLinkUrl","this.$$parseLinkUrl","relHref","appUrl","prevAppUrl","rewrittenUrl","LocationHashbangUrl","hashPrefix","withoutBaseUrl","withoutHashUrl","windowsFilePathExp","firstPathSegmentMatch","LocationHashbangInHtml5Url","locationGetter","property","locationGetterSetter","preprocess","html5Mode","requireBase","rewriteLinks","this.hashPrefix","this.html5Mode","setBrowserUrlWithFallback","oldUrl","oldState","$$state","afterLocationChange","$broadcast","absUrl","LocationMode","initialUrl","IGNORE_URI_REGEXP","ctrlKey","metaKey","which","target","absHref","animVal","preventDefault","initializing","newUrl","newState","$digest","$locationWatch","currentReplace","$$replace","urlOrStateChanged","debug","debugEnabled","this.debugEnabled","flag","formatError","Error","sourceURL","consoleLog","console","logFn","log","hasApply","arg1","arg2","ensureSafeMemberName","fullExpression","$parseMinErr","ensureSafeObject","children","isConstant","setter","setValue","fullExp","propertyObj","isPossiblyDangerousMemberName","cspSafeGetterFn","key0","key1","key2","key3","key4","expensiveChecks","eso","o","eso0","eso1","eso2","eso3","eso4","cspSafeGetter","pathVal","getterFnWithEnsureSafeObject","s","getterFn","getterFnCache","getterFnCacheExpensive","getterFnCacheDefault","pathKeys","pathKeysLength","code","needsEnsureSafeObject","lookupJs","evaledFnGetter","Function","sharedGetter","fn.assign","getValueOf","objectValueOf","cacheDefault","cacheExpensive","wrapSharedExpression","wrapped","collectExpressionInputs","inputs","expressionInputDirtyCheck","oldValueOfValue","inputsWatchDelegate","parsedExpression","inputExpressions","$$inputs","lastResult","oldInputValue","expressionInputWatch","newInputValue","oldInputValueOfValues","expressionInputsWatch","changed","oneTimeWatchDelegate","oneTimeWatch","oneTimeListener","old","$$postDigest","oneTimeLiteralWatchDelegate","isAllDefined","allDefined","constantWatchDelegate","constantWatch","constantListener","addInterceptor","interceptorFn","$parseOptions","$parseOptionsExpensive","oneTime","cacheKey","parseOptions","lexer","Lexer","parser","Parser","qFactory","nextTick","exceptionHandler","callOnce","resolveFn","Promise","simpleBind","scheduleProcessQueue","processScheduled","pending","Deferred","$qMinErr","TypeError","onFulfilled","onRejected","progressBack","catch","finally","handleCallback","$$reject","$$resolve","progress","makePromise","resolved","isResolved","callbackOutput","errback","$Q","Q","resolver","promises","results","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","timer","TTL","$rootScopeMinErr","lastDirtyWatch","applyAsyncId","digestTtl","this.digestTtl","Scope","$id","$parent","$$watchers","$$nextSibling","$$prevSibling","$$childHead","$$childTail","$root","$$listeners","$$listenerCount","beginPhase","phase","decrementListenerCount","current","initWatchVal","flushApplyAsync","applyAsyncQueue","scheduleApplyAsync","isolate","destroyChild","child","$$ChildScope","this.$$ChildScope","watchExp","watcher","eq","deregisterWatch","watchExpressions","watchGroupAction","changeReactionScheduled","firstRun","newValues","deregisterFns","shouldCall","deregisterWatchGroup","expr","unwatchFn","watchGroupSubAction","$watchCollectionInterceptor","_value","bothNaN","newItem","oldItem","internalArray","oldLength","changeDetected","newLength","internalObject","veryOldValue","trackVeryOldValue","changeDetector","initRun","$watchCollectionAction","watch","watchers","dirty","ttl","watchLog","logIdx","logMsg","asyncTask","asyncQueue","$eval","isNaN","next","postDigestQueue","eventName","this.$watchGroup","$applyAsyncExpression","namedListeners","indexOfListener","$emit","targetScope","listenerArgs","currentScope","$$asyncQueue","$$postDigestQueue","$$applyAsyncQueue","sanitizeUri","uri","isImage","regex","normalizedVal","adjustMatcher","matcher","$sceMinErr","escapeForRegexp","adjustMatchers","matchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","this.resourceUrlWhitelist","this.resourceUrlBlacklist","matchUrl","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","this.$$unwrapTrustedValue","holderType.prototype.valueOf","holderType.prototype.toString","htmlSanitizer","trustedValueHolderBase","byType","CSS","URL","JS","trustAs","maybeTrusted","allowed","this.enabled","msie","sce","isEnabled","sce.isEnabled","sce.getTrusted","parseAs","sce.parseAs","enumValue","lName","eventSupport","android","userAgent","navigator","boxee","vendorPrefix","vendorRegex","bodyStyle","transitions","animations","webkitTransition","webkitAnimation","pushState","hasEvent","divElm","handleRequestFn","tpl","ignoreRequestError","totalPendingRequests","original","transformer","httpOptions","handleError","testability","testability.findBindings","opt_exactMatch","getElementsByClassName","matches","dataBinding","bindingName","testability.findModels","prefixes","attributeEquals","testability.getLocation","testability.setLocation","testability.whenStable","deferreds","$$timeoutId","timeout.cancel","base","urlParsingNode","requestUrl","originUrl","filters","suffix","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","comparator","comparatorType","predicates","predicates.check","objKey","filtered","$locale","formats","amount","currencySymbol","fractionSize","formatNumber","number","groupSep","decimalSep","isFinite","isNegative","abs","numStr","formatedText","hasExponent","toFixed","fractionLen","min","round","fraction","lgroup","group","padNumber","digits","neg","dateGetter","date","dateStrGetter","shortForm","getFirstThursdayOfYear","year","dayOfWeekOnFirst","getDay","weekGetter","firstThurs","getFullYear","thisThurs","getMonth","getDate","jsonStringToDate","string","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","m","ms","parseFloat","format","timezone","NUMBER_STRING","DATE_FORMATS_SPLIT","setMinutes","getMinutes","getTimezoneOffset","DATE_FORMATS","object","limit","Infinity","out","sortPredicate","reverseOrder","reverseComparator","comp","descending","v1","v2","map","predicate","arrayCopy","ngDirective","FormController","controls","parentForm","$$parentForm","nullFormCtrl","$error","$$success","$pending","$name","$dirty","$pristine","$valid","$invalid","$submitted","$addControl","$rollbackViewValue","form.$rollbackViewValue","control","$commitViewValue","form.$commitViewValue","form.$addControl","$$renameControl","form.$$renameControl","newName","oldName","$removeControl","form.$removeControl","$setValidity","addSetValidityMethod","ctrl","set","unset","$setDirty","form.$setDirty","PRISTINE_CLASS","DIRTY_CLASS","$setPristine","form.$setPristine","setClass","SUBMITTED_CLASS","$setUntouched","form.$setUntouched","$setSubmitted","form.$setSubmitted","stringBasedInputType","$formatters","$isEmpty","baseInputType","placeholder","noevent","composing","ev","ngTrim","$viewValue","$$hasNativeValidators","$setViewValue","deferListener","keyCode","$render","ctrl.$render","$modelValue","createDateParser","mapping","iso","ISO_DATE_REGEXP","yyyy","MM","dd","HH","getHours","mm","ss","getSeconds","sss","getMilliseconds","part","NaN","createDateInputType","parseDate","dynamicDateInputType","parseObservedDateValue","badInputChecker","$options","previousDate","$$parserName","$parsers","parsedDate","$ngModelMinErr","timezoneOffset","ngMin","minVal","$validators","ctrl.$validators.min","$validate","ngMax","maxVal","ctrl.$validators.max","ctrl.$isEmpty","validity","VALIDITY_STATE_PROPERTY","badInput","typeMismatch","parseConstantExpr","fallback","parseFn","cachedToggleClass","switchValue","classCache","toggleValidationCss","validationErrorKey","isValid","VALID_CLASS","INVALID_CLASS","hasClass","setValidity","isObjectEmpty","PENDING_CLASS","combinedState","classDirective","arrayDifference","arrayClasses","classes","digestClassCounts","classCounts","classesToUpdate","ngClassWatchAction","$index","old$index","mod","REGEX_STRING_REGEXP","documentMode","isActive_","active","full","major","minor","dot","codeName","JQLite._data","MOUSE_EVENT_MAP","mouseleave","mouseenter","optgroup","tbody","tfoot","colgroup","caption","thead","th","td","ready","trigger","fired","removeData","removeAttribute","css","lowercasedName","specified","getNamedItem","ret","getText","$dv","multiple","selected","nodeCount","jqLiteOn","types","related","relatedTarget","contains","off","one","onFn","replaceNode","insertBefore","contentDocument","prepend","wrapNode","detach","after","newElement","toggleClass","condition","classCondition","nextElementSibling","getElementsByTagName","extraParameters","dummyEvent","handlerArgs","eventFnsCopy","arg3","unbind","$$annotate","$animateMinErr","$$selectors","classNameFilter","this.classNameFilter","$$classNameFilter","runAnimationPostDigest","cancelFn","$$cancelFn","defer.promise.$$cancelFn","ngAnimatePostDigest","ngAnimateNotifyComplete","resolveElementClasses","hasClasses","cachedClassManipulation","op","asyncPromise","currentDefer","applyStyles","styles","from","to","animate","enter","leave","move","$$addClassImmediately","$$removeClassImmediately","add","createdCache","STORAGE_KEY","$$setClassImmediately","PATH_MATCH","locationPrototype","paramValue","Location","Location.prototype.state","CALL","APPLY","BIND","CONSTANTS","null","true","false","constantGetter","OPERATORS","+","-","*","/","%","===","!==","==","!=","<",">","<=",">=","&&","||","!","ESCAPE","lex","tokens","is","readString","peek","readNumber","isIdent","readIdent","isWhitespace","ch2","ch3","fn2","fn3","throwError","chars","isExpOperator","start","end","colStr","peekCh","lastDot","peekIndex","methodName","quote","rawString","hex","String","fromCharCode","rep","ZERO","statements","primary","expect","filterChain","consume","arrayDeclaration","functionCall","objectIndex","fieldAccess","msg","peekToken","e1","e2","e3","e4","t","unaryFn","right","$parseUnaryFn","binaryFn","left","isBranching","$parseBinaryFn","$parseStatements","inputFn","argsFn","$parseFilter","every","assignment","ternary","$parseAssignment","logicalOR","middle","$parseTernary","logicalAND","equality","relational","additive","multiplicative","unary","field","$parseFieldAccess","indexFn","$parseObjectIndex","fnGetter","contextGetter","expressionText","$parseFunctionCall","elementFns","elementFn","$parseArrayLiteral","valueFns","$parseObjectLiteral","yy","y","MMMM","MMM","M","H","hh","EEEE","EEE","ampmGetter","Z","timeZoneGetter","zone","paddedZone","ww","w","xlinkHref","propName","normalized","ngBooleanAttrWatchAction","htmlAttr","ngAttrAliasWatchAction","nullFormRenameControl","formDirectiveFactory","isNgForm","ngFormCompile","formElement","ngFormPreLink","handleFormSubmission","returnValue","parentFormCtrl","alias","URL_REGEXP","EMAIL_REGEXP","NUMBER_REGEXP","DATE_REGEXP","DATETIMELOCAL_REGEXP","WEEK_REGEXP","MONTH_REGEXP","TIME_REGEXP","DEFAULT_REGEXP","inputType","textInputType","weekParser","isoWeek","existingDate","week","minutes","hours","seconds","milliseconds","addDays","numberInputType","urlInputType","ctrl.$validators.url","emailInputType","email","ctrl.$validators.email","radioInputType","checked","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","ctrls","NgModelController","$asyncValidators","$viewChangeListeners","$untouched","$touched","parsedNgModel","pendingDebounce","ngModelGet","modelValue","getterSetter","ngModelSet","$$setOptions","this.$$setOptions","this.$isEmpty","currentValidationRunId","this.$setPristine","this.$setUntouched","UNTOUCHED_CLASS","TOUCHED_CLASS","$setTouched","this.$setTouched","this.$rollbackViewValue","$$lastCommittedViewValue","this.$validate","$$parseAndValidate","$$runValidators","this.$$runValidators","parseValid","viewValue","doneCallback","processSyncValidators","syncValidatorsValid","validator","processAsyncValidators","validatorPromises","allValid","validationDone","localValidationRunId","processParseErrors","errorKey","this.$commitViewValue","this.$$parseAndValidate","parserValid","prevModelValue","allowInvalid","$$writeModelToScope","this.$$writeModelToScope","this.$setViewValue","updateOnDefault","$$debounceViewValueCommit","this.$$debounceViewValueCommit","debounceDelay","debounce","ngModelWatch","formatters","ngModelCompile","ngModelPreLink","modelCtrl","formCtrl","ngModelPostLink","updateOn","ctrl.$validators.required","patternExp","ctrl.$validators.pattern","ctrl.$validators.maxlength","ctrl.$validators.minlength","trimValues","CONSTANT_VALUE_REGEXP","tplAttr","ngValueConstantLink","ngValueLink","valueWatchAction","that","$compile","ngBindCompile","templateElement","ngBindLink","ngBindWatchAction","ngBindTemplateCompile","ngBindTemplateLink","ngBindHtmlCompile","tElement","ngBindHtmlGetter","ngBindHtmlWatch","getStringValue","ngBindHtmlLink","ngBindHtmlWatchAction","getTrustedHtml","forceAsyncEvents","ngEventHandler","$event","previousElements","ngIfWatchAction","newScope","srcExp","onloadExp","autoScrollExp","autoscroll","changeCounter","previousElement","currentElement","cleanupLastIncludeContent","parseAsResourceUrl","ngIncludeWatchAction","afterAnimation","thisChangeId","namespaceAdaptedClone","BRACE","numberExp","whenExp","whens","whensExpFns","isWhen","attributeName","ngPluralizeWatch","ngPluralizeWatchAction","ngRepeatMinErr","updateScope","valueIdentifier","keyIdentifier","arrayLength","$first","$last","$middle","$odd","$even","ngRepeatCompile","ngRepeatEndComment","lhs","rhs","aliasAs","trackByExp","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","hashFnLocals","ngRepeatLink","lastBlockMap","ngRepeatAction","previousNode","nextNode","nextBlockMap","collectionLength","trackById","collectionKeys","nextBlockOrder","trackByIdFn","itemKey","blockKey","ngRepeatTransclude","ngShowWatchAction","NG_HIDE_CLASS","tempClasses","NG_HIDE_IN_PROGRESS_CLASS","ngHideWatchAction","ngStyleWatchAction","newStyles","oldStyles","ngSwitchController","cases","selectedTranscludes","selectedElements","previousLeaveAnimations","selectedScopes","spliceFactory","ngSwitchWatchAction","selectedTransclude","caseElement","selectedScope","anchor","ngOptionsMinErr","NG_OPTIONS_REGEXP","nullModelCtrl","optionsMap","ngModelCtrl","unknownOption","databound","init","self.init","ngModelCtrl_","nullOption_","unknownOption_","addOption","self.addOption","removeOption","self.removeOption","hasOption","renderUnknownOption","self.renderUnknownOption","unknownVal","self.hasOption","setupAsSingle","selectElement","selectCtrl","ngModelCtrl.$render","emptyOption","setupAsMultiple","lastView","selectMultipleWatch","setupAsOptions","callExpression","exprFn","valueName","keyName","createIsSelectedFn","selectedSet","trackFn","trackIndex","isSelected","compareValueFn","selectAsFn","scheduleRendering","renderScheduled","render","updateLabelMap","labelMap","label","added","optionGroups","optionGroupNames","optionGroupName","optionGroup","existingParent","existingOptions","existingOption","valuesFn","anySelected","optionId","trackKeysCache","groupByFn","displayFn","nullOption","groupIndex","groupLength","optionGroupsCache","optGroupTemplate","lastElement","optionTemplate","optionsExp","selectAs","track","selectionChanged","selectedKey","viewValueFn","getLabels","toDisplay","ngModelCtrl.$isEmpty","nullSelectCtrl","selectCtrlName","interpolateWatchAction","$$csp"] } diff --git a/src/main/resources/META-INF/resources/designer/lib/dialogs.js b/src/main/resources/META-INF/resources/designer/lib/dialogs.js index b8d26d1d..dfd18d78 100644 --- a/src/main/resources/META-INF/resources/designer/lib/dialogs.js +++ b/src/main/resources/META-INF/resources/designer/lib/dialogs.js @@ -1,3 +1,9 @@ +/** + * angular-dialog-service - A service to handle common dialog types in a web application. Built on top of Angular-Bootstrap's modal + * @version v5.3.0 + * @author Michael Conroy, michael.e.conroy@gmail.com + * @license MIT, http://www.opensource.org/licenses/MIT + */ (function(){ "use strict"; //== Translate Substitute Module =============================================// @@ -84,7 +90,7 @@ try{ /** * Error Dialog Controller */ -ctrlrs.controller('errorDialogCtrl',['$scope','$modalInstance','$translate','data',function($scope,$modalInstance,$translate,data){ +ctrlrs.controller('errorDialogCtrl',['$scope','$uibModalInstance','$translate','data',function($scope,$uibModalInstance,$translate,data){ //-- Variables -----// $scope.header = (angular.isDefined(data.header)) ? data.header : $translate.instant('DIALOGS_ERROR'); @@ -94,7 +100,7 @@ ctrlrs.controller('errorDialogCtrl',['$scope','$modalInstance','$translate','dat //-- Methods -----// $scope.close = function(){ - $modalInstance.close(); + $uibModalInstance.close(); $scope.$destroy(); }; // end close }]); // end ErrorDialogCtrl @@ -102,7 +108,7 @@ ctrlrs.controller('errorDialogCtrl',['$scope','$modalInstance','$translate','dat /** * Wait Dialog Controller */ -ctrlrs.controller('waitDialogCtrl',['$scope','$modalInstance','$translate','$timeout','data',function($scope,$modalInstance,$translate,$timeout,data){ +ctrlrs.controller('waitDialogCtrl',['$scope','$uibModalInstance','$translate','$timeout','data',function($scope,$uibModalInstance,$translate,$timeout,data){ //-- Variables -----// $scope.header = (angular.isDefined(data.header)) ? data.header : $translate.instant('DIALOGS_PLEASE_WAIT_ELIPS'); @@ -116,7 +122,7 @@ ctrlrs.controller('waitDialogCtrl',['$scope','$modalInstance','$translate','$tim // close wait dialog $scope.$on('dialogs.wait.complete',function(){ - $timeout(function(){ $modalInstance.close(); $scope.$destroy(); }); + $timeout(function(){ $uibModalInstance.close(); $scope.$destroy(); }); }); // end on(dialogs.wait.complete) // update the dialog's message @@ -141,7 +147,7 @@ ctrlrs.controller('waitDialogCtrl',['$scope','$modalInstance','$translate','$tim /** * Notify Dialog Controller */ -ctrlrs.controller('notifyDialogCtrl',['$scope','$modalInstance','$translate','data',function($scope,$modalInstance,$translate,data){ +ctrlrs.controller('notifyDialogCtrl',['$scope','$uibModalInstance','$translate','data',function($scope,$uibModalInstance,$translate,data){ //-- Variables -----// $scope.header = (angular.isDefined(data.header)) ? data.header : $translate.instant('DIALOGS_NOTIFICATION'); @@ -151,7 +157,7 @@ ctrlrs.controller('notifyDialogCtrl',['$scope','$modalInstance','$translate','da //-- Methods -----// $scope.close = function(){ - $modalInstance.close(); + $uibModalInstance.close(); $scope.$destroy(); }; // end close }]); // end WaitDialogCtrl @@ -159,7 +165,7 @@ ctrlrs.controller('notifyDialogCtrl',['$scope','$modalInstance','$translate','da /** * Confirm Dialog Controller */ -ctrlrs.controller('confirmDialogCtrl',['$scope','$modalInstance','$translate','data',function($scope,$modalInstance,$translate,data){ +ctrlrs.controller('confirmDialogCtrl',['$scope','$uibModalInstance','$translate','data',function($scope,$uibModalInstance,$translate,data){ //-- Variables -----// $scope.header = (angular.isDefined(data.header)) ? data.header : $translate.instant('DIALOGS_CONFIRMATION'); @@ -169,11 +175,11 @@ ctrlrs.controller('confirmDialogCtrl',['$scope','$modalInstance','$translate','d //-- Methods -----// $scope.no = function(){ - $modalInstance.dismiss('no'); + $uibModalInstance.dismiss('no'); }; // end close $scope.yes = function(){ - $modalInstance.close('yes'); + $uibModalInstance.close('yes'); }; // end yes }]); // end ConfirmDialogCtrl / dialogs.controllers //== Services ================================================================// @@ -184,28 +190,31 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) var _b = true; // backdrop var _k = true; // keyboard var _w = 'dialogs-default'; // windowClass + var _bdc = 'dialogs-backdrop-default'; // backdropClass var _copy = true; // controls use of angular.copy var _wTmpl = null; // window template var _wSize = 'lg'; // large modal window default + var _animation = false; // true/false to use animation var _fa = false; // fontawesome flag var _setOpts = function(opts){ var _opts = {}; opts = opts || {}; - _opts.kb = (angular.isDefined(opts.keyboard)) ? opts.keyboard : _k; // values: true,false + _opts.kb = (angular.isDefined(opts.keyboard)) ? !!opts.keyboard : _k; // values: true,false _opts.bd = (angular.isDefined(opts.backdrop)) ? opts.backdrop : _b; // values: 'static',true,false - _opts.ws = (angular.isDefined(opts.size) && (angular.equals(opts.size,'sm') || angular.equals(opts.size,'lg') || angular.equals(opts.size,'md'))) ? opts.size : _wSize; // values: 'sm', 'lg', 'md' + _opts.bdc = (angular.isDefined(opts.backdropClass)) ? opts.backdropClass : _bdc; // additional CSS class(es) to be added to the modal backdrop + _opts.ws = (angular.isDefined(opts.size) && ((opts.size === 'sm') || (opts.size === 'lg') || (opts.size === 'md'))) ? opts.size : _wSize; // values: 'sm', 'lg', 'md' _opts.wc = (angular.isDefined(opts.windowClass)) ? opts.windowClass : _w; // additional CSS class(es) to be added to a modal window - + _opts.anim = (angular.isDefined(opts.animation)) ? !!opts.animation : _animation; // values: true,false return _opts; }; // end _setOpts /** * Use Backdrop - * + * * Sets the use of the modal backdrop. Either to have one or not and - * whether or not it responds to mouse clicks ('static' sets the + * whether or not it responds to mouse clicks ('static' sets the * backdrop to true and does not respond to mouse clicks). * * @param val mixed (true, false, 'static') @@ -217,7 +226,7 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) /** * Use ESC Close - * + * * Sets the use of the ESC (escape) key to close modal windows. * * @param val boolean @@ -241,7 +250,7 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) /** * Use Copy - * + * * Determines the use of angular.copy when sending data to the modal controller. * * @param val boolean @@ -266,7 +275,7 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) /** * Set Size * - * Sets the modal size to use (sm,lg,md), requires Angular-ui-Bootstrap 0.11.0 and Bootstrap 3.1.0 + + * Sets the modal size to use (sm,lg,md) * * @param val string (sm,lg,md) */ @@ -275,6 +284,15 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) _wSize = (angular.equals(val,'sm') || angular.equals(val,'lg') || angular.equals(val,'md')) ? val : _wSize; }; // end setSize + /** + * Use Animations + * + * Sets the use of animations to true + */ + this.useAnimation = function(){ + _animation = true; + }; // end useAnimation + /** * Use Font-Awesome. * @@ -286,8 +304,8 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) }; // end useFontAwesome - this.$get = ['$modal',function ($modal){ - + this.$get = ['$uibModal',function ($uibModal){ + return { /** * Error Dialog @@ -299,13 +317,15 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) error : function(header,msg,opts){ opts = _setOpts(opts); - return $modal.open({ + return $uibModal.open({ templateUrl : '/dialogs/error.html', controller : 'errorDialogCtrl', backdrop: opts.bd, + backdropClass: opts.bdc, keyboard: opts.kb, windowClass: opts.wc, size: opts.ws, + animation: opts.anim, resolve : { data : function(){ return { @@ -317,7 +337,7 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) } }); // end modal.open }, // end error - + /** * Wait Dialog * @@ -329,13 +349,15 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) wait : function(header,msg,progress,opts){ opts = _setOpts(opts); - return $modal.open({ + return $uibModal.open({ templateUrl : '/dialogs/wait.html', controller : 'waitDialogCtrl', backdrop: opts.bd, + backdropClass: opts.bdc, keyboard: opts.kb, windowClass: opts.wc, size: opts.ws, + animation: opts.anim, resolve : { data : function(){ return { @@ -348,7 +370,7 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) } }); // end modal.open }, // end wait - + /** * Notify Dialog * @@ -359,13 +381,15 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) notify : function(header,msg,opts){ opts = _setOpts(opts); - return $modal.open({ + return $uibModal.open({ templateUrl : '/dialogs/notify.html', controller : 'notifyDialogCtrl', backdrop: opts.bd, + backdropClass: opts.bdc, keyboard: opts.kb, windowClass: opts.wc, size: opts.ws, + animation: opts.anim, resolve : { data : function(){ return { @@ -377,7 +401,7 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) } }); // end modal.open }, // end notify - + /** * Confirm Dialog * @@ -388,13 +412,15 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) confirm : function(header,msg,opts){ opts = _setOpts(opts); - return $modal.open({ + return $uibModal.open({ templateUrl : '/dialogs/confirm.html', controller : 'confirmDialogCtrl', backdrop: opts.bd, + backdropClass: opts.bdc, keyboard: opts.kb, windowClass: opts.wc, size: opts.ws, + animation: opts.anim, resolve : { data : function(){ return { @@ -406,7 +432,7 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) } }); // end modal.open }, // end confirm - + /** * Create Custom Dialog * @@ -415,19 +441,22 @@ angular.module('dialogs.services',['ui.bootstrap.modal','dialogs.controllers']) * @param data object * @param opts object */ - create : function(url,ctrlr,data,opts){ + create : function(url,ctrlr,data,opts,ctrlAs){ var copy = (opts && angular.isDefined(opts.copy)) ? opts.copy : _copy; opts = _setOpts(opts); - return $modal.open({ + return $uibModal.open({ templateUrl : url, controller : ctrlr, + controllerAs : ctrlAs, keyboard : opts.kb, backdrop : opts.bd, + backdropClass: opts.bdc, windowClass: opts.wc, size: opts.ws, + animation: opts.anim, resolve : { - data : function() { + data : function() { if(copy) return angular.copy(data); else @@ -499,7 +528,7 @@ angular.module('dialogs.main',['dialogs.services','ngSanitize']) // requires ang if(!_sheets[i].disabled){ // check href of style sheet first if(_sheets[i].href !== null) - _matches = _sheets[i].match(/font\-*awesome/i); + _matches = _sheets[i].href.match(/font\-*awesome/i); if(angular.isArray(_matches)){ dialogsProvider.useFontAwesome(); @@ -508,7 +537,7 @@ angular.module('dialogs.main',['dialogs.services','ngSanitize']) // requires ang // try to find css rule .fa, in case style sheet has been concatenated _rules = _sheets[i].cssRules; for(var x = (_rules.length - 1);x >= 0;x--){ - if(_rules[x].selectorText.toLowerCase() == '.fa'){ + if(typeof(_rules[x].selectorText) === 'string' && _rules[x].selectorText.toLowerCase() === '.fa'){ dialogsProvider.useFontAwesome(); break sheetLoop; // done, exit both for loops } @@ -516,19 +545,6 @@ angular.module('dialogs.main',['dialogs.services','ngSanitize']) // requires ang } } // end if(disabled) } // end for - - /* Removed in favor of above, will delete this permanently after more testing - angular.forEach(_sheets,function(_sheet,key){ - var _matches = null; - if(!angular.equals(_sheet.href,null)) - _matches = _sheet.href.match(/font\-*awesome/); - - if(!_sheet.disabled && angular.isArray(_matches)){ - // console.log('Dialogs: Using Font-Awesome Icons'); - dialogsProvider.useFontAwesome(); - } - }); - */ }catch(err){ // console.log('Error Message: ' + err); } @@ -546,4 +562,5 @@ angular.module('dialogs.main',['dialogs.services','ngSanitize']) // requires ang $templateCache.put('/dialogs/notify.html',''); $templateCache.put('/dialogs/confirm.html',''); }]); // end run / dialogs.main + })(); \ No newline at end of file diff --git a/src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.js b/src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.js deleted file mode 100644 index ff66da32..00000000 --- a/src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.js +++ /dev/null @@ -1,3677 +0,0 @@ -/* - * angular-ui-bootstrap - * http://angular-ui.github.io/bootstrap/ - - * Version: 0.10.0 - 2014-01-13 - * 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.position","ui.bootstrap.datepicker","ui.bootstrap.dropdownToggle","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/popup.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', - '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, $timeout) { - - return { - link: function (scope, element, attrs) { - - var initialAnimSkip = true; - var currentTransition; - - function doTransition(change) { - var newTransition = $transition(element, change); - if (currentTransition) { - currentTransition.cancel(); - } - currentTransition = newTransition; - newTransition.then(newTransitionDone, newTransitionDone); - return newTransition; - - function newTransitionDone() { - // Make sure it's this transition, otherwise, leave it alone. - if (currentTransition === newTransition) { - currentTransition = undefined; - } - } - } - - function expand() { - if (initialAnimSkip) { - initialAnimSkip = false; - expandDone(); - } else { - element.removeClass('collapse').addClass('collapsing'); - doTransition({ height: element[0].scrollHeight + 'px' }).then(expandDone); - } - } - - function expandDone() { - element.removeClass('collapsing'); - element.addClass('collapse in'); - element.css({height: 'auto'}); - } - - function collapse() { - if (initialAnimSkip) { - initialAnimSkip = false; - collapseDone(); - element.css({height: 0}); - } else { - // CSS transitions don't work with height: auto, so we have to manually change the height to a specific value - element.css({ height: element[0].scrollHeight + 'px' }); - //trigger reflow so a browser realizes that height was updated from auto to a specific value - var x = element[0].offsetWidth; - - element.removeClass('collapse in').addClass('collapsing'); - - doTransition({ height: 0 }).then(collapseDone); - } - } - - function collapseDone() { - element.removeClass('collapsing'); - element.addClass('collapse'); - } - - scope.$watch(attrs.collapse, function (shouldCollapse) { - if (shouldCollapse) { - collapse(); - } else { - expand(); - } - }); - } - }; - }]); - -angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse']) - -.constant('accordionConfig', { - closeOthers: true -}) - -.controller('AccordionController', ['$scope', '$attrs', 'accordionConfig', function ($scope, $attrs, accordionConfig) { - - // This array keeps track of the accordion groups - this.groups = []; - - // Ensure that all the groups in this accordion are closed, unless close-others explicitly says not to - this.closeOthers = function(openGroup) { - var closeOthers = angular.isDefined($attrs.closeOthers) ? $scope.$eval($attrs.closeOthers) : accordionConfig.closeOthers; - if ( closeOthers ) { - angular.forEach(this.groups, function (group) { - if ( group !== openGroup ) { - group.isOpen = false; - } - }); - } - }; - - // This is called from the accordion-group directive to add itself to the accordion - this.addGroup = function(groupScope) { - var that = this; - this.groups.push(groupScope); - - groupScope.$on('$destroy', function (event) { - that.removeGroup(groupScope); - }); - }; - - // This is called from the accordion-group directive when to remove itself - this.removeGroup = function(group) { - var index = this.groups.indexOf(group); - if ( index !== -1 ) { - this.groups.splice(this.groups.indexOf(group), 1); - } - }; - -}]) - -// The accordion directive simply sets up the directive controller -// and adds an accordion CSS class to itself element. -.directive('accordion', function () { - return { - restrict:'EA', - controller:'AccordionController', - transclude: true, - replace: false, - templateUrl: 'template/accordion/accordion.html' - }; -}) - -// The accordion-group directive indicates a block of html that will expand and collapse in an accordion -.directive('accordionGroup', ['$parse', function($parse) { - return { - require:'^accordion', // We need this directive to be inside an accordion - restrict:'EA', - transclude:true, // It transcludes the contents of the directive into the template - replace: true, // The element containing the directive will be replaced with the template - templateUrl:'template/accordion/accordion-group.html', - scope:{ heading:'@' }, // Create an isolated scope and interpolate the heading attribute onto this scope - controller: function() { - this.setHeading = function(element) { - this.heading = element; - }; - }, - link: function(scope, element, attrs, accordionCtrl) { - var getIsOpen, setIsOpen; - - accordionCtrl.addGroup(scope); - - scope.isOpen = false; - - if ( attrs.isOpen ) { - getIsOpen = $parse(attrs.isOpen); - setIsOpen = getIsOpen.assign; - - scope.$parent.$watch(getIsOpen, function(value) { - scope.isOpen = !!value; - }); - } - - scope.$watch('isOpen', function(value) { - if ( value ) { - accordionCtrl.closeOthers(scope); - } - if ( setIsOpen ) { - setIsOpen(scope.$parent, value); - } - }); - } - }; -}]) - -// Use accordion-heading below an accordion-group to provide a heading containing HTML -// -// Heading containing HTML - -// -.directive('accordionHeading', function() { - return { - restrict: 'EA', - transclude: true, // Grab the contents to be used as the heading - template: '', // In effect remove this element! - replace: true, - require: '^accordionGroup', - compile: function(element, attr, transclude) { - return function link(scope, element, attr, accordionGroupCtrl) { - // Pass the heading to the accordion-group controller - // so that it can be transcluded into the right place in the template - // [The second parameter to transclude causes the elements to be cloned so that they work in ng-repeat] - accordionGroupCtrl.setHeading(transclude(scope, function() {})); - }; - } - }; -}) - -// Use in the accordion-group template to indicate where you want the heading to be transcluded -// You must provide the property on the accordion-group controller that will hold the transcluded element -//
-// -// ... -//
-.directive('accordionTransclude', function() { - return { - require: '^accordionGroup', - link: function(scope, element, attr, controller) { - scope.$watch(function() { return controller[attr.accordionTransclude]; }, function(heading) { - if ( heading ) { - element.html(''); - element.append(heading); - } - }); - } - }; -}); - -angular.module("ui.bootstrap.alert", []) - -.controller('AlertController', ['$scope', '$attrs', function ($scope, $attrs) { - $scope.closeable = 'close' in $attrs; -}]) - -.directive('alert', function () { - return { - restrict:'EA', - controller:'AlertController', - templateUrl:'template/alert/alert.html', - transclude:true, - replace:true, - scope: { - type: '=', - close: '&' - } - }; -}); - -angular.module('ui.bootstrap.bindHtml', []) - - .directive('bindHtmlUnsafe', function () { - return function (scope, element, attr) { - element.addClass('ng-binding').data('$binding', attr.bindHtmlUnsafe); - scope.$watch(attr.bindHtmlUnsafe, function bindHtmlUnsafeWatchAction(value) { - element.html(value || ''); - }); - }; - }); -angular.module('ui.bootstrap.buttons', []) - -.constant('buttonConfig', { - activeClass: 'active', - toggleEvent: 'click' -}) - -.controller('ButtonsController', ['buttonConfig', function(buttonConfig) { - this.activeClass = buttonConfig.activeClass || 'active'; - this.toggleEvent = buttonConfig.toggleEvent || 'click'; -}]) - -.directive('btnRadio', function () { - return { - require: ['btnRadio', 'ngModel'], - controller: 'ButtonsController', - link: function (scope, element, attrs, ctrls) { - var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1]; - - //model -> UI - ngModelCtrl.$render = function () { - element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, scope.$eval(attrs.btnRadio))); - }; - - //ui->model - element.bind(buttonsCtrl.toggleEvent, function () { - if (!element.hasClass(buttonsCtrl.activeClass)) { - scope.$apply(function () { - ngModelCtrl.$setViewValue(scope.$eval(attrs.btnRadio)); - ngModelCtrl.$render(); - }); - } - }); - } - }; -}) - -.directive('btnCheckbox', function () { - return { - require: ['btnCheckbox', 'ngModel'], - controller: 'ButtonsController', - link: function (scope, element, attrs, ctrls) { - var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1]; - - function getTrueValue() { - return getCheckboxValue(attrs.btnCheckboxTrue, true); - } - - function getFalseValue() { - return getCheckboxValue(attrs.btnCheckboxFalse, false); - } - - function getCheckboxValue(attributeValue, defaultValue) { - var val = scope.$eval(attributeValue); - return angular.isDefined(val) ? val : defaultValue; - } - - //model -> UI - ngModelCtrl.$render = function () { - element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, getTrueValue())); - }; - - //ui->model - element.bind(buttonsCtrl.toggleEvent, function () { - scope.$apply(function () { - ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseValue() : getTrueValue()); - ngModelCtrl.$render(); - }); - }); - } - }; -}); - -/** -* @ngdoc overview -* @name ui.bootstrap.carousel -* -* @description -* AngularJS version of an image carousel. -* -*/ -angular.module('ui.bootstrap.carousel', ['ui.bootstrap.transition']) -.controller('CarouselController', ['$scope', '$timeout', '$transition', '$q', function ($scope, $timeout, $transition, $q) { - var self = this, - slides = self.slides = [], - currentIndex = -1, - currentTimeout, isPlaying; - self.currentSlide = null; - - var destroyed = false; - /* direction: "prev" or "next" */ - self.select = function(nextSlide, direction) { - var nextIndex = slides.indexOf(nextSlide); - //Decide direction if it's not given - if (direction === undefined) { - direction = nextIndex > currentIndex ? "next" : "prev"; - } - if (nextSlide && nextSlide !== self.currentSlide) { - if ($scope.$currentTransition) { - $scope.$currentTransition.cancel(); - //Timeout so ng-class in template has time to fix classes for finished slide - $timeout(goNext); - } else { - goNext(); - } - } - function goNext() { - // Scope has been destroyed, stop here. - if (destroyed) { return; } - //If we have a slide to transition from and we have a transition type and we're allowed, go - if (self.currentSlide && angular.isString(direction) && !$scope.noTransition && nextSlide.$element) { - //We shouldn't do class manip in here, but it's the same weird thing bootstrap does. need to fix sometime - nextSlide.$element.addClass(direction); - var reflow = nextSlide.$element[0].offsetWidth; //force reflow - - //Set all other slides to stop doing their stuff for the new transition - angular.forEach(slides, function(slide) { - angular.extend(slide, {direction: '', entering: false, leaving: false, active: false}); - }); - angular.extend(nextSlide, {direction: direction, active: true, entering: true}); - angular.extend(self.currentSlide||{}, {direction: direction, leaving: true}); - - $scope.$currentTransition = $transition(nextSlide.$element, {}); - //We have to create new pointers inside a closure since next & current will change - (function(next,current) { - $scope.$currentTransition.then( - function(){ transitionDone(next, current); }, - function(){ transitionDone(next, current); } - ); - }(nextSlide, self.currentSlide)); - } else { - transitionDone(nextSlide, self.currentSlide); - } - self.currentSlide = nextSlide; - currentIndex = nextIndex; - //every time you change slides, reset the timer - restartTimer(); - } - function transitionDone(next, current) { - angular.extend(next, {direction: '', active: true, leaving: false, entering: false}); - angular.extend(current||{}, {direction: '', active: false, leaving: false, entering: false}); - $scope.$currentTransition = null; - } - }; - $scope.$on('$destroy', function () { - destroyed = true; - }); - - /* Allow outside people to call indexOf on slides array */ - self.indexOfSlide = function(slide) { - return slides.indexOf(slide); - }; - - $scope.next = function() { - var newIndex = (currentIndex + 1) % slides.length; - - //Prevent this user-triggered transition from occurring if there is already one in progress - if (!$scope.$currentTransition) { - return self.select(slides[newIndex], 'next'); - } - }; - - $scope.prev = function() { - var newIndex = currentIndex - 1 < 0 ? slides.length - 1 : currentIndex - 1; - - //Prevent this user-triggered transition from occurring if there is already one in progress - if (!$scope.$currentTransition) { - return self.select(slides[newIndex], 'prev'); - } - }; - - $scope.select = function(slide) { - self.select(slide); - }; - - $scope.isActive = function(slide) { - return self.currentSlide === slide; - }; - - $scope.slides = function() { - return slides; - }; - - $scope.$watch('interval', restartTimer); - $scope.$on('$destroy', resetTimer); - - function restartTimer() { - resetTimer(); - var interval = +$scope.interval; - if (!isNaN(interval) && interval>=0) { - currentTimeout = $timeout(timerFn, interval); - } - } - - function resetTimer() { - if (currentTimeout) { - $timeout.cancel(currentTimeout); - currentTimeout = null; - } - } - - function timerFn() { - if (isPlaying) { - $scope.next(); - restartTimer(); - } else { - $scope.pause(); - } - } - - $scope.play = function() { - if (!isPlaying) { - isPlaying = true; - restartTimer(); - } - }; - $scope.pause = function() { - if (!$scope.noPause) { - isPlaying = false; - resetTimer(); - } - }; - - self.addSlide = function(slide, element) { - slide.$element = element; - slides.push(slide); - //if this is the first slide or the slide is set to active, select it - if(slides.length === 1 || slide.active) { - self.select(slides[slides.length-1]); - if (slides.length == 1) { - $scope.play(); - } - } else { - slide.active = false; - } - }; - - self.removeSlide = function(slide) { - //get the index of the slide inside the carousel - var index = slides.indexOf(slide); - slides.splice(index, 1); - if (slides.length > 0 && slide.active) { - if (index >= slides.length) { - self.select(slides[index-1]); - } else { - self.select(slides[index]); - } - } else if (currentIndex > index) { - currentIndex--; - } - }; - -}]) - -/** - * @ngdoc directive - * @name ui.bootstrap.carousel.directive:carousel - * @restrict EA - * - * @description - * Carousel is the outer container for a set of image 'slides' to showcase. - * - * @param {number=} interval The time, in milliseconds, that it will take the carousel to go to the next slide. - * @param {boolean=} noTransition Whether to disable transitions on the carousel. - * @param {boolean=} noPause Whether to disable pausing on the carousel (by default, the carousel interval pauses on hover). - * - * @example - - - - - - - - - - - - - - - .carousel-indicators { - top: auto; - bottom: 15px; - } - - - */ -.directive('carousel', [function() { - return { - restrict: 'EA', - transclude: true, - replace: true, - controller: 'CarouselController', - require: 'carousel', - templateUrl: 'template/carousel/carousel.html', - scope: { - interval: '=', - noTransition: '=', - noPause: '=' - } - }; -}]) - -/** - * @ngdoc directive - * @name ui.bootstrap.carousel.directive:slide - * @restrict EA - * - * @description - * Creates a slide inside a {@link ui.bootstrap.carousel.directive:carousel carousel}. Must be placed as a child of a carousel element. - * - * @param {boolean=} active Model binding, whether or not this slide is currently active. - * - * @example - - -
- - - - - - -
-
-
    -
  • - - {{$index}}: {{slide.text}} -
  • -
- Add Slide -
-
- Interval, in milliseconds: -
Enter a negative number to stop the interval. -
-
-
-
- -function CarouselDemoCtrl($scope) { - $scope.myInterval = 5000; - var slides = $scope.slides = []; - $scope.addSlide = function() { - var newWidth = 200 + ((slides.length + (25 * slides.length)) % 150); - slides.push({ - image: 'http://placekitten.com/' + newWidth + '/200', - text: ['More','Extra','Lots of','Surplus'][slides.length % 4] + ' ' - ['Cats', 'Kittys', 'Felines', 'Cutes'][slides.length % 4] - }); - }; - for (var i=0; i<4; i++) $scope.addSlide(); -} - - - .carousel-indicators { - top: auto; - bottom: 15px; - } - -
-*/ - -.directive('slide', ['$parse', function($parse) { - return { - require: '^carousel', - restrict: 'EA', - transclude: true, - replace: true, - templateUrl: 'template/carousel/slide.html', - scope: { - }, - link: function (scope, element, attrs, carouselCtrl) { - //Set up optional 'active' = binding - if (attrs.active) { - var getActive = $parse(attrs.active); - var setActive = getActive.assign; - var lastValue = scope.active = getActive(scope.$parent); - scope.$watch(function parentActiveWatch() { - var parentActive = getActive(scope.$parent); - - if (parentActive !== scope.active) { - // we are out of sync and need to copy - if (parentActive !== lastValue) { - // parent changed and it has precedence - lastValue = scope.active = parentActive; - } else { - // if the parent can be assigned then do so - setActive(scope.$parent, parentActive = lastValue = scope.active); - } - } - return parentActive; - }); - } - - carouselCtrl.addSlide(scope, element); - //when the scope is destroyed then remove the slide from the current slides array - scope.$on('$destroy', function() { - carouselCtrl.removeSlide(scope); - }); - - scope.$watch('active', function(active) { - if (active) { - carouselCtrl.select(scope); - } - }); - } - }; -}]); - -angular.module('ui.bootstrap.position', []) - -/** - * A set of utility methods that can be use to retrieve position of DOM elements. - * It is meant to be used where we need to absolute-position DOM elements in - * relation to other, existing elements (this is the case for tooltips, popovers, - * typeahead suggestions etc.). - */ - .factory('$position', ['$document', '$window', function ($document, $window) { - - function getStyle(el, cssprop) { - if (el.currentStyle) { //IE - return el.currentStyle[cssprop]; - } else if ($window.getComputedStyle) { - return $window.getComputedStyle(el)[cssprop]; - } - // finally try and get inline style - return el.style[cssprop]; - } - - /** - * Checks if a given element is statically positioned - * @param element - raw DOM element - */ - function isStaticPositioned(element) { - return (getStyle(element, "position") || 'static' ) === 'static'; - } - - /** - * returns the closest, non-statically positioned parentOffset of a given element - * @param element - */ - var parentOffsetEl = function (element) { - var docDomEl = $document[0]; - var offsetParent = element.offsetParent || docDomEl; - while (offsetParent && offsetParent !== docDomEl && isStaticPositioned(offsetParent) ) { - offsetParent = offsetParent.offsetParent; - } - return offsetParent || docDomEl; - }; - - return { - /** - * Provides read-only equivalent of jQuery's position function: - * http://api.jquery.com/position/ - */ - position: function (element) { - var elBCR = this.offset(element); - var offsetParentBCR = { top: 0, left: 0 }; - var offsetParentEl = parentOffsetEl(element[0]); - if (offsetParentEl != $document[0]) { - offsetParentBCR = this.offset(angular.element(offsetParentEl)); - offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop; - offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft; - } - - var boundingClientRect = element[0].getBoundingClientRect(); - return { - width: boundingClientRect.width || element.prop('offsetWidth'), - height: boundingClientRect.height || element.prop('offsetHeight'), - top: elBCR.top - offsetParentBCR.top, - left: elBCR.left - offsetParentBCR.left - }; - }, - - /** - * Provides read-only equivalent of jQuery's offset function: - * http://api.jquery.com/offset/ - */ - offset: function (element) { - var boundingClientRect = element[0].getBoundingClientRect(); - return { - width: boundingClientRect.width || element.prop('offsetWidth'), - height: boundingClientRect.height || element.prop('offsetHeight'), - top: boundingClientRect.top + ($window.pageYOffset || $document[0].body.scrollTop || $document[0].documentElement.scrollTop), - left: boundingClientRect.left + ($window.pageXOffset || $document[0].body.scrollLeft || $document[0].documentElement.scrollLeft) - }; - } - }; - }]); - -angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.position']) - -.constant('datepickerConfig', { - dayFormat: 'dd', - monthFormat: 'MMMM', - yearFormat: 'yyyy', - dayHeaderFormat: 'EEE', - dayTitleFormat: 'MMMM yyyy', - monthTitleFormat: 'yyyy', - showWeeks: true, - startingDay: 0, - yearRange: 20, - minDate: null, - maxDate: null -}) - -.controller('DatepickerController', ['$scope', '$attrs', 'dateFilter', 'datepickerConfig', function($scope, $attrs, dateFilter, dtConfig) { - var format = { - day: getValue($attrs.dayFormat, dtConfig.dayFormat), - month: getValue($attrs.monthFormat, dtConfig.monthFormat), - year: getValue($attrs.yearFormat, dtConfig.yearFormat), - dayHeader: getValue($attrs.dayHeaderFormat, dtConfig.dayHeaderFormat), - dayTitle: getValue($attrs.dayTitleFormat, dtConfig.dayTitleFormat), - monthTitle: getValue($attrs.monthTitleFormat, dtConfig.monthTitleFormat) - }, - startingDay = getValue($attrs.startingDay, dtConfig.startingDay), - yearRange = getValue($attrs.yearRange, dtConfig.yearRange); - - this.minDate = dtConfig.minDate ? new Date(dtConfig.minDate) : null; - this.maxDate = dtConfig.maxDate ? new Date(dtConfig.maxDate) : null; - - function getValue(value, defaultValue) { - return angular.isDefined(value) ? $scope.$parent.$eval(value) : defaultValue; - } - - function getDaysInMonth( year, month ) { - return new Date(year, month, 0).getDate(); - } - - function getDates(startDate, n) { - var dates = new Array(n); - var current = startDate, i = 0; - while (i < n) { - dates[i++] = new Date(current); - current.setDate( current.getDate() + 1 ); - } - return dates; - } - - function makeDate(date, format, isSelected, isSecondary) { - return { date: date, label: dateFilter(date, format), selected: !!isSelected, secondary: !!isSecondary }; - } - - this.modes = [ - { - name: 'day', - getVisibleDates: function(date, selected) { - var year = date.getFullYear(), month = date.getMonth(), firstDayOfMonth = new Date(year, month, 1); - var difference = startingDay - firstDayOfMonth.getDay(), - numDisplayedFromPreviousMonth = (difference > 0) ? 7 - difference : - difference, - firstDate = new Date(firstDayOfMonth), numDates = 0; - - if ( numDisplayedFromPreviousMonth > 0 ) { - firstDate.setDate( - numDisplayedFromPreviousMonth + 1 ); - numDates += numDisplayedFromPreviousMonth; // Previous - } - numDates += getDaysInMonth(year, month + 1); // Current - numDates += (7 - numDates % 7) % 7; // Next - - var days = getDates(firstDate, numDates), labels = new Array(7); - for (var i = 0; i < numDates; i ++) { - var dt = new Date(days[i]); - days[i] = makeDate(dt, format.day, (selected && selected.getDate() === dt.getDate() && selected.getMonth() === dt.getMonth() && selected.getFullYear() === dt.getFullYear()), dt.getMonth() !== month); - } - for (var j = 0; j < 7; j++) { - labels[j] = dateFilter(days[j].date, format.dayHeader); - } - return { objects: days, title: dateFilter(date, format.dayTitle), labels: labels }; - }, - compare: function(date1, date2) { - return (new Date( date1.getFullYear(), date1.getMonth(), date1.getDate() ) - new Date( date2.getFullYear(), date2.getMonth(), date2.getDate() ) ); - }, - split: 7, - step: { months: 1 } - }, - { - name: 'month', - getVisibleDates: function(date, selected) { - var months = new Array(12), year = date.getFullYear(); - for ( var i = 0; i < 12; i++ ) { - var dt = new Date(year, i, 1); - months[i] = makeDate(dt, format.month, (selected && selected.getMonth() === i && selected.getFullYear() === year)); - } - return { objects: months, title: dateFilter(date, format.monthTitle) }; - }, - compare: function(date1, date2) { - return new Date( date1.getFullYear(), date1.getMonth() ) - new Date( date2.getFullYear(), date2.getMonth() ); - }, - split: 3, - step: { years: 1 } - }, - { - name: 'year', - getVisibleDates: function(date, selected) { - var years = new Array(yearRange), year = date.getFullYear(), startYear = parseInt((year - 1) / yearRange, 10) * yearRange + 1; - for ( var i = 0; i < yearRange; i++ ) { - var dt = new Date(startYear + i, 0, 1); - years[i] = makeDate(dt, format.year, (selected && selected.getFullYear() === dt.getFullYear())); - } - return { objects: years, title: [years[0].label, years[yearRange - 1].label].join(' - ') }; - }, - compare: function(date1, date2) { - return date1.getFullYear() - date2.getFullYear(); - }, - split: 5, - step: { years: yearRange } - } - ]; - - this.isDisabled = function(date, mode) { - var currentMode = this.modes[mode || 0]; - return ((this.minDate && currentMode.compare(date, this.minDate) < 0) || (this.maxDate && currentMode.compare(date, this.maxDate) > 0) || ($scope.dateDisabled && $scope.dateDisabled({date: date, mode: currentMode.name}))); - }; -}]) - -.directive( 'datepicker', ['dateFilter', '$parse', 'datepickerConfig', '$log', function (dateFilter, $parse, datepickerConfig, $log) { - return { - restrict: 'EA', - replace: true, - templateUrl: 'template/datepicker/datepicker.html', - scope: { - dateDisabled: '&' - }, - require: ['datepicker', '?^ngModel'], - controller: 'DatepickerController', - link: function(scope, element, attrs, ctrls) { - var datepickerCtrl = ctrls[0], ngModel = ctrls[1]; - - if (!ngModel) { - return; // do nothing if no ng-model - } - - // Configuration parameters - var mode = 0, selected = new Date(), showWeeks = datepickerConfig.showWeeks; - - if (attrs.showWeeks) { - scope.$parent.$watch($parse(attrs.showWeeks), function(value) { - showWeeks = !! value; - updateShowWeekNumbers(); - }); - } else { - updateShowWeekNumbers(); - } - - if (attrs.min) { - scope.$parent.$watch($parse(attrs.min), function(value) { - datepickerCtrl.minDate = value ? new Date(value) : null; - refill(); - }); - } - if (attrs.max) { - scope.$parent.$watch($parse(attrs.max), function(value) { - datepickerCtrl.maxDate = value ? new Date(value) : null; - refill(); - }); - } - - function updateShowWeekNumbers() { - scope.showWeekNumbers = mode === 0 && showWeeks; - } - - // Split array into smaller arrays - function split(arr, size) { - var arrays = []; - while (arr.length > 0) { - arrays.push(arr.splice(0, size)); - } - return arrays; - } - - function refill( updateSelected ) { - var date = null, valid = true; - - if ( ngModel.$modelValue ) { - date = new Date( ngModel.$modelValue ); - - if ( isNaN(date) ) { - valid = false; - $log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'); - } else if ( updateSelected ) { - selected = date; - } - } - ngModel.$setValidity('date', valid); - - var currentMode = datepickerCtrl.modes[mode], data = currentMode.getVisibleDates(selected, date); - angular.forEach(data.objects, function(obj) { - obj.disabled = datepickerCtrl.isDisabled(obj.date, mode); - }); - - ngModel.$setValidity('date-disabled', (!date || !datepickerCtrl.isDisabled(date))); - - scope.rows = split(data.objects, currentMode.split); - scope.labels = data.labels || []; - scope.title = data.title; - } - - function setMode(value) { - mode = value; - updateShowWeekNumbers(); - refill(); - } - - ngModel.$render = function() { - refill( true ); - }; - - scope.select = function( date ) { - if ( mode === 0 ) { - var dt = ngModel.$modelValue ? new Date( ngModel.$modelValue ) : new Date(0, 0, 0, 0, 0, 0, 0); - dt.setFullYear( date.getFullYear(), date.getMonth(), date.getDate() ); - ngModel.$setViewValue( dt ); - refill( true ); - } else { - selected = date; - setMode( mode - 1 ); - } - }; - scope.move = function(direction) { - var step = datepickerCtrl.modes[mode].step; - selected.setMonth( selected.getMonth() + direction * (step.months || 0) ); - selected.setFullYear( selected.getFullYear() + direction * (step.years || 0) ); - refill(); - }; - scope.toggleMode = function() { - setMode( (mode + 1) % datepickerCtrl.modes.length ); - }; - scope.getWeekNumber = function(row) { - return ( mode === 0 && scope.showWeekNumbers && row.length === 7 ) ? getISO8601WeekNumber(row[0].date) : null; - }; - - function getISO8601WeekNumber(date) { - var checkDate = new Date(date); - checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); // Thursday - var time = checkDate.getTime(); - checkDate.setMonth(0); // Compare with Jan 1 - checkDate.setDate(1); - return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; - } - } - }; -}]) - -.constant('datepickerPopupConfig', { - dateFormat: 'yyyy-MM-dd', - currentText: 'Today', - toggleWeeksText: 'Weeks', - clearText: 'Clear', - closeText: 'Done', - closeOnDateSelection: true, - appendToBody: false, - showButtonBar: true -}) - -.directive('datepickerPopup', ['$compile', '$parse', '$document', '$position', 'dateFilter', 'datepickerPopupConfig', 'datepickerConfig', -function ($compile, $parse, $document, $position, dateFilter, datepickerPopupConfig, datepickerConfig) { - return { - restrict: 'EA', - require: 'ngModel', - link: function(originalScope, element, attrs, ngModel) { - var scope = originalScope.$new(), // create a child scope so we are not polluting original one - dateFormat, - closeOnDateSelection = angular.isDefined(attrs.closeOnDateSelection) ? originalScope.$eval(attrs.closeOnDateSelection) : datepickerPopupConfig.closeOnDateSelection, - appendToBody = angular.isDefined(attrs.datepickerAppendToBody) ? originalScope.$eval(attrs.datepickerAppendToBody) : datepickerPopupConfig.appendToBody; - - attrs.$observe('datepickerPopup', function(value) { - dateFormat = value || datepickerPopupConfig.dateFormat; - ngModel.$render(); - }); - - scope.showButtonBar = angular.isDefined(attrs.showButtonBar) ? originalScope.$eval(attrs.showButtonBar) : datepickerPopupConfig.showButtonBar; - - originalScope.$on('$destroy', function() { - $popup.remove(); - scope.$destroy(); - }); - - attrs.$observe('currentText', function(text) { - scope.currentText = angular.isDefined(text) ? text : datepickerPopupConfig.currentText; - }); - attrs.$observe('toggleWeeksText', function(text) { - scope.toggleWeeksText = angular.isDefined(text) ? text : datepickerPopupConfig.toggleWeeksText; - }); - attrs.$observe('clearText', function(text) { - scope.clearText = angular.isDefined(text) ? text : datepickerPopupConfig.clearText; - }); - attrs.$observe('closeText', function(text) { - scope.closeText = angular.isDefined(text) ? text : datepickerPopupConfig.closeText; - }); - - var getIsOpen, setIsOpen; - if ( attrs.isOpen ) { - getIsOpen = $parse(attrs.isOpen); - setIsOpen = getIsOpen.assign; - - originalScope.$watch(getIsOpen, function updateOpen(value) { - scope.isOpen = !! value; - }); - } - scope.isOpen = getIsOpen ? getIsOpen(originalScope) : false; // Initial state - - function setOpen( value ) { - if (setIsOpen) { - setIsOpen(originalScope, !!value); - } else { - scope.isOpen = !!value; - } - } - - var documentClickBind = function(event) { - if (scope.isOpen && event.target !== element[0]) { - scope.$apply(function() { - setOpen(false); - }); - } - }; - - var elementFocusBind = function() { - scope.$apply(function() { - setOpen( true ); - }); - }; - - // popup element used to display calendar - var popupEl = angular.element('
'); - popupEl.attr({ - 'ng-model': 'date', - 'ng-change': 'dateSelection()' - }); - var datepickerEl = angular.element(popupEl.children()[0]), - datepickerOptions = {}; - if (attrs.datepickerOptions) { - datepickerOptions = originalScope.$eval(attrs.datepickerOptions); - datepickerEl.attr(angular.extend({}, datepickerOptions)); - } - - // TODO: reverse from dateFilter string to Date object - function parseDate(viewValue) { - if (!viewValue) { - ngModel.$setValidity('date', true); - return null; - } else if (angular.isDate(viewValue)) { - ngModel.$setValidity('date', true); - return viewValue; - } else if (angular.isString(viewValue)) { - var date = new Date(viewValue); - if (isNaN(date)) { - ngModel.$setValidity('date', false); - return undefined; - } else { - ngModel.$setValidity('date', true); - return date; - } - } else { - ngModel.$setValidity('date', false); - return undefined; - } - } - ngModel.$parsers.unshift(parseDate); - - // Inner change - scope.dateSelection = function(dt) { - if (angular.isDefined(dt)) { - scope.date = dt; - } - ngModel.$setViewValue(scope.date); - ngModel.$render(); - - if (closeOnDateSelection) { - setOpen( false ); - } - }; - - element.bind('input change keyup', function() { - scope.$apply(function() { - scope.date = ngModel.$modelValue; - }); - }); - - // Outter change - ngModel.$render = function() { - var date = ngModel.$viewValue ? dateFilter(ngModel.$viewValue, dateFormat) : ''; - element.val(date); - scope.date = ngModel.$modelValue; - }; - - function addWatchableAttribute(attribute, scopeProperty, datepickerAttribute) { - if (attribute) { - originalScope.$watch($parse(attribute), function(value){ - scope[scopeProperty] = value; - }); - datepickerEl.attr(datepickerAttribute || scopeProperty, scopeProperty); - } - } - addWatchableAttribute(attrs.min, 'min'); - addWatchableAttribute(attrs.max, 'max'); - if (attrs.showWeeks) { - addWatchableAttribute(attrs.showWeeks, 'showWeeks', 'show-weeks'); - } else { - scope.showWeeks = 'show-weeks' in datepickerOptions ? datepickerOptions['show-weeks'] : datepickerConfig.showWeeks; - datepickerEl.attr('show-weeks', 'showWeeks'); - } - if (attrs.dateDisabled) { - datepickerEl.attr('date-disabled', attrs.dateDisabled); - } - - function updatePosition() { - scope.position = appendToBody ? $position.offset(element) : $position.position(element); - scope.position.top = scope.position.top + element.prop('offsetHeight'); - } - - var documentBindingInitialized = false, elementFocusInitialized = false; - scope.$watch('isOpen', function(value) { - if (value) { - updatePosition(); - $document.bind('click', documentClickBind); - if(elementFocusInitialized) { - element.unbind('focus', elementFocusBind); - } - element[0].focus(); - documentBindingInitialized = true; - } else { - if(documentBindingInitialized) { - $document.unbind('click', documentClickBind); - } - element.bind('focus', elementFocusBind); - elementFocusInitialized = true; - } - - if ( setIsOpen ) { - setIsOpen(originalScope, value); - } - }); - - scope.today = function() { - scope.dateSelection(new Date()); - }; - scope.clear = function() { - scope.dateSelection(null); - }; - - var $popup = $compile(popupEl)(scope); - if ( appendToBody ) { - $document.find('body').append($popup); - } else { - element.after($popup); - } - } - }; -}]) - -.directive('datepickerPopupWrap', function() { - return { - restrict:'EA', - replace: true, - transclude: true, - templateUrl: 'template/datepicker/popup.html', - link:function (scope, element, attrs) { - element.bind('click', function(event) { - event.preventDefault(); - event.stopPropagation(); - }); - } - }; -}); - -/* - * dropdownToggle - Provides dropdown menu functionality in place of bootstrap js - * @restrict class or attribute - * @example: - - */ - -angular.module('ui.bootstrap.dropdownToggle', []).directive('dropdownToggle', ['$document', '$location', function ($document, $location) { - var openElement = null, - closeMenu = angular.noop; - return { - restrict: 'CA', - link: function(scope, element, attrs) { - scope.$watch('$location.path', function() { closeMenu(); }); - element.parent().bind('click', function() { closeMenu(); }); - element.bind('click', function (event) { - - var elementWasOpen = (element === openElement); - - event.preventDefault(); - event.stopPropagation(); - - if (!!openElement) { - closeMenu(); - } - - if (!elementWasOpen && !element.hasClass('disabled') && !element.prop('disabled')) { - element.parent().addClass('open'); - openElement = element; - closeMenu = function (event) { - if (event) { - event.preventDefault(); - event.stopPropagation(); - } - $document.unbind('click', closeMenu); - element.parent().removeClass('open'); - closeMenu = angular.noop; - openElement = null; - }; - $document.bind('click', closeMenu); - } - }); - } - }; -}]); - -angular.module('ui.bootstrap.modal', ['ui.bootstrap.transition']) - -/** - * A helper, internal data structure that acts as a map but also allows getting / removing - * elements in the LIFO order - */ - .factory('$$stackedMap', function () { - return { - createNew: function () { - var stack = []; - - return { - add: function (key, value) { - stack.push({ - key: key, - value: value - }); - }, - get: function (key) { - for (var i = 0; i < stack.length; i++) { - if (key == stack[i].key) { - return stack[i]; - } - } - }, - keys: function() { - var keys = []; - for (var i = 0; i < stack.length; i++) { - keys.push(stack[i].key); - } - return keys; - }, - top: function () { - return stack[stack.length - 1]; - }, - remove: function (key) { - var idx = -1; - for (var i = 0; i < stack.length; i++) { - if (key == stack[i].key) { - idx = i; - break; - } - } - return stack.splice(idx, 1)[0]; - }, - removeTop: function () { - return stack.splice(stack.length - 1, 1)[0]; - }, - length: function () { - return stack.length; - } - }; - } - }; - }) - -/** - * A helper directive for the $modal service. It creates a backdrop element. - */ - .directive('modalBackdrop', ['$timeout', function ($timeout) { - return { - restrict: 'EA', - replace: true, - templateUrl: 'template/modal/backdrop.html', - link: function (scope) { - - scope.animate = false; - - //trigger CSS transitions - $timeout(function () { - scope.animate = true; - }); - } - }; - }]) - - .directive('modalWindow', ['$modalStack', '$timeout', function ($modalStack, $timeout) { - return { - restrict: 'EA', - scope: { - index: '@', - animate: '=' - }, - replace: true, - transclude: true, - templateUrl: 'template/modal/window.html', - link: function (scope, element, attrs) { - scope.windowClass = attrs.windowClass || ''; - - $timeout(function () { - // trigger CSS transitions - scope.animate = true; - // focus a freshly-opened modal - element[0].focus(); - }); - - scope.close = function (evt) { - var modal = $modalStack.getTop(); - if (modal && modal.value.backdrop && modal.value.backdrop != 'static' && (evt.target === evt.currentTarget)) { - evt.preventDefault(); - evt.stopPropagation(); - $modalStack.dismiss(modal.key, 'backdrop click'); - } - }; - } - }; - }]) - - .factory('$modalStack', ['$transition', '$timeout', '$document', '$compile', '$rootScope', '$$stackedMap', - function ($transition, $timeout, $document, $compile, $rootScope, $$stackedMap) { - - var OPENED_MODAL_CLASS = 'modal-open'; - - var backdropDomEl, backdropScope; - var openedWindows = $$stackedMap.createNew(); - var $modalStack = {}; - - function backdropIndex() { - var topBackdropIndex = -1; - var opened = openedWindows.keys(); - for (var i = 0; i < opened.length; i++) { - if (openedWindows.get(opened[i]).value.backdrop) { - topBackdropIndex = i; - } - } - return topBackdropIndex; - } - - $rootScope.$watch(backdropIndex, function(newBackdropIndex){ - if (backdropScope) { - backdropScope.index = newBackdropIndex; - } - }); - - function removeModalWindow(modalInstance) { - - var body = $document.find('body').eq(0); - var modalWindow = openedWindows.get(modalInstance).value; - - //clean up the stack - openedWindows.remove(modalInstance); - - //remove window DOM element - removeAfterAnimate(modalWindow.modalDomEl, modalWindow.modalScope, 300, checkRemoveBackdrop); - body.toggleClass(OPENED_MODAL_CLASS, openedWindows.length() > 0); - } - - function checkRemoveBackdrop() { - //remove backdrop if no longer needed - if (backdropDomEl && backdropIndex() == -1) { - var backdropScopeRef = backdropScope; - removeAfterAnimate(backdropDomEl, backdropScope, 150, function () { - backdropScopeRef.$destroy(); - backdropScopeRef = null; - }); - backdropDomEl = undefined; - backdropScope = undefined; - } - } - - function removeAfterAnimate(domEl, scope, emulateTime, done) { - // Closing animation - scope.animate = false; - - var transitionEndEventName = $transition.transitionEndEventName; - if (transitionEndEventName) { - // transition out - var timeout = $timeout(afterAnimating, emulateTime); - - domEl.bind(transitionEndEventName, function () { - $timeout.cancel(timeout); - afterAnimating(); - scope.$apply(); - }); - } else { - // Ensure this call is async - $timeout(afterAnimating, 0); - } - - function afterAnimating() { - if (afterAnimating.done) { - return; - } - afterAnimating.done = true; - - domEl.remove(); - if (done) { - done(); - } - } - } - - $document.bind('keydown', function (evt) { - var modal; - - if (evt.which === 27) { - modal = openedWindows.top(); - if (modal && modal.value.keyboard) { - $rootScope.$apply(function () { - $modalStack.dismiss(modal.key); - }); - } - } - }); - - $modalStack.open = function (modalInstance, modal) { - - openedWindows.add(modalInstance, { - deferred: modal.deferred, - modalScope: modal.scope, - backdrop: modal.backdrop, - keyboard: modal.keyboard - }); - - var body = $document.find('body').eq(0), - currBackdropIndex = backdropIndex(); - - if (currBackdropIndex >= 0 && !backdropDomEl) { - backdropScope = $rootScope.$new(true); - backdropScope.index = currBackdropIndex; - backdropDomEl = $compile('
')(backdropScope); - body.append(backdropDomEl); - } - - var angularDomEl = angular.element('
'); - angularDomEl.attr('window-class', modal.windowClass); - angularDomEl.attr('index', openedWindows.length() - 1); - angularDomEl.attr('animate', 'animate'); - angularDomEl.html(modal.content); - - var modalDomEl = $compile(angularDomEl)(modal.scope); - openedWindows.top().value.modalDomEl = modalDomEl; - body.append(modalDomEl); - body.addClass(OPENED_MODAL_CLASS); - }; - - $modalStack.close = function (modalInstance, result) { - var modalWindow = openedWindows.get(modalInstance).value; - if (modalWindow) { - modalWindow.deferred.resolve(result); - removeModalWindow(modalInstance); - } - }; - - $modalStack.dismiss = function (modalInstance, reason) { - var modalWindow = openedWindows.get(modalInstance).value; - if (modalWindow) { - modalWindow.deferred.reject(reason); - removeModalWindow(modalInstance); - } - }; - - $modalStack.dismissAll = function (reason) { - var topModal = this.getTop(); - while (topModal) { - this.dismiss(topModal.key, reason); - topModal = this.getTop(); - } - }; - - $modalStack.getTop = function () { - return openedWindows.top(); - }; - - return $modalStack; - }]) - - .provider('$modal', function () { - - var $modalProvider = { - options: { - backdrop: true, //can be also false or 'static' - keyboard: true - }, - $get: ['$injector', '$rootScope', '$q', '$http', '$templateCache', '$controller', '$modalStack', - function ($injector, $rootScope, $q, $http, $templateCache, $controller, $modalStack) { - - var $modal = {}; - - function getTemplatePromise(options) { - return options.template ? $q.when(options.template) : - $http.get(options.templateUrl, {cache: $templateCache}).then(function (result) { - return result.data; - }); - } - - function getResolvePromises(resolves) { - var promisesArr = []; - angular.forEach(resolves, function (value, key) { - if (angular.isFunction(value) || angular.isArray(value)) { - promisesArr.push($q.when($injector.invoke(value))); - } - }); - return promisesArr; - } - - $modal.open = function (modalOptions) { - - var modalResultDeferred = $q.defer(); - var modalOpenedDeferred = $q.defer(); - - //prepare an instance of a modal to be injected into controllers and returned to a caller - var modalInstance = { - result: modalResultDeferred.promise, - opened: modalOpenedDeferred.promise, - close: function (result) { - $modalStack.close(modalInstance, result); - }, - dismiss: function (reason) { - $modalStack.dismiss(modalInstance, reason); - } - }; - - //merge and clean up options - modalOptions = angular.extend({}, $modalProvider.options, modalOptions); - modalOptions.resolve = modalOptions.resolve || {}; - - //verify options - if (!modalOptions.template && !modalOptions.templateUrl) { - throw new Error('One of template or templateUrl options is required.'); - } - - var templateAndResolvePromise = - $q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve))); - - - templateAndResolvePromise.then(function resolveSuccess(tplAndVars) { - - var modalScope = (modalOptions.scope || $rootScope).$new(); - modalScope.$close = modalInstance.close; - modalScope.$dismiss = modalInstance.dismiss; - - var ctrlInstance, ctrlLocals = {}; - var resolveIter = 1; - - //controllers - if (modalOptions.controller) { - ctrlLocals.$scope = modalScope; - ctrlLocals.$modalInstance = modalInstance; - angular.forEach(modalOptions.resolve, function (value, key) { - ctrlLocals[key] = tplAndVars[resolveIter++]; - }); - - ctrlInstance = $controller(modalOptions.controller, ctrlLocals); - } - - $modalStack.open(modalInstance, { - scope: modalScope, - deferred: modalResultDeferred, - content: tplAndVars[0], - backdrop: modalOptions.backdrop, - keyboard: modalOptions.keyboard, - windowClass: modalOptions.windowClass - }); - - }, function resolveError(reason) { - modalResultDeferred.reject(reason); - }); - - templateAndResolvePromise.then(function () { - modalOpenedDeferred.resolve(true); - }, function () { - modalOpenedDeferred.reject(false); - }); - - return modalInstance; - }; - - return $modal; - }] - }; - - return $modalProvider; - }); - -angular.module('ui.bootstrap.pagination', []) - -.controller('PaginationController', ['$scope', '$attrs', '$parse', '$interpolate', function ($scope, $attrs, $parse, $interpolate) { - var self = this, - setNumPages = $attrs.numPages ? $parse($attrs.numPages).assign : angular.noop; - - this.init = function(defaultItemsPerPage) { - if ($attrs.itemsPerPage) { - $scope.$parent.$watch($parse($attrs.itemsPerPage), function(value) { - self.itemsPerPage = parseInt(value, 10); - $scope.totalPages = self.calculateTotalPages(); - }); - } else { - this.itemsPerPage = defaultItemsPerPage; - } - }; - - this.noPrevious = function() { - return this.page === 1; - }; - this.noNext = function() { - return this.page === $scope.totalPages; - }; - - this.isActive = function(page) { - return this.page === page; - }; - - this.calculateTotalPages = function() { - var totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil($scope.totalItems / this.itemsPerPage); - return Math.max(totalPages || 0, 1); - }; - - this.getAttributeValue = function(attribute, defaultValue, interpolate) { - return angular.isDefined(attribute) ? (interpolate ? $interpolate(attribute)($scope.$parent) : $scope.$parent.$eval(attribute)) : defaultValue; - }; - - this.render = function() { - this.page = parseInt($scope.page, 10) || 1; - if (this.page > 0 && this.page <= $scope.totalPages) { - $scope.pages = this.getPages(this.page, $scope.totalPages); - } - }; - - $scope.selectPage = function(page) { - if ( ! self.isActive(page) && page > 0 && page <= $scope.totalPages) { - $scope.page = page; - $scope.onSelectPage({ page: page }); - } - }; - - $scope.$watch('page', function() { - self.render(); - }); - - $scope.$watch('totalItems', function() { - $scope.totalPages = self.calculateTotalPages(); - }); - - $scope.$watch('totalPages', function(value) { - setNumPages($scope.$parent, value); // Readonly variable - - if ( self.page > value ) { - $scope.selectPage(value); - } else { - self.render(); - } - }); -}]) - -.constant('paginationConfig', { - itemsPerPage: 10, - boundaryLinks: false, - directionLinks: true, - firstText: 'First', - previousText: 'Previous', - nextText: 'Next', - lastText: 'Last', - rotate: true -}) - -.directive('pagination', ['$parse', 'paginationConfig', function($parse, config) { - return { - restrict: 'EA', - scope: { - page: '=', - totalItems: '=', - onSelectPage:' &' - }, - controller: 'PaginationController', - templateUrl: 'template/pagination/pagination.html', - replace: true, - link: function(scope, element, attrs, paginationCtrl) { - - // Setup configuration parameters - var maxSize, - boundaryLinks = paginationCtrl.getAttributeValue(attrs.boundaryLinks, config.boundaryLinks ), - directionLinks = paginationCtrl.getAttributeValue(attrs.directionLinks, config.directionLinks ), - firstText = paginationCtrl.getAttributeValue(attrs.firstText, config.firstText, true), - previousText = paginationCtrl.getAttributeValue(attrs.previousText, config.previousText, true), - nextText = paginationCtrl.getAttributeValue(attrs.nextText, config.nextText, true), - lastText = paginationCtrl.getAttributeValue(attrs.lastText, config.lastText, true), - rotate = paginationCtrl.getAttributeValue(attrs.rotate, config.rotate); - - paginationCtrl.init(config.itemsPerPage); - - if (attrs.maxSize) { - scope.$parent.$watch($parse(attrs.maxSize), function(value) { - maxSize = parseInt(value, 10); - paginationCtrl.render(); - }); - } - - // Create page object used in template - function makePage(number, text, isActive, isDisabled) { - return { - number: number, - text: text, - active: isActive, - disabled: isDisabled - }; - } - - paginationCtrl.getPages = function(currentPage, totalPages) { - var pages = []; - - // Default page limits - var startPage = 1, endPage = totalPages; - var isMaxSized = ( angular.isDefined(maxSize) && maxSize < totalPages ); - - // recompute if maxSize - if ( isMaxSized ) { - if ( rotate ) { - // Current page is displayed in the middle of the visible ones - startPage = Math.max(currentPage - Math.floor(maxSize/2), 1); - endPage = startPage + maxSize - 1; - - // Adjust if limit is exceeded - if (endPage > totalPages) { - endPage = totalPages; - startPage = endPage - maxSize + 1; - } - } else { - // Visible pages are paginated with maxSize - startPage = ((Math.ceil(currentPage / maxSize) - 1) * maxSize) + 1; - - // Adjust last page if limit is exceeded - endPage = Math.min(startPage + maxSize - 1, totalPages); - } - } - - // Add page number links - for (var number = startPage; number <= endPage; number++) { - var page = makePage(number, number, paginationCtrl.isActive(number), false); - pages.push(page); - } - - // Add links to move between page sets - if ( isMaxSized && ! rotate ) { - if ( startPage > 1 ) { - var previousPageSet = makePage(startPage - 1, '...', false, false); - pages.unshift(previousPageSet); - } - - if ( endPage < totalPages ) { - var nextPageSet = makePage(endPage + 1, '...', false, false); - pages.push(nextPageSet); - } - } - - // Add previous & next links - if (directionLinks) { - var previousPage = makePage(currentPage - 1, previousText, false, paginationCtrl.noPrevious()); - pages.unshift(previousPage); - - var nextPage = makePage(currentPage + 1, nextText, false, paginationCtrl.noNext()); - pages.push(nextPage); - } - - // Add first & last links - if (boundaryLinks) { - var firstPage = makePage(1, firstText, false, paginationCtrl.noPrevious()); - pages.unshift(firstPage); - - var lastPage = makePage(totalPages, lastText, false, paginationCtrl.noNext()); - pages.push(lastPage); - } - - return pages; - }; - } - }; -}]) - -.constant('pagerConfig', { - itemsPerPage: 10, - previousText: '« Previous', - nextText: 'Next »', - align: true -}) - -.directive('pager', ['pagerConfig', function(config) { - return { - restrict: 'EA', - scope: { - page: '=', - totalItems: '=', - onSelectPage:' &' - }, - controller: 'PaginationController', - templateUrl: 'template/pagination/pager.html', - replace: true, - link: function(scope, element, attrs, paginationCtrl) { - - // Setup configuration parameters - var previousText = paginationCtrl.getAttributeValue(attrs.previousText, config.previousText, true), - nextText = paginationCtrl.getAttributeValue(attrs.nextText, config.nextText, true), - align = paginationCtrl.getAttributeValue(attrs.align, config.align); - - paginationCtrl.init(config.itemsPerPage); - - // Create page object used in template - function makePage(number, text, isDisabled, isPrevious, isNext) { - return { - number: number, - text: text, - disabled: isDisabled, - previous: ( align && isPrevious ), - next: ( align && isNext ) - }; - } - - paginationCtrl.getPages = function(currentPage) { - return [ - makePage(currentPage - 1, previousText, paginationCtrl.noPrevious(), true, false), - makePage(currentPage + 1, nextText, paginationCtrl.noNext(), false, true) - ]; - }; - } - }; -}]); - -/** - * The following features are still outstanding: animation as a - * function, placement as a function, inside, support for more triggers than - * just mouse enter/leave, html tooltips, and selector delegation. - */ -angular.module( 'ui.bootstrap.tooltip', [ 'ui.bootstrap.position', 'ui.bootstrap.bindHtml' ] ) - -/** - * The $tooltip service creates tooltip- and popover-like directives as well as - * houses global options for them. - */ -.provider( '$tooltip', function () { - // The default options tooltip and popover. - var defaultOptions = { - placement: 'top', - animation: true, - popupDelay: 0 - }; - - // Default hide triggers for each show trigger - var triggerMap = { - 'mouseenter': 'mouseleave', - 'click': 'click', - 'focus': 'blur' - }; - - // The options specified to the provider globally. - var globalOptions = {}; - - /** - * `options({})` allows global configuration of all tooltips in the - * application. - * - * var app = angular.module( 'App', ['ui.bootstrap.tooltip'], function( $tooltipProvider ) { - * // place tooltips left instead of top by default - * $tooltipProvider.options( { placement: 'left' } ); - * }); - */ - this.options = function( value ) { - angular.extend( globalOptions, value ); - }; - - /** - * This allows you to extend the set of trigger mappings available. E.g.: - * - * $tooltipProvider.setTriggers( 'openTrigger': 'closeTrigger' ); - */ - this.setTriggers = function setTriggers ( triggers ) { - angular.extend( triggerMap, triggers ); - }; - - /** - * This is a helper function for translating camel-case to snake-case. - */ - function snake_case(name){ - var regexp = /[A-Z]/g; - var separator = '-'; - return name.replace(regexp, function(letter, pos) { - return (pos ? separator : '') + letter.toLowerCase(); - }); - } - - /** - * Returns the actual instance of the $tooltip service. - * TODO support multiple triggers - */ - this.$get = [ '$window', '$compile', '$timeout', '$parse', '$document', '$position', '$interpolate', function ( $window, $compile, $timeout, $parse, $document, $position, $interpolate ) { - return function $tooltip ( type, prefix, defaultTriggerShow ) { - var options = angular.extend( {}, defaultOptions, globalOptions ); - - /** - * Returns an object of show and hide triggers. - * - * If a trigger is supplied, - * it is used to show the tooltip; otherwise, it will use the `trigger` - * option passed to the `$tooltipProvider.options` method; else it will - * default to the trigger supplied to this directive factory. - * - * The hide trigger is based on the show trigger. If the `trigger` option - * was passed to the `$tooltipProvider.options` method, it will use the - * mapped trigger from `triggerMap` or the passed trigger if the map is - * undefined; otherwise, it uses the `triggerMap` value of the show - * trigger; else it will just use the show trigger. - */ - function getTriggers ( trigger ) { - var show = trigger || options.trigger || defaultTriggerShow; - var hide = triggerMap[show] || show; - return { - show: show, - hide: hide - }; - } - - var directiveName = snake_case( type ); - - var startSym = $interpolate.startSymbol(); - var endSym = $interpolate.endSymbol(); - var template = - '
'+ - '
'; - - return { - restrict: 'EA', - scope: true, - compile: function (tElem, tAttrs) { - var tooltipLinker = $compile( template ); - - return function link ( scope, element, attrs ) { - var tooltip; - var transitionTimeout; - var popupTimeout; - var appendToBody = angular.isDefined( options.appendToBody ) ? options.appendToBody : false; - var triggers = getTriggers( undefined ); - var hasRegisteredTriggers = false; - var hasEnableExp = angular.isDefined(attrs[prefix+'Enable']); - - var positionTooltip = function (){ - var position, - ttWidth, - ttHeight, - ttPosition; - // Get the position of the directive element. - position = appendToBody ? $position.offset( element ) : $position.position( element ); - - // Get the height and width of the tooltip so we can center it. - ttWidth = tooltip.prop( 'offsetWidth' ); - ttHeight = tooltip.prop( 'offsetHeight' ); - - // Calculate the tooltip's top and left coordinates to center it with - // this directive. - switch ( scope.tt_placement ) { - case 'right': - ttPosition = { - top: position.top + position.height / 2 - ttHeight / 2, - left: position.left + position.width - }; - break; - case 'bottom': - ttPosition = { - top: position.top + position.height, - left: position.left + position.width / 2 - ttWidth / 2 - }; - break; - case 'left': - ttPosition = { - top: position.top + position.height / 2 - ttHeight / 2, - left: position.left - ttWidth - }; - break; - default: - ttPosition = { - top: position.top - ttHeight, - left: position.left + position.width / 2 - ttWidth / 2 - }; - break; - } - - ttPosition.top += 'px'; - ttPosition.left += 'px'; - - // Now set the calculated positioning. - tooltip.css( ttPosition ); - - }; - - // By default, the tooltip is not open. - // TODO add ability to start tooltip opened - scope.tt_isOpen = false; - - function toggleTooltipBind () { - if ( ! scope.tt_isOpen ) { - showTooltipBind(); - } else { - hideTooltipBind(); - } - } - - // Show the tooltip with delay if specified, otherwise show it immediately - function showTooltipBind() { - if(hasEnableExp && !scope.$eval(attrs[prefix+'Enable'])) { - return; - } - if ( scope.tt_popupDelay ) { - popupTimeout = $timeout( show, scope.tt_popupDelay, false ); - popupTimeout.then(function(reposition){reposition();}); - } else { - show()(); - } - } - - function hideTooltipBind () { - scope.$apply(function () { - hide(); - }); - } - - // Show the tooltip popup element. - function show() { - - - // Don't show empty tooltips. - if ( ! scope.tt_content ) { - return angular.noop; - } - - createTooltip(); - - // If there is a pending remove transition, we must cancel it, lest the - // tooltip be mysteriously removed. - if ( transitionTimeout ) { - $timeout.cancel( transitionTimeout ); - } - - // Set the initial positioning. - tooltip.css({ top: 0, left: 0, display: 'block' }); - - // Now we add it to the DOM because need some info about it. But it's not - // visible yet anyway. - if ( appendToBody ) { - $document.find( 'body' ).append( tooltip ); - } else { - element.after( tooltip ); - } - - positionTooltip(); - - // And show the tooltip. - scope.tt_isOpen = true; - scope.$digest(); // digest required as $apply is not called - - // Return positioning function as promise callback for correct - // positioning after draw. - return positionTooltip; - } - - // Hide the tooltip popup element. - function hide() { - // First things first: we don't show it anymore. - scope.tt_isOpen = false; - - //if tooltip is going to be shown after delay, we must cancel this - $timeout.cancel( popupTimeout ); - - // And now we remove it from the DOM. However, if we have animation, we - // need to wait for it to expire beforehand. - // FIXME: this is a placeholder for a port of the transitions library. - if ( scope.tt_animation ) { - transitionTimeout = $timeout(removeTooltip, 500); - } else { - removeTooltip(); - } - } - - function createTooltip() { - // There can only be one tooltip element per directive shown at once. - if (tooltip) { - removeTooltip(); - } - tooltip = tooltipLinker(scope, function () {}); - - // Get contents rendered into the tooltip - scope.$digest(); - } - - function removeTooltip() { - if (tooltip) { - tooltip.remove(); - tooltip = null; - } - } - - /** - * Observe the relevant attributes. - */ - attrs.$observe( type, function ( val ) { - scope.tt_content = val; - - if (!val && scope.tt_isOpen ) { - hide(); - } - }); - - attrs.$observe( prefix+'Title', function ( val ) { - scope.tt_title = val; - }); - - attrs.$observe( prefix+'Placement', function ( val ) { - scope.tt_placement = angular.isDefined( val ) ? val : options.placement; - }); - - attrs.$observe( prefix+'PopupDelay', function ( val ) { - var delay = parseInt( val, 10 ); - scope.tt_popupDelay = ! isNaN(delay) ? delay : options.popupDelay; - }); - - var unregisterTriggers = function() { - if (hasRegisteredTriggers) { - element.unbind( triggers.show, showTooltipBind ); - element.unbind( triggers.hide, hideTooltipBind ); - } - }; - - attrs.$observe( prefix+'Trigger', function ( val ) { - unregisterTriggers(); - - triggers = getTriggers( val ); - - if ( triggers.show === triggers.hide ) { - element.bind( triggers.show, toggleTooltipBind ); - } else { - element.bind( triggers.show, showTooltipBind ); - element.bind( triggers.hide, hideTooltipBind ); - } - - hasRegisteredTriggers = true; - }); - - var animation = scope.$eval(attrs[prefix + 'Animation']); - scope.tt_animation = angular.isDefined(animation) ? !!animation : options.animation; - - attrs.$observe( prefix+'AppendToBody', function ( val ) { - appendToBody = angular.isDefined( val ) ? $parse( val )( scope ) : appendToBody; - }); - - // if a tooltip is attached to we need to remove it on - // location change as its parent scope will probably not be destroyed - // by the change. - if ( appendToBody ) { - scope.$on('$locationChangeSuccess', function closeTooltipOnLocationChangeSuccess () { - if ( scope.tt_isOpen ) { - hide(); - } - }); - } - - // Make sure tooltip is destroyed and removed. - scope.$on('$destroy', function onDestroyTooltip() { - $timeout.cancel( transitionTimeout ); - $timeout.cancel( popupTimeout ); - unregisterTriggers(); - removeTooltip(); - }); - }; - } - }; - }; - }]; -}) - -.directive( 'tooltipPopup', function () { - return { - restrict: 'EA', - replace: true, - scope: { content: '@', placement: '@', animation: '&', isOpen: '&' }, - templateUrl: 'template/tooltip/tooltip-popup.html' - }; -}) - -.directive( 'tooltip', [ '$tooltip', function ( $tooltip ) { - return $tooltip( 'tooltip', 'tooltip', 'mouseenter' ); -}]) - -.directive( 'tooltipHtmlUnsafePopup', function () { - return { - restrict: 'EA', - replace: true, - scope: { content: '@', placement: '@', animation: '&', isOpen: '&' }, - templateUrl: 'template/tooltip/tooltip-html-unsafe-popup.html' - }; -}) - -.directive( 'tooltipHtmlUnsafe', [ '$tooltip', function ( $tooltip ) { - return $tooltip( 'tooltipHtmlUnsafe', 'tooltip', 'mouseenter' ); -}]); - -/** - * The following features are still outstanding: popup delay, animation as a - * function, placement as a function, inside, support for more triggers than - * just mouse enter/leave, html popovers, and selector delegatation. - */ -angular.module( 'ui.bootstrap.popover', [ 'ui.bootstrap.tooltip' ] ) - -.directive( 'popoverPopup', function () { - return { - restrict: 'EA', - replace: true, - scope: { title: '@', content: '@', placement: '@', animation: '&', isOpen: '&' }, - templateUrl: 'template/popover/popover.html' - }; -}) - -.directive( 'popover', [ '$tooltip', function ( $tooltip ) { - return $tooltip( 'popover', 'popover', 'click' ); -}]); - -angular.module('ui.bootstrap.progressbar', ['ui.bootstrap.transition']) - -.constant('progressConfig', { - animate: true, - max: 100 -}) - -.controller('ProgressController', ['$scope', '$attrs', 'progressConfig', '$transition', function($scope, $attrs, progressConfig, $transition) { - var self = this, - bars = [], - max = angular.isDefined($attrs.max) ? $scope.$parent.$eval($attrs.max) : progressConfig.max, - animate = angular.isDefined($attrs.animate) ? $scope.$parent.$eval($attrs.animate) : progressConfig.animate; - - this.addBar = function(bar, element) { - var oldValue = 0, index = bar.$parent.$index; - if ( angular.isDefined(index) && bars[index] ) { - oldValue = bars[index].value; - } - bars.push(bar); - - this.update(element, bar.value, oldValue); - - bar.$watch('value', function(value, oldValue) { - if (value !== oldValue) { - self.update(element, value, oldValue); - } - }); - - bar.$on('$destroy', function() { - self.removeBar(bar); - }); - }; - - // Update bar element width - this.update = function(element, newValue, oldValue) { - var percent = this.getPercentage(newValue); - - if (animate) { - element.css('width', this.getPercentage(oldValue) + '%'); - $transition(element, {width: percent + '%'}); - } else { - element.css({'transition': 'none', 'width': percent + '%'}); - } - }; - - this.removeBar = function(bar) { - bars.splice(bars.indexOf(bar), 1); - }; - - this.getPercentage = function(value) { - return Math.round(100 * value / max); - }; -}]) - -.directive('progress', function() { - return { - restrict: 'EA', - replace: true, - transclude: true, - controller: 'ProgressController', - require: 'progress', - scope: {}, - template: '
' - //templateUrl: 'template/progressbar/progress.html' // Works in AngularJS 1.2 - }; -}) - -.directive('bar', function() { - return { - restrict: 'EA', - replace: true, - transclude: true, - require: '^progress', - scope: { - value: '=', - type: '@' - }, - templateUrl: 'template/progressbar/bar.html', - link: function(scope, element, attrs, progressCtrl) { - progressCtrl.addBar(scope, element); - } - }; -}) - -.directive('progressbar', function() { - return { - restrict: 'EA', - replace: true, - transclude: true, - controller: 'ProgressController', - scope: { - value: '=', - type: '@' - }, - templateUrl: 'template/progressbar/progressbar.html', - link: function(scope, element, attrs, progressCtrl) { - progressCtrl.addBar(scope, angular.element(element.children()[0])); - } - }; -}); -angular.module('ui.bootstrap.rating', []) - -.constant('ratingConfig', { - max: 5, - stateOn: null, - stateOff: null -}) - -.controller('RatingController', ['$scope', '$attrs', '$parse', 'ratingConfig', function($scope, $attrs, $parse, ratingConfig) { - - this.maxRange = angular.isDefined($attrs.max) ? $scope.$parent.$eval($attrs.max) : ratingConfig.max; - this.stateOn = angular.isDefined($attrs.stateOn) ? $scope.$parent.$eval($attrs.stateOn) : ratingConfig.stateOn; - this.stateOff = angular.isDefined($attrs.stateOff) ? $scope.$parent.$eval($attrs.stateOff) : ratingConfig.stateOff; - - this.createRateObjects = function(states) { - var defaultOptions = { - stateOn: this.stateOn, - stateOff: this.stateOff - }; - - for (var i = 0, n = states.length; i < n; i++) { - states[i] = angular.extend({ index: i }, defaultOptions, states[i]); - } - return states; - }; - - // Get objects used in template - $scope.range = angular.isDefined($attrs.ratingStates) ? this.createRateObjects(angular.copy($scope.$parent.$eval($attrs.ratingStates))): this.createRateObjects(new Array(this.maxRange)); - - $scope.rate = function(value) { - if ( $scope.value !== value && !$scope.readonly ) { - $scope.value = value; - } - }; - - $scope.enter = function(value) { - if ( ! $scope.readonly ) { - $scope.val = value; - } - $scope.onHover({value: value}); - }; - - $scope.reset = function() { - $scope.val = angular.copy($scope.value); - $scope.onLeave(); - }; - - $scope.$watch('value', function(value) { - $scope.val = value; - }); - - $scope.readonly = false; - if ($attrs.readonly) { - $scope.$parent.$watch($parse($attrs.readonly), function(value) { - $scope.readonly = !!value; - }); - } -}]) - -.directive('rating', function() { - return { - restrict: 'EA', - scope: { - value: '=', - onHover: '&', - onLeave: '&' - }, - controller: 'RatingController', - templateUrl: 'template/rating/rating.html', - replace: true - }; -}); - -/** - * @ngdoc overview - * @name ui.bootstrap.tabs - * - * @description - * AngularJS version of the tabs directive. - */ - -angular.module('ui.bootstrap.tabs', []) - -.controller('TabsetController', ['$scope', function TabsetCtrl($scope) { - var ctrl = this, - tabs = ctrl.tabs = $scope.tabs = []; - - ctrl.select = function(tab) { - angular.forEach(tabs, function(tab) { - tab.active = false; - }); - tab.active = true; - }; - - ctrl.addTab = function addTab(tab) { - tabs.push(tab); - if (tabs.length === 1 || tab.active) { - ctrl.select(tab); - } - }; - - ctrl.removeTab = function removeTab(tab) { - var index = tabs.indexOf(tab); - //Select a new tab if the tab to be removed is selected - if (tab.active && tabs.length > 1) { - //If this is the last tab, select the previous tab. else, the next tab. - var newActiveIndex = index == tabs.length - 1 ? index - 1 : index + 1; - ctrl.select(tabs[newActiveIndex]); - } - tabs.splice(index, 1); - }; -}]) - -/** - * @ngdoc directive - * @name ui.bootstrap.tabs.directive:tabset - * @restrict EA - * - * @description - * Tabset is the outer container for the tabs directive - * - * @param {boolean=} vertical Whether or not to use vertical styling for the tabs. - * @param {boolean=} justified Whether or not to use justified styling for the tabs. - * - * @example - - - - First Content! - Second Content! - -
- - First Vertical Content! - Second Vertical Content! - - - First Justified Content! - Second Justified Content! - -
-
- */ -.directive('tabset', function() { - return { - restrict: 'EA', - transclude: true, - replace: true, - scope: {}, - controller: 'TabsetController', - templateUrl: 'template/tabs/tabset.html', - link: function(scope, element, attrs) { - scope.vertical = angular.isDefined(attrs.vertical) ? scope.$parent.$eval(attrs.vertical) : false; - scope.justified = angular.isDefined(attrs.justified) ? scope.$parent.$eval(attrs.justified) : false; - scope.type = angular.isDefined(attrs.type) ? scope.$parent.$eval(attrs.type) : 'tabs'; - } - }; -}) - -/** - * @ngdoc directive - * @name ui.bootstrap.tabs.directive:tab - * @restrict EA - * - * @param {string=} heading The visible heading, or title, of the tab. Set HTML headings with {@link ui.bootstrap.tabs.directive:tabHeading tabHeading}. - * @param {string=} select An expression to evaluate when the tab is selected. - * @param {boolean=} active A binding, telling whether or not this tab is selected. - * @param {boolean=} disabled A binding, telling whether or not this tab is disabled. - * - * @description - * Creates a tab with a heading and content. Must be placed within a {@link ui.bootstrap.tabs.directive:tabset tabset}. - * - * @example - - -
- - -
- - First Tab - - Alert me! - Second Tab, with alert callback and html heading! - - - {{item.content}} - - -
-
- - function TabsDemoCtrl($scope) { - $scope.items = [ - { title:"Dynamic Title 1", content:"Dynamic Item 0" }, - { title:"Dynamic Title 2", content:"Dynamic Item 1", disabled: true } - ]; - - $scope.alertMe = function() { - setTimeout(function() { - alert("You've selected the alert tab!"); - }); - }; - }; - -
- */ - -/** - * @ngdoc directive - * @name ui.bootstrap.tabs.directive:tabHeading - * @restrict EA - * - * @description - * Creates an HTML heading for a {@link ui.bootstrap.tabs.directive:tab tab}. Must be placed as a child of a tab element. - * - * @example - - - - - HTML in my titles?! - And some content, too! - - - Icon heading?!? - That's right. - - - - - */ -.directive('tab', ['$parse', function($parse) { - return { - require: '^tabset', - restrict: 'EA', - replace: true, - templateUrl: 'template/tabs/tab.html', - transclude: true, - scope: { - heading: '@', - onSelect: '&select', //This callback is called in contentHeadingTransclude - //once it inserts the tab's content into the dom - onDeselect: '&deselect' - }, - controller: function() { - //Empty controller so other directives can require being 'under' a tab - }, - compile: function(elm, attrs, transclude) { - return function postLink(scope, elm, attrs, tabsetCtrl) { - var getActive, setActive; - if (attrs.active) { - getActive = $parse(attrs.active); - setActive = getActive.assign; - scope.$parent.$watch(getActive, function updateActive(value, oldVal) { - // Avoid re-initializing scope.active as it is already initialized - // below. (watcher is called async during init with value === - // oldVal) - if (value !== oldVal) { - scope.active = !!value; - } - }); - scope.active = getActive(scope.$parent); - } else { - setActive = getActive = angular.noop; - } - - scope.$watch('active', function(active) { - // Note this watcher also initializes and assigns scope.active to the - // attrs.active expression. - setActive(scope.$parent, active); - if (active) { - tabsetCtrl.select(scope); - scope.onSelect(); - } else { - scope.onDeselect(); - } - }); - - scope.disabled = false; - if ( attrs.disabled ) { - scope.$parent.$watch($parse(attrs.disabled), function(value) { - scope.disabled = !! value; - }); - } - - scope.select = function() { - if ( ! scope.disabled ) { - scope.active = true; - } - }; - - tabsetCtrl.addTab(scope); - scope.$on('$destroy', function() { - tabsetCtrl.removeTab(scope); - }); - - - //We need to transclude later, once the content container is ready. - //when this link happens, we're inside a tab heading. - scope.$transcludeFn = transclude; - }; - } - }; -}]) - -.directive('tabHeadingTransclude', [function() { - return { - restrict: 'A', - require: '^tab', - link: function(scope, elm, attrs, tabCtrl) { - scope.$watch('headingElement', function updateHeadingElement(heading) { - if (heading) { - elm.html(''); - elm.append(heading); - } - }); - } - }; -}]) - -.directive('tabContentTransclude', function() { - return { - restrict: 'A', - require: '^tabset', - link: function(scope, elm, attrs) { - var tab = scope.$eval(attrs.tabContentTransclude); - - //Now our tab is ready to be transcluded: both the tab heading area - //and the tab content area are loaded. Transclude 'em both. - tab.$transcludeFn(tab.$parent, function(contents) { - angular.forEach(contents, function(node) { - if (isTabHeading(node)) { - //Let tabHeadingTransclude know. - tab.headingElement = node; - } else { - elm.append(node); - } - }); - }); - } - }; - function isTabHeading(node) { - return node.tagName && ( - node.hasAttribute('tab-heading') || - node.hasAttribute('data-tab-heading') || - node.tagName.toLowerCase() === 'tab-heading' || - node.tagName.toLowerCase() === 'data-tab-heading' - ); - } -}) - -; - -angular.module('ui.bootstrap.timepicker', []) - -.constant('timepickerConfig', { - hourStep: 1, - minuteStep: 1, - showMeridian: true, - meridians: null, - readonlyInput: false, - mousewheel: true -}) - -.directive('timepicker', ['$parse', '$log', 'timepickerConfig', '$locale', function ($parse, $log, timepickerConfig, $locale) { - return { - restrict: 'EA', - require:'?^ngModel', - replace: true, - scope: {}, - templateUrl: 'template/timepicker/timepicker.html', - link: function(scope, element, attrs, ngModel) { - if ( !ngModel ) { - return; // do nothing if no ng-model - } - - var selected = new Date(), - meridians = angular.isDefined(attrs.meridians) ? scope.$parent.$eval(attrs.meridians) : timepickerConfig.meridians || $locale.DATETIME_FORMATS.AMPMS; - - var hourStep = timepickerConfig.hourStep; - if (attrs.hourStep) { - scope.$parent.$watch($parse(attrs.hourStep), function(value) { - hourStep = parseInt(value, 10); - }); - } - - var minuteStep = timepickerConfig.minuteStep; - if (attrs.minuteStep) { - scope.$parent.$watch($parse(attrs.minuteStep), function(value) { - minuteStep = parseInt(value, 10); - }); - } - - // 12H / 24H mode - scope.showMeridian = timepickerConfig.showMeridian; - if (attrs.showMeridian) { - scope.$parent.$watch($parse(attrs.showMeridian), function(value) { - scope.showMeridian = !!value; - - if ( ngModel.$error.time ) { - // Evaluate from template - var hours = getHoursFromTemplate(), minutes = getMinutesFromTemplate(); - if (angular.isDefined( hours ) && angular.isDefined( minutes )) { - selected.setHours( hours ); - refresh(); - } - } else { - updateTemplate(); - } - }); - } - - // Get scope.hours in 24H mode if valid - function getHoursFromTemplate ( ) { - var hours = parseInt( scope.hours, 10 ); - var valid = ( scope.showMeridian ) ? (hours > 0 && hours < 13) : (hours >= 0 && hours < 24); - if ( !valid ) { - return undefined; - } - - if ( scope.showMeridian ) { - if ( hours === 12 ) { - hours = 0; - } - if ( scope.meridian === meridians[1] ) { - hours = hours + 12; - } - } - return hours; - } - - function getMinutesFromTemplate() { - var minutes = parseInt(scope.minutes, 10); - return ( minutes >= 0 && minutes < 60 ) ? minutes : undefined; - } - - function pad( value ) { - return ( angular.isDefined(value) && value.toString().length < 2 ) ? '0' + value : value; - } - - // Input elements - var inputs = element.find('input'), hoursInputEl = inputs.eq(0), minutesInputEl = inputs.eq(1); - - // Respond on mousewheel spin - var mousewheel = (angular.isDefined(attrs.mousewheel)) ? scope.$eval(attrs.mousewheel) : timepickerConfig.mousewheel; - if ( mousewheel ) { - - var isScrollingUp = function(e) { - if (e.originalEvent) { - e = e.originalEvent; - } - //pick correct delta variable depending on event - var delta = (e.wheelDelta) ? e.wheelDelta : -e.deltaY; - return (e.detail || delta > 0); - }; - - hoursInputEl.bind('mousewheel wheel', function(e) { - scope.$apply( (isScrollingUp(e)) ? scope.incrementHours() : scope.decrementHours() ); - e.preventDefault(); - }); - - minutesInputEl.bind('mousewheel wheel', function(e) { - scope.$apply( (isScrollingUp(e)) ? scope.incrementMinutes() : scope.decrementMinutes() ); - e.preventDefault(); - }); - } - - scope.readonlyInput = (angular.isDefined(attrs.readonlyInput)) ? scope.$eval(attrs.readonlyInput) : timepickerConfig.readonlyInput; - if ( ! scope.readonlyInput ) { - - var invalidate = function(invalidHours, invalidMinutes) { - ngModel.$setViewValue( null ); - ngModel.$setValidity('time', false); - if (angular.isDefined(invalidHours)) { - scope.invalidHours = invalidHours; - } - if (angular.isDefined(invalidMinutes)) { - scope.invalidMinutes = invalidMinutes; - } - }; - - scope.updateHours = function() { - var hours = getHoursFromTemplate(); - - if ( angular.isDefined(hours) ) { - selected.setHours( hours ); - refresh( 'h' ); - } else { - invalidate(true); - } - }; - - hoursInputEl.bind('blur', function(e) { - if ( !scope.validHours && scope.hours < 10) { - scope.$apply( function() { - scope.hours = pad( scope.hours ); - }); - } - }); - - scope.updateMinutes = function() { - var minutes = getMinutesFromTemplate(); - - if ( angular.isDefined(minutes) ) { - selected.setMinutes( minutes ); - refresh( 'm' ); - } else { - invalidate(undefined, true); - } - }; - - minutesInputEl.bind('blur', function(e) { - if ( !scope.invalidMinutes && scope.minutes < 10 ) { - scope.$apply( function() { - scope.minutes = pad( scope.minutes ); - }); - } - }); - } else { - scope.updateHours = angular.noop; - scope.updateMinutes = angular.noop; - } - - ngModel.$render = function() { - var date = ngModel.$modelValue ? new Date( ngModel.$modelValue ) : null; - - if ( isNaN(date) ) { - ngModel.$setValidity('time', false); - $log.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'); - } else { - if ( date ) { - selected = date; - } - makeValid(); - updateTemplate(); - } - }; - - // Call internally when we know that model is valid. - function refresh( keyboardChange ) { - makeValid(); - ngModel.$setViewValue( new Date(selected) ); - updateTemplate( keyboardChange ); - } - - function makeValid() { - ngModel.$setValidity('time', true); - scope.invalidHours = false; - scope.invalidMinutes = false; - } - - function updateTemplate( keyboardChange ) { - var hours = selected.getHours(), minutes = selected.getMinutes(); - - if ( scope.showMeridian ) { - hours = ( hours === 0 || hours === 12 ) ? 12 : hours % 12; // Convert 24 to 12 hour system - } - scope.hours = keyboardChange === 'h' ? hours : pad(hours); - scope.minutes = keyboardChange === 'm' ? minutes : pad(minutes); - scope.meridian = selected.getHours() < 12 ? meridians[0] : meridians[1]; - } - - function addMinutes( minutes ) { - var dt = new Date( selected.getTime() + minutes * 60000 ); - selected.setHours( dt.getHours(), dt.getMinutes() ); - refresh(); - } - - scope.incrementHours = function() { - addMinutes( hourStep * 60 ); - }; - scope.decrementHours = function() { - addMinutes( - hourStep * 60 ); - }; - scope.incrementMinutes = function() { - addMinutes( minuteStep ); - }; - scope.decrementMinutes = function() { - addMinutes( - minuteStep ); - }; - scope.toggleMeridian = function() { - addMinutes( 12 * 60 * (( selected.getHours() < 12 ) ? 1 : -1) ); - }; - } - }; -}]); - -angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position', 'ui.bootstrap.bindHtml']) - -/** - * A helper service that can parse typeahead's syntax (string provided by users) - * Extracted to a separate service for ease of unit testing - */ - .factory('typeaheadParser', ['$parse', function ($parse) { - - // 00000111000000000000022200000000000000003333333333333330000000000044000 - var TYPEAHEAD_REGEXP = /^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/; - - return { - parse:function (input) { - - var match = input.match(TYPEAHEAD_REGEXP), modelMapper, viewMapper, source; - if (!match) { - throw new Error( - "Expected typeahead specification in form of '_modelValue_ (as _label_)? for _item_ in _collection_'" + - " but got '" + input + "'."); - } - - return { - itemName:match[3], - source:$parse(match[4]), - viewMapper:$parse(match[2] || match[1]), - modelMapper:$parse(match[1]) - }; - } - }; -}]) - - .directive('typeahead', ['$compile', '$parse', '$q', '$timeout', '$document', '$position', 'typeaheadParser', - function ($compile, $parse, $q, $timeout, $document, $position, typeaheadParser) { - - var HOT_KEYS = [9, 13, 27, 38, 40]; - - return { - require:'ngModel', - link:function (originalScope, element, attrs, modelCtrl) { - - //SUPPORTED ATTRIBUTES (OPTIONS) - - //minimal no of characters that needs to be entered before typeahead kicks-in - var minSearch = originalScope.$eval(attrs.typeaheadMinLength) || 1; - - //minimal wait time after last character typed before typehead kicks-in - var waitTime = originalScope.$eval(attrs.typeaheadWaitMs) || 0; - - //should it restrict model values to the ones selected from the popup only? - var isEditable = originalScope.$eval(attrs.typeaheadEditable) !== false; - - //binding to a variable that indicates if matches are being retrieved asynchronously - var isLoadingSetter = $parse(attrs.typeaheadLoading).assign || angular.noop; - - //a callback executed when a match is selected - var onSelectCallback = $parse(attrs.typeaheadOnSelect); - - var inputFormatter = attrs.typeaheadInputFormatter ? $parse(attrs.typeaheadInputFormatter) : undefined; - - var appendToBody = attrs.typeaheadAppendToBody ? $parse(attrs.typeaheadAppendToBody) : false; - - //INTERNAL VARIABLES - - //model setter executed upon match selection - var $setModelValue = $parse(attrs.ngModel).assign; - - //expressions used by typeahead - var parserResult = typeaheadParser.parse(attrs.typeahead); - - var hasFocus; - - //pop-up element used to display matches - var popUpEl = angular.element('
'); - popUpEl.attr({ - matches: 'matches', - active: 'activeIdx', - select: 'select(activeIdx)', - query: 'query', - position: 'position' - }); - //custom item template - if (angular.isDefined(attrs.typeaheadTemplateUrl)) { - popUpEl.attr('template-url', attrs.typeaheadTemplateUrl); - } - - //create a child scope for the typeahead directive so we are not polluting original scope - //with typeahead-specific data (matches, query etc.) - var scope = originalScope.$new(); - originalScope.$on('$destroy', function(){ - scope.$destroy(); - }); - - var resetMatches = function() { - scope.matches = []; - scope.activeIdx = -1; - }; - - var getMatchesAsync = function(inputValue) { - - var locals = {$viewValue: inputValue}; - isLoadingSetter(originalScope, true); - $q.when(parserResult.source(originalScope, locals)).then(function(matches) { - - //it might happen that several async queries were in progress if a user were typing fast - //but we are interested only in responses that correspond to the current view value - if (inputValue === modelCtrl.$viewValue && hasFocus) { - if (matches.length > 0) { - - scope.activeIdx = 0; - scope.matches.length = 0; - - //transform labels - for(var i=0; i= minSearch) { - if (waitTime > 0) { - if (timeoutPromise) { - $timeout.cancel(timeoutPromise);//cancel previous timeout - } - timeoutPromise = $timeout(function () { - getMatchesAsync(inputValue); - }, waitTime); - } else { - getMatchesAsync(inputValue); - } - } else { - isLoadingSetter(originalScope, false); - resetMatches(); - } - - if (isEditable) { - return inputValue; - } else { - if (!inputValue) { - // Reset in case user had typed something previously. - modelCtrl.$setValidity('editable', true); - return inputValue; - } else { - modelCtrl.$setValidity('editable', false); - return undefined; - } - } - }); - - modelCtrl.$formatters.push(function (modelValue) { - - var candidateViewValue, emptyViewValue; - var locals = {}; - - if (inputFormatter) { - - locals['$model'] = modelValue; - return inputFormatter(originalScope, locals); - - } else { - - //it might happen that we don't have enough info to properly render input value - //we need to check for this situation and simply return model value if we can't apply custom formatting - locals[parserResult.itemName] = modelValue; - candidateViewValue = parserResult.viewMapper(originalScope, locals); - locals[parserResult.itemName] = undefined; - emptyViewValue = parserResult.viewMapper(originalScope, locals); - - return candidateViewValue!== emptyViewValue ? candidateViewValue : modelValue; - } - }); - - scope.select = function (activeIdx) { - //called from within the $digest() cycle - var locals = {}; - var model, item; - - locals[parserResult.itemName] = item = scope.matches[activeIdx].model; - model = parserResult.modelMapper(originalScope, locals); - $setModelValue(originalScope, model); - modelCtrl.$setValidity('editable', true); - - onSelectCallback(originalScope, { - $item: item, - $model: model, - $label: parserResult.viewMapper(originalScope, locals) - }); - - resetMatches(); - - //return focus to the input element if a mach was selected via a mouse click event - element[0].focus(); - }; - - //bind keyboard events: arrows up(38) / down(40), enter(13) and tab(9), esc(27) - element.bind('keydown', function (evt) { - - //typeahead is open and an "interesting" key was pressed - if (scope.matches.length === 0 || HOT_KEYS.indexOf(evt.which) === -1) { - return; - } - - evt.preventDefault(); - - if (evt.which === 40) { - scope.activeIdx = (scope.activeIdx + 1) % scope.matches.length; - scope.$digest(); - - } else if (evt.which === 38) { - scope.activeIdx = (scope.activeIdx ? scope.activeIdx : scope.matches.length) - 1; - scope.$digest(); - - } else if (evt.which === 13 || evt.which === 9) { - scope.$apply(function () { - scope.select(scope.activeIdx); - }); - - } else if (evt.which === 27) { - evt.stopPropagation(); - - resetMatches(); - scope.$digest(); - } - }); - - element.bind('blur', function (evt) { - hasFocus = false; - }); - - // Keep reference to click handler to unbind it. - var dismissClickHandler = function (evt) { - if (element[0] !== evt.target) { - resetMatches(); - scope.$digest(); - } - }; - - $document.bind('click', dismissClickHandler); - - originalScope.$on('$destroy', function(){ - $document.unbind('click', dismissClickHandler); - }); - - var $popup = $compile(popUpEl)(scope); - if ( appendToBody ) { - $document.find('body').append($popup); - } else { - element.after($popup); - } - } - }; - -}]) - - .directive('typeaheadPopup', function () { - return { - restrict:'EA', - scope:{ - matches:'=', - query:'=', - active:'=', - position:'=', - select:'&' - }, - replace:true, - templateUrl:'template/typeahead/typeahead-popup.html', - link:function (scope, element, attrs) { - - scope.templateUrl = attrs.templateUrl; - - scope.isOpen = function () { - return scope.matches.length > 0; - }; - - scope.isActive = function (matchIdx) { - return scope.active == matchIdx; - }; - - scope.selectActive = function (matchIdx) { - scope.active = matchIdx; - }; - - scope.selectMatch = function (activeIdx) { - scope.select({activeIdx:activeIdx}); - }; - } - }; - }) - - .directive('typeaheadMatch', ['$http', '$templateCache', '$compile', '$parse', function ($http, $templateCache, $compile, $parse) { - return { - restrict:'EA', - scope:{ - index:'=', - match:'=', - query:'=' - }, - link:function (scope, element, attrs) { - var tplUrl = $parse(attrs.templateUrl)(scope.$parent) || 'template/typeahead/typeahead-match.html'; - $http.get(tplUrl, {cache: $templateCache}).success(function(tplContent){ - element.replaceWith($compile(tplContent.trim())(scope)); - }); - } - }; - }]) - - .filter('typeaheadHighlight', function() { - - function escapeRegexp(queryToEscape) { - return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); - } - - return function(matchItem, query) { - return query ? matchItem.replace(new RegExp(escapeRegexp(query), 'gi'), '$&') : matchItem; - }; - }); -angular.module("template/accordion/accordion-group.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/accordion/accordion-group.html", - "
\n" + - "
\n" + - "

\n" + - " {{heading}}\n" + - "

\n" + - "
\n" + - "
\n" + - "
\n" + - "
\n" + - "
"); -}]); - -angular.module("template/accordion/accordion.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/accordion/accordion.html", - "
"); -}]); - -angular.module("template/alert/alert.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/alert/alert.html", - "
\n" + - " \n" + - "
\n" + - "
\n" + - ""); -}]); - -angular.module("template/carousel/carousel.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/carousel/carousel.html", - "
\n" + - "
    1\">\n" + - "
  1. \n" + - "
\n" + - "
\n" + - " 1\">\n" + - " 1\">\n" + - "
\n" + - ""); -}]); - -angular.module("template/carousel/slide.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/carousel/slide.html", - "
\n" + - ""); -}]); - -angular.module("template/datepicker/datepicker.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/datepicker/datepicker.html", - "\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " 0\" class=\"h6\">\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
#{{label}}
{{ getWeekNumber(row) }}\n" + - " \n" + - "
\n" + - ""); -}]); - -angular.module("template/datepicker/popup.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/datepicker/popup.html", - "
    \n" + - "
  • \n" + - "
  • \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
  • \n" + - "
\n" + - ""); -}]); - -angular.module("template/modal/backdrop.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/modal/backdrop.html", - "
"); -}]); - -angular.module("template/modal/window.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/modal/window.html", - "
\n" + - "
\n" + - "
"); -}]); - -angular.module("template/pagination/pager.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/pagination/pager.html", - ""); -}]); - -angular.module("template/pagination/pagination.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/pagination/pagination.html", - ""); -}]); - -angular.module("template/tooltip/tooltip-html-unsafe-popup.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/tooltip/tooltip-html-unsafe-popup.html", - "
\n" + - "
\n" + - "
\n" + - "
\n" + - ""); -}]); - -angular.module("template/tooltip/tooltip-popup.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/tooltip/tooltip-popup.html", - "
\n" + - "
\n" + - "
\n" + - "
\n" + - ""); -}]); - -angular.module("template/popover/popover.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/popover/popover.html", - "
\n" + - "
\n" + - "\n" + - "
\n" + - "

\n" + - "
\n" + - "
\n" + - "
\n" + - ""); -}]); - -angular.module("template/progressbar/bar.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/progressbar/bar.html", - "
"); -}]); - -angular.module("template/progressbar/progress.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/progressbar/progress.html", - "
"); -}]); - -angular.module("template/progressbar/progressbar.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/progressbar/progressbar.html", - "
"); -}]); - -angular.module("template/rating/rating.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/rating/rating.html", - "\n" + - " \n" + - ""); -}]); - -angular.module("template/tabs/tab.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/tabs/tab.html", - "
  • \n" + - " {{heading}}\n" + - "
  • \n" + - ""); -}]); - -angular.module("template/tabs/tabset-titles.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/tabs/tabset-titles.html", - "
      \n" + - "
    \n" + - ""); -}]); - -angular.module("template/tabs/tabset.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/tabs/tabset.html", - "\n" + - "
    \n" + - "
      \n" + - "
      \n" + - "
      \n" + - "
      \n" + - "
      \n" + - "
      \n" + - ""); -}]); - -angular.module("template/timepicker/timepicker.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/timepicker/timepicker.html", - "\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
       
      \n" + - " \n" + - " :\n" + - " \n" + - "
       
      \n" + - ""); -}]); - -angular.module("template/typeahead/typeahead-match.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/typeahead/typeahead-match.html", - ""); -}]); - -angular.module("template/typeahead/typeahead-popup.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("template/typeahead/typeahead-popup.html", - "
        \n" + - "
      • \n" + - "
        \n" + - "
      • \n" + - "
      "); -}]); \ No newline at end of file diff --git a/src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.min.js b/src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.min.js new file mode 100644 index 00000000..f729eda6 --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/ui-bootstrap-tpls.min.js @@ -0,0 +1,12 @@ +/* + * angular-ui-bootstrap + * http://angular-ui.github.io/bootstrap/ + + * Version: 0.14.3 - 2015-10-23 + * License: MIT + */ +angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","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-popup.html","template/tooltip/tooltip-popup.html","template/tooltip/tooltip-template-popup.html","template/popover/popover-html.html","template/popover/popover-template.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.collapse",[]).directive("uibCollapse",["$animate","$injector",function(a,b){var c=b.has("$animateCss")?b.get("$animateCss"):null;return{link:function(b,d,e){function f(){d.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),c?c(d,{addClass:"in",easing:"ease",to:{height:d[0].scrollHeight+"px"}}).start()["finally"](g):a.addClass(d,"in",{to:{height:d[0].scrollHeight+"px"}}).then(g)}function g(){d.removeClass("collapsing").addClass("collapse").css({height:"auto"})}function h(){return d.hasClass("collapse")||d.hasClass("in")?(d.css({height:d[0].scrollHeight+"px"}).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),void(c?c(d,{removeClass:"in",to:{height:"0"}}).start()["finally"](i):a.removeClass(d,"in",{to:{height:"0"}}).then(i))):i()}function i(){d.css({height:"0"}),d.removeClass("collapsing").addClass("collapse")}b.$watch(e.uibCollapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.collapse").value("$collapseSuppressWarning",!1).directive("collapse",["$animate","$injector","$log","$collapseSuppressWarning",function(a,b,c,d){var e=b.has("$animateCss")?b.get("$animateCss"):null;return{link:function(b,f,g){function h(){f.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),e?e(f,{easing:"ease",to:{height:f[0].scrollHeight+"px"}}).start().done(i):a.animate(f,{},{height:f[0].scrollHeight+"px"}).then(i)}function i(){f.removeClass("collapsing").addClass("collapse in").css({height:"auto"})}function j(){return f.hasClass("collapse")||f.hasClass("in")?(f.css({height:f[0].scrollHeight+"px"}).removeClass("collapse in").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),void(e?e(f,{to:{height:"0"}}).start().done(k):a.animate(f,{},{height:"0"}).then(k))):k()}function k(){f.css({height:"0"}),f.removeClass("collapsing").addClass("collapse")}d||c.warn("collapse is now deprecated. Use uib-collapse instead."),b.$watch(g.collapse,function(a){a?j():h()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("uibAccordionConfig",{closeOthers:!0}).controller("UibAccordionController",["$scope","$attrs","uibAccordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(c){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("uibAccordion",function(){return{controller:"UibAccordionController",controllerAs:"accordion",transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/accordion/accordion.html"}}}).directive("uibAccordionGroup",function(){return{require:"^uibAccordion",transclude:!0,replace:!0,templateUrl:function(a,b){return b.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.openClass=c.openClass||"panel-open",a.panelClass=c.panelClass,a.$watch("isOpen",function(c){b.toggleClass(a.openClass,!!c),c&&d.closeOthers(a)}),a.toggleOpen=function(b){a.isDisabled||b&&32!==b.which||(a.isOpen=!a.isOpen)}}}}).directive("uibAccordionHeading",function(){return{transclude:!0,template:"",replace:!0,require:"^uibAccordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,angular.noop))}}}).directive("uibAccordionTransclude",function(){return{require:["?^uibAccordionGroup","?^accordionGroup"],link:function(a,b,c,d){d=d[0]?d[0]:d[1],a.$watch(function(){return d[c.uibAccordionTransclude]},function(a){a&&(b.find("span").html(""),b.find("span").append(a))})}}}),angular.module("ui.bootstrap.accordion").value("$accordionSuppressWarning",!1).controller("AccordionController",["$scope","$attrs","$controller","$log","$accordionSuppressWarning",function(a,b,c,d,e){e||d.warn("AccordionController is now deprecated. Use UibAccordionController instead."),angular.extend(this,c("UibAccordionController",{$scope:a,$attrs:b}))}]).directive("accordion",["$log","$accordionSuppressWarning",function(a,b){return{restrict:"EA",controller:"AccordionController",controllerAs:"accordion",transclude:!0,replace:!1,templateUrl:function(a,b){return b.templateUrl||"template/accordion/accordion.html"},link:function(){b||a.warn("accordion is now deprecated. Use uib-accordion instead.")}}}]).directive("accordionGroup",["$log","$accordionSuppressWarning",function(a,b){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/accordion/accordion-group.html"},scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(c,d,e,f){b||a.warn("accordion-group is now deprecated. Use uib-accordion-group instead."),f.addGroup(c),c.openClass=e.openClass||"panel-open",c.panelClass=e.panelClass,c.$watch("isOpen",function(a){d.toggleClass(c.openClass,!!a),a&&f.closeOthers(c)}),c.toggleOpen=function(a){c.isDisabled||a&&32!==a.which||(c.isOpen=!c.isOpen)}}}}]).directive("accordionHeading",["$log","$accordionSuppressWarning",function(a,b){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(c,d,e,f,g){b||a.warn("accordion-heading is now deprecated. Use uib-accordion-heading instead."),f.setHeading(g(c,angular.noop))}}}]).directive("accordionTransclude",["$log","$accordionSuppressWarning",function(a,b){return{require:"^accordionGroup",link:function(c,d,e,f){b||a.warn("accordion-transclude is now deprecated. Use uib-accordion-transclude instead."),c.$watch(function(){return f[e.accordionTransclude]},function(a){a&&(d.find("span").html(""),d.find("span").append(a))})}}}]),angular.module("ui.bootstrap.alert",[]).controller("UibAlertController",["$scope","$attrs","$interpolate","$timeout",function(a,b,c,d){a.closeable=!!b.close;var e=angular.isDefined(b.dismissOnTimeout)?c(b.dismissOnTimeout)(a.$parent):null;e&&d(function(){a.close()},parseInt(e,10))}]).directive("uibAlert",function(){return{controller:"UibAlertController",controllerAs:"alert",templateUrl:function(a,b){return b.templateUrl||"template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.alert").value("$alertSuppressWarning",!1).controller("AlertController",["$scope","$attrs","$controller","$log","$alertSuppressWarning",function(a,b,c,d,e){e||d.warn("AlertController is now deprecated. Use UibAlertController instead."),angular.extend(this,c("UibAlertController",{$scope:a,$attrs:b}))}]).directive("alert",["$log","$alertSuppressWarning",function(a,b){return{controller:"AlertController",controllerAs:"alert",templateUrl:function(a,b){return b.templateUrl||"template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"},link:function(){b||a.warn("alert is now deprecated. Use uib-alert instead.")}}}]),angular.module("ui.bootstrap.buttons",[]).constant("uibButtonConfig",{activeClass:"active",toggleEvent:"click"}).controller("UibButtonsController",["uibButtonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("uibBtnRadio",function(){return{require:["uibBtnRadio","ngModel"],controller:"UibButtonsController",controllerAs:"buttons",link:function(a,b,c,d){var e=d[0],f=d[1];b.find("input").css({display:"none"}),f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.uibBtnRadio)))},b.on(e.toggleEvent,function(){if(!c.disabled){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.uibBtnRadio)),f.$render()})}})}}}).directive("uibBtnCheckbox",function(){return{require:["uibBtnCheckbox","ngModel"],controller:"UibButtonsController",controllerAs:"button",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){return angular.isDefined(b)?a.$eval(b):c}var h=d[0],i=d[1];b.find("input").css({display:"none"}),i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.on(h.toggleEvent,function(){c.disabled||a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.buttons").value("$buttonsSuppressWarning",!1).controller("ButtonsController",["$controller","$log","$buttonsSuppressWarning",function(a,b,c){c||b.warn("ButtonsController is now deprecated. Use UibButtonsController instead."),angular.extend(this,a("UibButtonsController"))}]).directive("btnRadio",["$log","$buttonsSuppressWarning",function(a,b){return{require:["btnRadio","ngModel"],controller:"ButtonsController",controllerAs:"buttons",link:function(c,d,e,f){b||a.warn("btn-radio is now deprecated. Use uib-btn-radio instead.");var g=f[0],h=f[1];d.find("input").css({display:"none"}),h.$render=function(){d.toggleClass(g.activeClass,angular.equals(h.$modelValue,c.$eval(e.btnRadio)))},d.bind(g.toggleEvent,function(){if(!e.disabled){var a=d.hasClass(g.activeClass);(!a||angular.isDefined(e.uncheckable))&&c.$apply(function(){h.$setViewValue(a?null:c.$eval(e.btnRadio)),h.$render()})}})}}}]).directive("btnCheckbox",["$document","$log","$buttonsSuppressWarning",function(a,b,c){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",controllerAs:"button",link:function(d,e,f,g){function h(){return j(f.btnCheckboxTrue,!0)}function i(){return j(f.btnCheckboxFalse,!1)}function j(a,b){var c=d.$eval(a);return angular.isDefined(c)?c:b}c||b.warn("btn-checkbox is now deprecated. Use uib-btn-checkbox instead.");var k=g[0],l=g[1];e.find("input").css({display:"none"}),l.$render=function(){e.toggleClass(k.activeClass,angular.equals(l.$modelValue,h()))},e.bind(k.toggleEvent,function(){f.disabled||d.$apply(function(){l.$setViewValue(e.hasClass(k.activeClass)?i():h()),l.$render()})}),e.on("keypress",function(b){f.disabled||32!==b.which||a[0].activeElement!==e[0]||d.$apply(function(){l.$setViewValue(e.hasClass(k.activeClass)?i():h()),l.$render()})})}}}]),angular.module("ui.bootstrap.carousel",[]).controller("UibCarouselController",["$scope","$element","$interval","$animate",function(a,b,c,d){function e(b,c,e){s||(angular.extend(b,{direction:e,active:!0}),angular.extend(m.currentSlide||{},{direction:e,active:!1}),d.enabled()&&!a.noTransition&&!a.$currentTransition&&b.$element&&m.slides.length>1&&(b.$element.data(q,b.direction),m.currentSlide&&m.currentSlide.$element&&m.currentSlide.$element.data(q,b.direction),a.$currentTransition=!0,o?d.on("addClass",b.$element,function(b,c){"close"===c&&(a.$currentTransition=null,d.off("addClass",b))}):b.$element.one("$animate:close",function(){a.$currentTransition=null})),m.currentSlide=b,r=c,g())}function f(a){if(angular.isUndefined(n[a].index))return n[a];var b;n.length;for(b=0;b0&&(k=c(i,b))}function h(){k&&(c.cancel(k),k=null)}function i(){var b=+a.interval;l&&!isNaN(b)&&b>0&&n.length?a.next():a.pause()}function j(b){b.length||(a.$currentTransition=null)}var k,l,m=this,n=m.slides=a.slides=[],o=angular.version.minor>=4,p="uib-noTransition",q="uib-slideDirection",r=-1;m.currentSlide=null;var s=!1;m.select=a.select=function(b,c){var d=a.indexOfSlide(b);void 0===c&&(c=d>m.getCurrentIndex()?"next":"prev"),b&&b!==m.currentSlide&&!a.$currentTransition&&e(b,d,c)},a.$on("$destroy",function(){s=!0}),m.getCurrentIndex=function(){return m.currentSlide&&angular.isDefined(m.currentSlide.index)?+m.currentSlide.index:r},a.indexOfSlide=function(a){return angular.isDefined(a.index)?+a.index:n.indexOf(a)},a.next=function(){var b=(m.getCurrentIndex()+1)%n.length;return 0===b&&a.noWrap()?void a.pause():m.select(f(b),"next")},a.prev=function(){var b=m.getCurrentIndex()-1<0?n.length-1:m.getCurrentIndex()-1;return a.noWrap()&&b===n.length-1?void a.pause():m.select(f(b),"prev")},a.isActive=function(a){return m.currentSlide===a},a.$watch("interval",g),a.$watchCollection("slides",j),a.$on("$destroy",h),a.play=function(){l||(l=!0,g())},a.pause=function(){a.noPause||(l=!1,h())},m.addSlide=function(b,c){b.$element=c,n.push(b),1===n.length||b.active?(m.select(n[n.length-1]),1===n.length&&a.play()):b.active=!1},m.removeSlide=function(a){angular.isDefined(a.index)&&n.sort(function(a,b){return+a.index>+b.index});var b=n.indexOf(a);n.splice(b,1),n.length>0&&a.active?b>=n.length?m.select(n[b-1]):m.select(n[b]):r>b&&r--,0===n.length&&(m.currentSlide=null)},a.$watch("noTransition",function(a){b.data(p,a)})}]).directive("uibCarousel",[function(){return{transclude:!0,replace:!0,controller:"UibCarouselController",controllerAs:"carousel",require:"carousel",templateUrl:function(a,b){return b.templateUrl||"template/carousel/carousel.html"},scope:{interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}]).directive("uibSlide",function(){return{require:"^uibCarousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/carousel/slide.html"},scope:{active:"=?",actual:"=?",index:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}).animation(".item",["$injector","$animate",function(a,b){function c(a,b,c){a.removeClass(b),c&&c()}var d="uib-noTransition",e="uib-slideDirection",f=null;return a.has("$animateCss")&&(f=a.get("$animateCss")),{beforeAddClass:function(a,g,h){if("active"==g&&a.parent()&&a.parent().parent()&&!a.parent().parent().data(d)){var i=!1,j=a.data(e),k="next"==j?"left":"right",l=c.bind(this,a,k+" "+j,h);return a.addClass(j),f?f(a,{addClass:k}).start().done(l):b.addClass(a,k).then(function(){i||l(),h()}),function(){i=!0}}h()},beforeRemoveClass:function(a,g,h){if("active"===g&&a.parent()&&a.parent().parent()&&!a.parent().parent().data(d)){var i=!1,j=a.data(e),k="next"==j?"left":"right",l=c.bind(this,a,k,h);return f?f(a,{addClass:k}).start().done(l):b.addClass(a,k).then(function(){i||l(),h()}),function(){i=!0}}h()}}}]),angular.module("ui.bootstrap.carousel").value("$carouselSuppressWarning",!1).controller("CarouselController",["$scope","$element","$controller","$log","$carouselSuppressWarning",function(a,b,c,d,e){e||d.warn("CarouselController is now deprecated. Use UibCarouselController instead."),angular.extend(this,c("UibCarouselController",{$scope:a,$element:b}))}]).directive("carousel",["$log","$carouselSuppressWarning",function(a,b){return{transclude:!0,replace:!0,controller:"CarouselController",controllerAs:"carousel",require:"carousel",templateUrl:function(a,b){return b.templateUrl||"template/carousel/carousel.html"},scope:{interval:"=",noTransition:"=",noPause:"=",noWrap:"&"},link:function(){b||a.warn("carousel is now deprecated. Use uib-carousel instead.")}}}]).directive("slide",["$log","$carouselSuppressWarning",function(a,b){return{require:"^carousel",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/carousel/slide.html"},scope:{active:"=?",actual:"=?",index:"=?"},link:function(c,d,e,f){b||a.warn("slide is now deprecated. Use uib-slide instead."),f.addSlide(c,d),c.$on("$destroy",function(){f.removeSlide(c)}),c.$watch("active",function(a){a&&f.select(c)})}}}]),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","orderByFilter",function(a,b,c){function d(a){var b=[],d=a.split("");return angular.forEach(g,function(c,e){var f=a.indexOf(e);if(f>-1){a=a.split(""),d[f]="("+c.regex+")",a[f]="$";for(var g=f+1,h=f+e.length;h>g;g++)d[g]="",a[g]="$";a=a.join(""),b.push({index:f,apply:c.apply})}}),{regex:new RegExp("^"+d.join("")+"$"),map:c(b,"index")}}function e(a,b,c){return 1>c?!1:1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}var f,g,h=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.init=function(){f=b.id,this.parsers={},g={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:b.DATETIME_FORMATS.MONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.MONTH.indexOf(a)}},MMM:{regex:b.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.SHORTMONTH.indexOf(a)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:b.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:b.DATETIME_FORMATS.SHORTDAY.join("|")},HH:{regex:"(?:0|1)[0-9]|2[0-3]",apply:function(a){this.hours=+a}},hh:{regex:"0[0-9]|1[0-2]",apply:function(a){this.hours=+a}},H:{regex:"1?[0-9]|2[0-3]",apply:function(a){this.hours=+a}},h:{regex:"[0-9]|1[0-2]",apply:function(a){this.hours=+a}},mm:{regex:"[0-5][0-9]",apply:function(a){this.minutes=+a}},m:{regex:"[0-9]|[1-5][0-9]",apply:function(a){this.minutes=+a}},sss:{regex:"[0-9][0-9][0-9]",apply:function(a){this.milliseconds=+a}},ss:{regex:"[0-5][0-9]",apply:function(a){this.seconds=+a}},s:{regex:"[0-9]|[1-5][0-9]",apply:function(a){this.seconds=+a}},a:{regex:b.DATETIME_FORMATS.AMPMS.join("|"),apply:function(a){12===this.hours&&(this.hours=0),"PM"===a&&(this.hours+=12)}}}},this.init(),this.parse=function(c,g,i){if(!angular.isString(c)||!g)return c;g=b.DATETIME_FORMATS[g]||g,g=g.replace(h,"\\$&"),b.id!==f&&this.init(),this.parsers[g]||(this.parsers[g]=d(g));var j=this.parsers[g],k=j.regex,l=j.map,m=c.match(k);if(m&&m.length){var n,o;angular.isDate(i)&&!isNaN(i.getTime())?n={year:i.getFullYear(),month:i.getMonth(),date:i.getDate(),hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds()}:(i&&a.warn("dateparser:","baseDate is not a valid date"),n={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var p=1,q=m.length;q>p;p++){var r=l[p-1];r.apply&&r.apply.call(n,m[p])}return e(n.year,n.month,n.date)&&(angular.isDate(i)&&!isNaN(i.getTime())?(o=new Date(i),o.setFullYear(n.year,n.month,n.date,n.hours,n.minutes,n.seconds,n.milliseconds||0)):o=new Date(n.year,n.month,n.date,n.hours,n.minutes,n.seconds,n.milliseconds||0)),o}}}]),angular.module("ui.bootstrap.dateparser").value("$dateParserSuppressWarning",!1).service("dateParser",["$log","$dateParserSuppressWarning","uibDateParser",function(a,b,c){b||a.warn("dateParser is now deprecated. Use uibDateParser instead."),angular.extend(this,c)}]),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()};break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.position").value("$positionSuppressWarning",!1).service("$position",["$log","$positionSuppressWarning","$uibPosition",function(a,b,c){b||a.warn("$position is now deprecated. Use $uibPosition instead."),angular.extend(this,c)}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).value("$datepickerSuppressError",!1).constant("uibDatepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null,shortcutPropagation:!1}).controller("UibDatepickerController",["$scope","$attrs","$parse","$interpolate","$log","dateFilter","uibDatepickerConfig","$datepickerSuppressError",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","showWeeks","startingDay","yearRange","shortcutPropagation"],function(c,e){i[c]=angular.isDefined(b[c])?6>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):g[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=g[d]?new Date(g[d]):null}),angular.forEach(["minMode","maxMode"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(c){i[d]=angular.isDefined(c)?c:b[d],a[d]=i[d],("minMode"==d&&i.modes.indexOf(a.datepickerMode)i.modes.indexOf(i[d]))&&(a.datepickerMode=i[d])}):(i[d]=g[d]||null,a[d]=i[d])}),a.datepickerMode=a.datepickerMode||g.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),angular.isDefined(b.initDate)?(this.activeDate=a.$parent.$eval(b.initDate)||new Date,a.$parent.$watch(b.initDate,function(a){a&&(j.$isEmpty(j.$modelValue)||j.$invalid)&&(i.activeDate=a,i.refreshView())})):this.activeDate=new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$viewValue){var a=new Date(j.$viewValue),b=!isNaN(a);b?this.activeDate=a:h||e.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$viewValue?new Date(j.$viewValue):null;j.$setValidity("dateDisabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$viewValue?new Date(j.$viewValue):null;return{date:a,label:f(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date),customClass:this.customClass(a)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.customClass=function(b){return a.customClass({date:b,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$viewValue?new Date(j.$viewValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){i.element[0].focus()};a.$on("uib:datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),i.shortcutPropagation||b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate)}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):a.toggleMode("up"===c?1:-1)}}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?f[b]:29}function e(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}var f=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=b,this.init=function(b){angular.extend(b,this),a.showWeeks=b.showWeeks,b.refreshView()},this.getDates=function(a,b){for(var c,d=new Array(b),e=new Date(a),f=0;b>f;)c=new Date(e),d[f++]=c,e.setDate(e.getDate()+1);return d},this._refreshView=function(){var b=this.activeDate.getFullYear(),d=this.activeDate.getMonth(),f=new Date(this.activeDate);f.setFullYear(b,d,1);var g=this.startingDay-f.getDay(),h=g>0?7-g:-g,i=new Date(f);h>0&&i.setDate(-h+1);for(var j=this.getDates(i,42),k=0;42>k;k++)j[k]=angular.extend(this.createDateObject(j[k],this.formatDay),{secondary:j[k].getMonth()!==d,uid:a.uniqueId+"-"+k});a.labels=new Array(7);for(var l=0;7>l;l++)a.labels[l]={abbr:c(j[l].date,this.formatDayHeader),full:c(j[l].date,"EEEE")};if(a.title=c(this.activeDate,this.formatDayTitle),a.rows=this.split(j,7),a.showWeeks){a.weekNumbers=[];for(var m=(11-this.startingDay)%7,n=a.rows.length,o=0;n>o;o++)a.weekNumbers.push(e(a.rows[o][m].date))}},this.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth(),a.getDate())-new Date(b.getFullYear(),b.getMonth(),b.getDate())},this.handleKeyDown=function(a,b){var c=this.activeDate.getDate();if("left"===a)c-=1;else if("up"===a)c-=7;else if("right"===a)c+=1;else if("down"===a)c+=7;else if("pageup"===a||"pagedown"===a){var e=this.activeDate.getMonth()+("pageup"===a?-1:1);this.activeDate.setMonth(e,1),c=Math.min(d(this.activeDate.getFullYear(),this.activeDate.getMonth()),c)}else"home"===a?c=1:"end"===a&&(c=d(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(c)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(a,b,c){this.step={years:1},this.element=b,this.init=function(a){angular.extend(a,this),a.refreshView()},this._refreshView=function(){for(var b,d=new Array(12),e=this.activeDate.getFullYear(),f=0;12>f;f++)b=new Date(this.activeDate),b.setFullYear(e,f,1),d[f]=angular.extend(this.createDateObject(b,this.formatMonth),{uid:a.uniqueId+"-"+f});a.title=c(this.activeDate,this.formatMonthTitle),a.rows=this.split(d,3)},this.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},this.handleKeyDown=function(a,b){var c=this.activeDate.getMonth();if("left"===a)c-=1;else if("up"===a)c-=3;else if("right"===a)c+=1;else if("down"===a)c+=3;else if("pageup"===a||"pagedown"===a){var d=this.activeDate.getFullYear()+("pageup"===a?-1:1);this.activeDate.setFullYear(d)}else"home"===a?c=0:"end"===a&&(c=11);this.activeDate.setMonth(c)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a){return parseInt((a-1)/e,10)*e+1}var e;this.element=b,this.yearpickerInit=function(){e=this.yearRange,this.step={years:e}},this._refreshView=function(){for(var b,c=new Array(e),f=0,g=d(this.activeDate.getFullYear());e>f;f++)b=new Date(this.activeDate),b.setFullYear(g+f,0,1),c[f]=angular.extend(this.createDateObject(b,this.formatYear),{uid:a.uniqueId+"-"+f});a.title=[c[0].label,c[e-1].label].join(" - "),a.rows=this.split(c,5)},this.compare=function(a,b){return a.getFullYear()-b.getFullYear()},this.handleKeyDown=function(a,b){var c=this.activeDate.getFullYear();"left"===a?c-=1:"up"===a?c-=5:"right"===a?c+=1:"down"===a?c+=5:"pageup"===a||"pagedown"===a?c+=("pageup"===a?-1:1)*this.step.years:"home"===a?c=d(this.activeDate.getFullYear()):"end"===a&&(c=d(this.activeDate.getFullYear())+e-1),this.activeDate.setFullYear(c)}}]).directive("uibDatepicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/datepicker.html"},scope:{datepickerMode:"=?",dateDisabled:"&",customClass:"&",shortcutPropagation:"&?"},require:["uibDatepicker","^ngModel"],controller:"UibDatepickerController",controllerAs:"datepicker",link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}).directive("uibDaypicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/day.html"},require:["^?uibDatepicker","uibDaypicker","^?datepicker"],controller:"UibDaypickerController",link:function(a,b,c,d){var e=d[0]||d[2],f=d[1];f.init(e)}}}).directive("uibMonthpicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/month.html"},require:["^?uibDatepicker","uibMonthpicker","^?datepicker"],controller:"UibMonthpickerController",link:function(a,b,c,d){var e=d[0]||d[2],f=d[1];f.init(e)}}}).directive("uibYearpicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/year.html"},require:["^?uibDatepicker","uibYearpicker","^?datepicker"],controller:"UibYearpickerController",link:function(a,b,c,d){var e=d[0]||d[2];angular.extend(e,d[1]),e.yearpickerInit(),e.refreshView()}}}).constant("uibDatepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"template/datepicker/popup.html",datepickerTemplateUrl:"template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0,onOpenFocus:!0}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$parse","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout",function(a,b,c,d,e,f,g,h,i,j,k,l){ +function m(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function n(b){if(angular.isNumber(b)&&(b=new Date(b)),b){if(angular.isDate(b)&&!isNaN(b))return b;if(angular.isString(b)){var c=j.parse(b,r,a.date);return isNaN(c)?void 0:c}return void 0}return null}function o(a,b){var d=a||b;if(!c.ngRequired&&!d)return!0;if(angular.isNumber(d)&&(d=new Date(d)),d){if(angular.isDate(d)&&!isNaN(d))return!0;if(angular.isString(d)){var e=j.parse(d,r);return!isNaN(e)}return!1}return!0}function p(c){var d=A[0],e=b[0].contains(c.target),f=void 0!==d.contains&&d.contains(c.target);!a.isOpen||e||f||a.$apply(function(){a.isOpen=!1})}function q(c){27===c.which&&a.isOpen?(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!1}),b[0].focus()):40!==c.which||a.isOpen||(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!0}))}var r,s,t,u,v,w,x,y,z,A,B={},C=!1;a.watchData={},this.init=function(h){if(z=h,s=angular.isDefined(c.closeOnDateSelection)?a.$parent.$eval(c.closeOnDateSelection):k.closeOnDateSelection,t=angular.isDefined(c.datepickerAppendToBody)?a.$parent.$eval(c.datepickerAppendToBody):k.appendToBody,u=angular.isDefined(c.onOpenFocus)?a.$parent.$eval(c.onOpenFocus):k.onOpenFocus,v=angular.isDefined(c.datepickerPopupTemplateUrl)?c.datepickerPopupTemplateUrl:k.datepickerPopupTemplateUrl,w=angular.isDefined(c.datepickerTemplateUrl)?c.datepickerTemplateUrl:k.datepickerTemplateUrl,a.showButtonBar=angular.isDefined(c.showButtonBar)?a.$parent.$eval(c.showButtonBar):k.showButtonBar,k.html5Types[c.type]?(r=k.html5Types[c.type],C=!0):(r=c.datepickerPopup||c.uibDatepickerPopup||k.datepickerPopup,c.$observe("uibDatepickerPopup",function(a,b){var c=a||k.datepickerPopup;if(c!==r&&(r=c,z.$modelValue=null,!r))throw new Error("uibDatepickerPopup must have a date format specified.")})),!r)throw new Error("uibDatepickerPopup must have a date format specified.");if(C&&c.datepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");if(x=angular.element("
      "),x.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":v}),y=angular.element(x.children()[0]),y.attr("template-url",w),C&&"month"===c.type&&(y.attr("datepicker-mode",'"month"'),y.attr("min-mode","month")),c.datepickerOptions){var l=a.$parent.$eval(c.datepickerOptions);l&&l.initDate&&(a.initDate=l.initDate,y.attr("init-date","initDate"),delete l.initDate),angular.forEach(l,function(a,b){y.attr(m(b),a)})}angular.forEach(["minMode","maxMode","minDate","maxDate","datepickerMode","initDate","shortcutPropagation"],function(b){if(c[b]){var d=e(c[b]);if(a.$parent.$watch(d,function(c){a.watchData[b]=c,("minDate"===b||"maxDate"===b)&&(B[b]=new Date(c))}),y.attr(m(b),"watchData."+b),"datepickerMode"===b){var f=d.assign;a.$watch("watchData."+b,function(b,c){angular.isFunction(f)&&b!==c&&f(a.$parent,b)})}}}),c.dateDisabled&&y.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),c.showWeeks&&y.attr("show-weeks",c.showWeeks),c.customClass&&y.attr("custom-class","customClass({ date: date, mode: mode })"),C?z.$formatters.push(function(b){return a.date=b,b}):(z.$$parserName="date",z.$validators.date=o,z.$parsers.unshift(n),z.$formatters.push(function(b){return a.date=b,z.$isEmpty(b)?b:i(b,r)})),z.$viewChangeListeners.push(function(){a.date=j.parse(z.$viewValue,r,a.date)}),b.bind("keydown",q),A=d(x)(a),x.remove(),t?f.find("body").append(A):b.after(A),a.$on("$destroy",function(){a.isOpen===!0&&(g.$$phase||a.$apply(function(){a.isOpen=!1})),A.remove(),b.unbind("keydown",q),f.unbind("click",p)})},a.getText=function(b){return a[b+"Text"]||k[b+"Text"]},a.isDisabled=function(b){return"today"===b&&(b=new Date),a.watchData.minDate&&a.compare(b,B.minDate)<0||a.watchData.maxDate&&a.compare(b,B.maxDate)>0},a.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth(),a.getDate())-new Date(b.getFullYear(),b.getMonth(),b.getDate())},a.dateSelection=function(c){angular.isDefined(c)&&(a.date=c);var d=a.date?i(a.date,r):null;b.val(d),z.$setViewValue(d),s&&(a.isOpen=!1,b[0].focus())},a.keydown=function(c){27===c.which&&(a.isOpen=!1,b[0].focus())},a.select=function(b){if("today"===b){var c=new Date;angular.isDate(a.date)?(b=new Date(a.date),b.setFullYear(c.getFullYear(),c.getMonth(),c.getDate())):b=new Date(c.setHours(0,0,0,0))}a.dateSelection(b)},a.close=function(){a.isOpen=!1,b[0].focus()},a.$watch("isOpen",function(c){c?(a.position=t?h.offset(b):h.position(b),a.position.top=a.position.top+b.prop("offsetHeight"),l(function(){u&&a.$broadcast("uib:datepicker.focus"),f.bind("click",p)},0,!1)):f.unbind("click",p)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&",customClass:"&"},link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibDatepickerPopupWrap",function(){return{replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/popup.html"}}}),angular.module("ui.bootstrap.datepicker").value("$datepickerSuppressWarning",!1).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$log","dateFilter","uibDatepickerConfig","$datepickerSuppressError","$datepickerSuppressWarning",function(a,b,c,d,e,f,g,h,i){i||e.warn("DatepickerController is now deprecated. Use UibDatepickerController instead.");var j=this,k={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","showWeeks","startingDay","yearRange","shortcutPropagation"],function(c,e){j[c]=angular.isDefined(b[c])?6>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):g[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){j[d]=a?new Date(a):null,j.refreshView()}):j[d]=g[d]?new Date(g[d]):null}),angular.forEach(["minMode","maxMode"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(c){j[d]=angular.isDefined(c)?c:b[d],a[d]=j[d],("minMode"==d&&j.modes.indexOf(a.datepickerMode)j.modes.indexOf(j[d]))&&(a.datepickerMode=j[d])}):(j[d]=g[d]||null,a[d]=j[d])}),a.datepickerMode=a.datepickerMode||g.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),angular.isDefined(b.initDate)?(this.activeDate=a.$parent.$eval(b.initDate)||new Date,a.$parent.$watch(b.initDate,function(a){a&&(k.$isEmpty(k.$modelValue)||k.$invalid)&&(j.activeDate=a,j.refreshView())})):this.activeDate=new Date,a.isActive=function(b){return 0===j.compare(b.date,j.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){k=a,k.$render=function(){j.render()}},this.render=function(){if(k.$viewValue){var a=new Date(k.$viewValue),b=!isNaN(a);b?this.activeDate=a:h||e.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=k.$viewValue?new Date(k.$viewValue):null;k.$setValidity("dateDisabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=k.$viewValue?new Date(k.$viewValue):null;return{date:a,label:f(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date),customClass:this.customClass(a)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.customClass=function(b){return a.customClass({date:b,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},this.fixTimeZone=function(a){var b=a.getHours();a.setHours(23===b?b+2:0)},a.select=function(b){if(a.datepickerMode===j.minMode){var c=k.$viewValue?new Date(k.$viewValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),k.$setViewValue(c),k.$render()}else j.activeDate=b,a.datepickerMode=j.modes[j.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=j.activeDate.getFullYear()+a*(j.step.years||0),c=j.activeDate.getMonth()+a*(j.step.months||0);j.activeDate.setFullYear(b,c,1),j.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===j.maxMode&&1===b||a.datepickerMode===j.minMode&&-1===b||(a.datepickerMode=j.modes[j.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var l=function(){j.element[0].focus()};a.$on("uib:datepicker.focus",l),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),j.shortcutPropagation||b.stopPropagation(),"enter"===c||"space"===c){if(j.isDisabled(j.activeDate))return;a.select(j.activeDate)}else!b.ctrlKey||"up"!==c&&"down"!==c?(j.handleKeyDown(c,b),j.refreshView()):a.toggleMode("up"===c?1:-1)}}]).directive("datepicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/datepicker.html"},scope:{datepickerMode:"=?",dateDisabled:"&",customClass:"&",shortcutPropagation:"&?"},require:["datepicker","^ngModel"],controller:"DatepickerController",controllerAs:"datepicker",link:function(c,d,e,f){b||a.warn("datepicker is now deprecated. Use uib-datepicker instead.");var g=f[0],h=f[1];g.init(h)}}}]).directive("daypicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:"template/datepicker/day.html",require:["^datepicker","daypicker"],controller:"UibDaypickerController",link:function(c,d,e,f){b||a.warn("daypicker is now deprecated. Use uib-daypicker instead.");var g=f[0],h=f[1];h.init(g)}}}]).directive("monthpicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:"template/datepicker/month.html",require:["^datepicker","monthpicker"],controller:"UibMonthpickerController",link:function(c,d,e,f){b||a.warn("monthpicker is now deprecated. Use uib-monthpicker instead.");var g=f[0],h=f[1];h.init(g)}}}]).directive("yearpicker",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,templateUrl:"template/datepicker/year.html",require:["^datepicker","yearpicker"],controller:"UibYearpickerController",link:function(c,d,e,f){b||a.warn("yearpicker is now deprecated. Use uib-yearpicker instead.");var g=f[0];angular.extend(g,f[1]),g.yearpickerInit(),g.refreshView()}}}]).directive("datepickerPopup",["$log","$datepickerSuppressWarning",function(a,b){return{require:["ngModel","datepickerPopup"],controller:"UibDatepickerPopupController",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&",customClass:"&"},link:function(c,d,e,f){b||a.warn("datepicker-popup is now deprecated. Use uib-datepicker-popup instead.");var g=f[0],h=f[1];h.init(g)}}}]).directive("datepickerPopupWrap",["$log","$datepickerSuppressWarning",function(a,b){return{replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/datepicker/popup.html"},link:function(){b||a.warn("datepicker-popup-wrap is now deprecated. Use uib-datepicker-popup-wrap instead.")}}}]),angular.module("ui.bootstrap.dropdown",["ui.bootstrap.position"]).constant("uibDropdownConfig",{openClass:"open"}).service("uibDropdownService",["$document","$rootScope",function(a,b){var c=null;this.open=function(b){c||(a.bind("click",d),a.bind("keydown",e)),c&&c!==b&&(c.isOpen=!1),c=b},this.close=function(b){c===b&&(c=null,a.unbind("click",d),a.unbind("keydown",e))};var d=function(a){if(c&&(!a||"disabled"!==c.getAutoClose())){var d=c.getToggleElement();if(!(a&&d&&d[0].contains(a.target))){var e=c.getDropdownElement();a&&"outsideClick"===c.getAutoClose()&&e&&e[0].contains(a.target)||(c.isOpen=!1,b.$$phase||c.$apply())}}},e=function(a){27===a.which?(c.focusToggleElement(),d()):c.isKeynavEnabled()&&/(38|40)/.test(a.which)&&c.isOpen&&(a.preventDefault(),a.stopPropagation(),c.focusDropdownEntry(a.which))}}]).controller("UibDropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest",function(a,b,c,d,e,f,g,h,i,j,k){var l,m,n=this,o=a.$new(),p=e.openClass,q=angular.noop,r=c.onToggle?d(c.onToggle):angular.noop,s=!1,t=!1;b.addClass("dropdown"),this.init=function(){c.isOpen&&(m=d(c.isOpen),q=m.assign,a.$watch(m,function(a){o.isOpen=!!a})),s=angular.isDefined(c.dropdownAppendToBody),t=angular.isDefined(c.uibKeyboardNav),s&&n.dropdownMenu&&(i.find("body").append(n.dropdownMenu),b.on("$destroy",function(){n.dropdownMenu.remove()}))},this.toggle=function(a){return o.isOpen=arguments.length?!!a:!o.isOpen},this.isOpen=function(){return o.isOpen},o.getToggleElement=function(){return n.toggleElement},o.getAutoClose=function(){return c.autoClose||"always"},o.getElement=function(){return b},o.isKeynavEnabled=function(){return t},o.focusDropdownEntry=function(a){var c=n.dropdownMenu?angular.element(n.dropdownMenu).find("a"):angular.element(b).find("ul").eq(0).find("a");switch(a){case 40:angular.isNumber(n.selectedOption)?n.selectedOption=n.selectedOption===c.length-1?n.selectedOption:n.selectedOption+1:n.selectedOption=0;break;case 38:angular.isNumber(n.selectedOption)?n.selectedOption=0===n.selectedOption?0:n.selectedOption-1:n.selectedOption=c.length-1}c[n.selectedOption].focus()},o.getDropdownElement=function(){return n.dropdownMenu},o.focusToggleElement=function(){n.toggleElement&&n.toggleElement[0].focus()},o.$watch("isOpen",function(c,d){if(s&&n.dropdownMenu){var e=h.positionElements(b,n.dropdownMenu,"bottom-left",!0),i={top:e.top+"px",display:c?"block":"none"},m=n.dropdownMenu.hasClass("dropdown-menu-right");m?(i.left="auto",i.right=window.innerWidth-(e.left+b.prop("offsetWidth"))+"px"):(i.left=e.left+"px",i.right="auto"),n.dropdownMenu.css(i)}if(g[c?"addClass":"removeClass"](b,p).then(function(){angular.isDefined(c)&&c!==d&&r(a,{open:!!c})}),c)n.dropdownMenuTemplateUrl&&k(n.dropdownMenuTemplateUrl).then(function(a){l=o.$new(),j(a.trim())(l,function(a){var b=a;n.dropdownMenu.replaceWith(b),n.dropdownMenu=b})}),o.focusToggleElement(),f.open(o);else{if(n.dropdownMenuTemplateUrl){l&&l.$destroy();var t=angular.element('');n.dropdownMenu.replaceWith(t),n.dropdownMenu=t}f.close(o),n.selectedOption=null}angular.isFunction(q)&&q(a,c)}),a.$on("$locationChangeSuccess",function(){"disabled"!==o.getAutoClose()&&(o.isOpen=!1)});var u=a.$on("$destroy",function(){o.$destroy()});o.$on("$destroy",u)}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(a,b,c,d){d.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"AC",require:"?^uibDropdown",link:function(a,b,c,d){if(d&&!angular.isDefined(c.dropdownNested)){b.addClass("dropdown-menu");var e=c.templateUrl;e&&(d.dropdownMenuTemplateUrl=e),d.dropdownMenu||(d.dropdownMenu=b)}}}}).directive("uibKeyboardNav",function(){return{restrict:"A",require:"?^uibDropdown",link:function(a,b,c,d){b.bind("keydown",function(a){if(-1!==[38,40].indexOf(a.which)){a.preventDefault(),a.stopPropagation();var b=d.dropdownMenu.find("a");switch(a.which){case 40:angular.isNumber(d.selectedOption)?d.selectedOption=d.selectedOption===b.length-1?d.selectedOption:d.selectedOption+1:d.selectedOption=0;break;case 38:angular.isNumber(d.selectedOption)?d.selectedOption=0===d.selectedOption?0:d.selectedOption-1:d.selectedOption=b.length-1}b[d.selectedOption].focus()}})}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(a,b,c,d){if(d){b.addClass("dropdown-toggle"),d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.dropdown").value("$dropdownSuppressWarning",!1).service("dropdownService",["$log","$dropdownSuppressWarning","uibDropdownService",function(a,b,c){b||a.warn("dropdownService is now deprecated. Use uibDropdownService instead."),angular.extend(this,c)}]).controller("DropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest","$log","$dropdownSuppressWarning",function(a,b,c,d,e,f,g,h,i,j,k,l,m){m||l.warn("DropdownController is now deprecated. Use UibDropdownController instead.");var n,o,p=this,q=a.$new(),r=e.openClass,s=angular.noop,t=c.onToggle?d(c.onToggle):angular.noop,u=!1,v=!1;b.addClass("dropdown"),this.init=function(){c.isOpen&&(o=d(c.isOpen),s=o.assign,a.$watch(o,function(a){q.isOpen=!!a})),u=angular.isDefined(c.dropdownAppendToBody),v=angular.isDefined(c.uibKeyboardNav),u&&p.dropdownMenu&&(i.find("body").append(p.dropdownMenu),b.on("$destroy",function(){p.dropdownMenu.remove()}))},this.toggle=function(a){return q.isOpen=arguments.length?!!a:!q.isOpen},this.isOpen=function(){return q.isOpen},q.getToggleElement=function(){return p.toggleElement},q.getAutoClose=function(){return c.autoClose||"always"},q.getElement=function(){return b},q.isKeynavEnabled=function(){return v},q.focusDropdownEntry=function(a){var c=p.dropdownMenu?angular.element(p.dropdownMenu).find("a"):angular.element(b).find("ul").eq(0).find("a");switch(a){case 40:angular.isNumber(p.selectedOption)?p.selectedOption=p.selectedOption===c.length-1?p.selectedOption:p.selectedOption+1:p.selectedOption=0;break;case 38:angular.isNumber(p.selectedOption)?p.selectedOption=0===p.selectedOption?0:p.selectedOption-1:p.selectedOption=c.length-1}c[p.selectedOption].focus()},q.getDropdownElement=function(){return p.dropdownMenu},q.focusToggleElement=function(){p.toggleElement&&p.toggleElement[0].focus()},q.$watch("isOpen",function(c,d){if(u&&p.dropdownMenu){var e=h.positionElements(b,p.dropdownMenu,"bottom-left",!0),i={top:e.top+"px",display:c?"block":"none"},l=p.dropdownMenu.hasClass("dropdown-menu-right");l?(i.left="auto",i.right=window.innerWidth-(e.left+b.prop("offsetWidth"))+"px"):(i.left=e.left+"px",i.right="auto"),p.dropdownMenu.css(i)}if(g[c?"addClass":"removeClass"](b,r).then(function(){angular.isDefined(c)&&c!==d&&t(a,{open:!!c})}),c)p.dropdownMenuTemplateUrl&&k(p.dropdownMenuTemplateUrl).then(function(a){n=q.$new(),j(a.trim())(n,function(a){var b=a;p.dropdownMenu.replaceWith(b),p.dropdownMenu=b})}),q.focusToggleElement(),f.open(q);else{if(p.dropdownMenuTemplateUrl){n&&n.$destroy();var m=angular.element('');p.dropdownMenu.replaceWith(m),p.dropdownMenu=m}f.close(q),p.selectedOption=null}angular.isFunction(s)&&s(a,c)}),a.$on("$locationChangeSuccess",function(){"disabled"!==q.getAutoClose()&&(q.isOpen=!1)});var w=a.$on("$destroy",function(){q.$destroy()});q.$on("$destroy",w)}]).directive("dropdown",["$log","$dropdownSuppressWarning",function(a,b){return{controller:"DropdownController",link:function(c,d,e,f){b||a.warn("dropdown is now deprecated. Use uib-dropdown instead."),f.init()}}}]).directive("dropdownMenu",["$log","$dropdownSuppressWarning",function(a,b){return{restrict:"AC",require:"?^dropdown",link:function(c,d,e,f){if(f&&!angular.isDefined(e.dropdownNested)){b||a.warn("dropdown-menu is now deprecated. Use uib-dropdown-menu instead."),d.addClass("dropdown-menu");var g=e.templateUrl;g&&(f.dropdownMenuTemplateUrl=g),f.dropdownMenu||(f.dropdownMenu=d)}}}}]).directive("keyboardNav",["$log","$dropdownSuppressWarning",function(a,b){return{restrict:"A",require:"?^dropdown",link:function(c,d,e,f){b||a.warn("keyboard-nav is now deprecated. Use uib-keyboard-nav instead."),d.bind("keydown",function(a){if(-1!==[38,40].indexOf(a.which)){a.preventDefault(),a.stopPropagation();var b=f.dropdownMenu.find("a");switch(a.which){case 40:angular.isNumber(f.selectedOption)?f.selectedOption=f.selectedOption===b.length-1?f.selectedOption:f.selectedOption+1:f.selectedOption=0;break;case 38:angular.isNumber(f.selectedOption)?f.selectedOption=0===f.selectedOption?0:f.selectedOption-1:f.selectedOption=b.length-1}b[f.selectedOption].focus()}})}}}]).directive("dropdownToggle",["$log","$dropdownSuppressWarning",function(a,b){return{require:"?^dropdown",link:function(c,d,e,f){if(b||a.warn("dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead."),f){d.addClass("dropdown-toggle"),f.toggleElement=d;var g=function(a){a.preventDefault(),d.hasClass("disabled")||e.disabled||c.$apply(function(){f.toggle()})};d.bind("click",g),d.attr({"aria-haspopup":!0,"aria-expanded":!1}),c.$watch(f.isOpen,function(a){d.attr("aria-expanded",!!a)}),c.$on("$destroy",function(){d.unbind("click",g)})}}}}]),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0&&(b=u.top().value,b.modalDomEl.toggleClass(b.windowTopClass||"",a))}function m(){if(q&&-1==j()){var a=r;n(q,r,function(){a=null}),q=void 0,r=void 0}}function n(b,c,d){function e(){e.done||(e.done=!0,p?p(b,{event:"leave"}).start().then(function(){b.remove()}):a.leave(b),c.$destroy(),d&&d())}var g,h=null,i=function(){return g||(g=f.defer(),h=g.promise),function(){g.resolve()}};return c.$broadcast(w.NOW_CLOSING_EVENT,i),f.when(h).then(e)}function o(a,b,c){return!a.value.modalScope.$broadcast("modal.closing",b,c).defaultPrevented}var p=null;g.has("$animateCss")&&(p=g.get("$animateCss"));var q,r,s,t="modal-open",u=i.createNew(),v=h.createNew(),w={NOW_CLOSING_EVENT:"modal.stack.now-closing"},x=0,y="a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]";return e.$watch(j,function(a){r&&(r.index=a)}),c.bind("keydown",function(a){if(a.isDefaultPrevented())return a;var b=u.top();if(b&&b.value.keyboard)switch(a.which){case 27:a.preventDefault(),e.$apply(function(){w.dismiss(b.key,"escape key press")});break;case 9:w.loadFocusElementList(b);var c=!1;a.shiftKey?w.isFocusInFirstItem(a)&&(c=w.focusLastFocusableElement()):w.isFocusInLastItem(a)&&(c=w.focusFirstFocusableElement()),c&&(a.preventDefault(),a.stopPropagation())}}),w.open=function(a,b){var f=c[0].activeElement,g=b.openedClass||t;l(!1),u.add(a,{deferred:b.deferred,renderDeferred:b.renderDeferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard,openedClass:b.openedClass,windowTopClass:b.windowTopClass}),v.put(g,a);var h=c.find("body").eq(0),i=j();if(i>=0&&!q){r=e.$new(!0),r.index=i;var k=angular.element('
      ');k.attr("backdrop-class",b.backdropClass),b.animation&&k.attr("modal-animation","true"),q=d(k)(r),h.append(q)}var m=angular.element('
      ');m.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,"window-top-class":b.windowTopClass,size:b.size,index:u.length()-1,animate:"animate"}).html(b.content),b.animation&&m.attr("modal-animation","true");var n=d(m)(b.scope);u.top().value.modalDomEl=n,u.top().value.modalOpener=f,h.append(n),h.addClass(g),w.clearFocusListCache()},w.close=function(a,b){var c=u.get(a);return c&&o(c,b,!0)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.resolve(b),k(a,c.value.modalOpener),!0):!c},w.dismiss=function(a,b){var c=u.get(a);return c&&o(c,b,!1)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.reject(b),k(a,c.value.modalOpener),!0):!c},w.dismissAll=function(a){for(var b=this.getTop();b&&this.dismiss(b.key,a);)b=this.getTop()},w.getTop=function(){return u.top()},w.modalRendered=function(a){var b=u.get(a);b&&b.value.renderDeferred.resolve()},w.focusFirstFocusableElement=function(){return s.length>0?(s[0].focus(),!0):!1},w.focusLastFocusableElement=function(){return s.length>0?(s[s.length-1].focus(),!0):!1},w.isFocusInFirstItem=function(a){return s.length>0?(a.target||a.srcElement)==s[0]:!1},w.isFocusInLastItem=function(a){return s.length>0?(a.target||a.srcElement)==s[s.length-1]:!1},w.clearFocusListCache=function(){s=[],x=0},w.loadFocusElementList=function(a){if((void 0===s||!s.length)&&a){var b=a.value.modalDomEl;b&&b.length&&(s=b[0].querySelectorAll(y))}},w}]).provider("$uibModal",function(){var a={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$templateRequest","$controller","$uibModalStack","$modalSuppressWarning","$log",function(b,c,d,e,f,g,h,i){function j(a){return a.template?d.when(a.template):e(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl)}function k(a){var c=[];return angular.forEach(a,function(a){angular.isFunction(a)||angular.isArray(a)?c.push(d.when(b.invoke(a))):angular.isString(a)?c.push(d.when(b.get(a))):c.push(d.when(a))}),c}var l={},m=null;return l.getPromiseChain=function(){return m},l.open=function(b){function e(){return r}var l=d.defer(),n=d.defer(),o=d.defer(),p={result:l.promise,opened:n.promise,rendered:o.promise,close:function(a){return g.close(p,a)},dismiss:function(a){return g.dismiss(p,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var q,r=d.all([j(b)].concat(k(b.resolve)));return q=m=d.all([m]).then(e,e).then(function(a){var d=(b.scope||c).$new();d.$close=p.close,d.$dismiss=p.dismiss,d.$on("$destroy",function(){d.$$uibDestructionScheduled||d.$dismiss("$uibUnscheduledDestruction")});var e,j={},k=1;b.controller&&(j.$scope=d,j.$uibModalInstance=p,Object.defineProperty(j,"$modalInstance",{get:function(){return h||i.warn("$modalInstance is now deprecated. Use $uibModalInstance instead."),p}}),angular.forEach(b.resolve,function(b,c){j[c]=a[k++]}),e=f(b.controller,j),b.controllerAs&&(b.bindToController&&angular.extend(e,d),d[b.controllerAs]=e)),g.open(p,{scope:d,deferred:l,renderDeferred:o,content:a[0],animation:b.animation,backdrop:b.backdrop,keyboard:b.keyboard,backdropClass:b.backdropClass,windowTopClass:b.windowTopClass,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size,openedClass:b.openedClass}),n.resolve(!0)},function(a){n.reject(a),l.reject(a)})["finally"](function(){m===q&&(m=null)}),p},l}]};return a}),angular.module("ui.bootstrap.modal").value("$modalSuppressWarning",!1).directive("modalBackdrop",["$animate","$injector","$modalStack","$log","$modalSuppressWarning",function(a,b,c,d,e){function f(b,f,h){e||d.warn("modal-backdrop is now deprecated. Use uib-modal-backdrop instead."),f.addClass("modal-backdrop"),h.modalInClass&&(g?g(f,{addClass:h.modalInClass}).start():a.addClass(f,h.modalInClass),b.$on(c.NOW_CLOSING_EVENT,function(b,c){var d=c();g?g(f,{removeClass:h.modalInClass}).start().then(d):a.removeClass(f,h.modalInClass).then(d)}))}var g=null;return b.has("$animateCss")&&(g=b.get("$animateCss")),{replace:!0,templateUrl:"template/modal/backdrop.html",compile:function(a,b){return a.addClass(b.backdropClass),f}}}]).directive("modalWindow",["$modalStack","$q","$animate","$injector","$log","$modalSuppressWarning",function(a,b,c,d,e,f){var g=null;return d.has("$animateCss")&&(g=d.get("$animateCss")),{scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"template/modal/window.html"},link:function(d,h,i){f||e.warn("modal-window is now deprecated. Use uib-modal-window instead."),h.addClass(i.windowClass||""),h.addClass(i.windowTopClass||""),d.size=i.size,d.close=function(b){var c=a.getTop();c&&c.value.backdrop&&"static"!==c.value.backdrop&&b.target===b.currentTarget&&(b.preventDefault(),b.stopPropagation(),a.dismiss(c.key,"backdrop click"))},h.on("click",d.close),d.$isRendered=!0;var j=b.defer();i.$observe("modalRender",function(a){"true"==a&&j.resolve()}),j.promise.then(function(){var e=null;i.modalInClass&&(e=g?g(h,{addClass:i.modalInClass}).start():c.addClass(h,i.modalInClass),d.$on(a.NOW_CLOSING_EVENT,function(a,b){var d=b();g?g(h,{removeClass:i.modalInClass}).start().then(d):c.removeClass(h,i.modalInClass).then(d)})),b.when(e).then(function(){var a=h[0].querySelector("[autofocus]");a?a.focus():h[0].focus()});var f=a.getTop();f&&a.modalRendered(f.key)})}}}]).directive("modalAnimationClass",["$log","$modalSuppressWarning",function(a,b){return{compile:function(c,d){b||a.warn("modal-animation-class is now deprecated. Use uib-modal-animation-class instead."),d.modalAnimation&&c.addClass(d.modalAnimationClass)}}}]).directive("modalTransclude",["$log","$modalSuppressWarning",function(a,b){return{link:function(c,d,e,f,g){ +b||a.warn("modal-transclude is now deprecated. Use uib-modal-transclude instead."),g(c.$parent,function(a){d.empty(),d.append(a)})}}}]).service("$modalStack",["$animate","$timeout","$document","$compile","$rootScope","$q","$injector","$$multiMap","$$stackedMap","$uibModalStack","$log","$modalSuppressWarning",function(a,b,c,d,e,f,g,h,i,j,k,l){l||k.warn("$modalStack is now deprecated. Use $uibModalStack instead."),angular.extend(this,j)}]).provider("$modal",["$uibModalProvider",function(a){angular.extend(this,a),this.$get=["$injector","$log","$modalSuppressWarning",function(b,c,d){return d||c.warn("$modal is now deprecated. Use $uibModal instead."),b.invoke(a.$get)}]}]),angular.module("ui.bootstrap.pagination",[]).controller("UibPaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(g,h){e=g,this.config=h,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=h.itemsPerPage,a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b,c){c&&c.preventDefault();var d=!a.ngDisabled||!c;d&&a.page!==b&&b>0&&b<=a.totalPages&&(c&&c.target&&c.target.blur(),e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages}}]).constant("uibPaginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("uibPagination",["$parse","uibPaginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["uibPagination","?ngModel"],controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pagination.html"},replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("uibPagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("uibPager",["uibPagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["uibPager","?ngModel"],controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pager.html"},replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.pagination").value("$paginationSuppressWarning",!1).controller("PaginationController",["$scope","$attrs","$parse","$log","$paginationSuppressWarning",function(a,b,c,d,e){e||d.warn("PaginationController is now deprecated. Use UibPaginationController instead.");var f=this,g={$setViewValue:angular.noop},h=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(d,e){g=d,this.config=e,g.$render=function(){f.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){f.itemsPerPage=parseInt(b,10),a.totalPages=f.calculateTotalPages()}):this.itemsPerPage=e.itemsPerPage,a.$watch("totalItems",function(){a.totalPages=f.calculateTotalPages()}),a.$watch("totalPages",function(b){h(a.$parent,b),a.page>b?a.selectPage(b):g.$render()})},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(g.$viewValue,10)||1},a.selectPage=function(b,c){c&&c.preventDefault();var d=!a.ngDisabled||!c;d&&a.page!==b&&b>0&&b<=a.totalPages&&(c&&c.target&&c.target.blur(),g.$setViewValue(b),g.$render())},a.getText=function(b){return a[b+"Text"]||f.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages}}]).directive("pagination",["$parse","uibPaginationConfig","$log","$paginationSuppressWarning",function(a,b,c,d){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["pagination","?ngModel"],controller:"PaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pagination.html"},replace:!0,link:function(e,f,g,h){function i(a,b,c){return{number:a,text:b,active:c}}function j(a,b){var c=[],d=1,e=b,f=angular.isDefined(m)&&b>m;f&&(n?(d=Math.max(a-Math.floor(m/2),1),e=d+m-1,e>b&&(e=b,d=e-m+1)):(d=(Math.ceil(a/m)-1)*m+1,e=Math.min(d+m-1,b)));for(var g=d;e>=g;g++){var h=i(g,g,g===a);c.push(h)}if(f&&!n){if(d>1){var j=i(d-1,"...",!1);c.unshift(j)}if(b>e){var k=i(e+1,"...",!1);c.push(k)}}return c}d||c.warn("pagination is now deprecated. Use uib-pagination instead.");var k=h[0],l=h[1];if(l){var m=angular.isDefined(g.maxSize)?e.$parent.$eval(g.maxSize):b.maxSize,n=angular.isDefined(g.rotate)?e.$parent.$eval(g.rotate):b.rotate;e.boundaryLinks=angular.isDefined(g.boundaryLinks)?e.$parent.$eval(g.boundaryLinks):b.boundaryLinks,e.directionLinks=angular.isDefined(g.directionLinks)?e.$parent.$eval(g.directionLinks):b.directionLinks,k.init(l,b),g.maxSize&&e.$parent.$watch(a(g.maxSize),function(a){m=parseInt(a,10),k.render()});var o=k.render;k.render=function(){o(),e.page>0&&e.page<=e.totalPages&&(e.pages=j(e.page,e.totalPages))}}}}}]).directive("pager",["uibPagerConfig","$log","$paginationSuppressWarning",function(a,b,c){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["pager","?ngModel"],controller:"PaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"template/pagination/pager.html"},replace:!0,link:function(d,e,f,g){c||b.warn("pager is now deprecated. Use uib-pager instead.");var h=g[0],i=g[1];i&&(d.align=angular.isDefined(f.align)?d.$parent.$eval(f.align):a.align,h.init(i,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},c={mouseenter:"mouseleave",click:"click",focus:"blur",none:""},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function(e,f,g,h,i,j,k,l,m){var n=m.createNew();return h.on("keypress",function(a){if(27===a.which){var b=n.top();b&&(b.value.close(),n.removeTop(),b=null)}}),function(e,k,m,o){function p(a){var b=(a||o.trigger||m).split(" "),d=b.map(function(a){return c[a]||a});return{show:b,hide:d}}o=angular.extend({},b,d,o);var q=a(e),r=j.startSymbol(),s=j.endSymbol(),t="
      ';return{compile:function(a,b){var c=f(t);return function(a,b,d,f){function j(){L.isOpen?q():m()}function m(){(!K||a.$eval(d[k+"Enable"]))&&(u(),x(),L.popupDelay?F||(F=g(r,L.popupDelay,!1)):r())}function q(){s(),L.popupCloseDelay?G||(G=g(t,L.popupCloseDelay,!1)):t()}function r(){return s(),u(),L.content?(v(),void L.$evalAsync(function(){L.isOpen=!0,y(!0),Q()})):angular.noop}function s(){F&&(g.cancel(F),F=null),H&&(g.cancel(H),H=null)}function t(){s(),u(),L&&L.$evalAsync(function(){L.isOpen=!1,y(!1),L.animation?E||(E=g(w,150,!1)):w()})}function u(){G&&(g.cancel(G),G=null),E&&(g.cancel(E),E=null)}function v(){C||(D=L.$new(),C=c(D,function(a){I?h.find("body").append(a):b.after(a)}),z())}function w(){A(),E=null,C&&(C.remove(),C=null),D&&(D.$destroy(),D=null)}function x(){L.title=d[k+"Title"],O?L.content=O(a):L.content=d[e],L.popupClass=d[k+"Class"],L.placement=angular.isDefined(d[k+"Placement"])?d[k+"Placement"]:o.placement;var b=parseInt(d[k+"PopupDelay"],10),c=parseInt(d[k+"PopupCloseDelay"],10);L.popupDelay=isNaN(b)?o.popupDelay:b,L.popupCloseDelay=isNaN(c)?o.popupCloseDelay:c}function y(b){N&&angular.isFunction(N.assign)&&N.assign(a,b)}function z(){P.length=0,O?(P.push(a.$watch(O,function(a){L.content=a,!a&&L.isOpen&&t()})),P.push(D.$watch(function(){M||(M=!0,D.$$postDigest(function(){M=!1,L&&L.isOpen&&Q()}))}))):P.push(d.$observe(e,function(a){L.content=a,!a&&L.isOpen?t():Q()})),P.push(d.$observe(k+"Title",function(a){L.title=a,L.isOpen&&Q()})),P.push(d.$observe(k+"Placement",function(a){L.placement=a?a:o.placement,L.isOpen&&Q()}))}function A(){P.length&&(angular.forEach(P,function(a){a()}),P.length=0)}function B(){var a=d[k+"Trigger"];R(),J=p(a),"none"!==J.show&&J.show.forEach(function(a,c){a===J.hide[c]?b[0].addEventListener(a,j):a&&(b[0].addEventListener(a,m),J.hide[c].split(" ").forEach(function(a){b[0].addEventListener(a,q)})),b.on("keypress",function(a){27===a.which&&q()})})}var C,D,E,F,G,H,I=angular.isDefined(o.appendToBody)?o.appendToBody:!1,J=p(void 0),K=angular.isDefined(d[k+"Enable"]),L=a.$new(!0),M=!1,N=angular.isDefined(d[k+"IsOpen"])?l(d[k+"IsOpen"]):!1,O=o.useContentExp?l(d[e]):!1,P=[],Q=function(){C&&C.html()&&(H||(H=g(function(){C.css({top:0,left:0});var a=i.positionElements(b,C,L.placement,I);a.top+="px",a.left+="px",a.visibility="visible",C.css(a),H=null},0,!1)))};L.origScope=a,L.isOpen=!1,n.add(L,{close:t}),L.contentExp=function(){return L.content},d.$observe("disabled",function(a){a&&s(),a&&L.isOpen&&t()}),N&&a.$watch(N,function(a){L&&!a===L.isOpen&&j()});var R=function(){J.show.forEach(function(a){b.unbind(a,m)}),J.hide.forEach(function(a){a.split(" ").forEach(function(a){b[0].removeEventListener(a,q)})})};B();var S=a.$eval(d[k+"Animation"]);L.animation=angular.isDefined(S)?!!S:o.animation;var T=a.$eval(d[k+"AppendToBody"]);I=angular.isDefined(T)?T:I,I&&a.$on("$locationChangeSuccess",function(){L.isOpen&&t()}),a.$on("$destroy",function(){s(),u(),R(),w(),n.remove(L),L=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function(a,b,c,d){return{link:function(e,f,g){var h,i,j,k=e.$eval(g.tooltipTemplateTranscludeScope),l=0,m=function(){i&&(i.remove(),i=null),h&&(h.$destroy(),h=null),j&&(a.leave(j).then(function(){i=null}),i=j,j=null)};e.$watch(b.parseAsResourceUrl(g.uibTooltipTemplateTransclude),function(b){var g=++l;b?(d(b,!0).then(function(d){if(g===l){var e=k.$new(),i=d,n=c(i)(e,function(b){m(),a.enter(b,f)});h=e,j=n,h.$emit("$includeContentLoaded",b)}},function(){g===l&&(m(),e.$emit("$includeContentError",b))}),e.$emit("$includeContentRequested",b)):m()}),e.$on("$destroy",m)}}}]).directive("uibTooltipClasses",function(){return{restrict:"A",link:function(a,b,c){a.placement&&b.addClass(a.placement),a.popupClass&&b.addClass(a.popupClass),a.animation()&&b.addClass(c.tooltipAnimationClass)}}}).directive("uibTooltipPopup",function(){return{replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html",link:function(a,b){b.addClass("tooltip")}}}).directive("uibTooltip",["$uibTooltip",function(a){return a("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/tooltip/tooltip-template-popup.html",link:function(a,b){b.addClass("tooltip")}}}).directive("uibTooltipTemplate",["$uibTooltip",function(a){return a("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-popup.html",link:function(a,b){b.addClass("tooltip")}}}).directive("uibTooltipHtml",["$uibTooltip",function(a){return a("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.tooltip").value("$tooltipSuppressWarning",!1).provider("$tooltip",["$uibTooltipProvider",function(a){angular.extend(this,a),this.$get=["$log","$tooltipSuppressWarning","$injector",function(b,c,d){return c||b.warn("$tooltip is now deprecated. Use $uibTooltip instead."),d.invoke(a.$get)}]}]).directive("tooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest","$log","$tooltipSuppressWarning",function(a,b,c,d,e,f){return{link:function(g,h,i){f||e.warn("tooltip-template-transclude is now deprecated. Use uib-tooltip-template-transclude instead.");var j,k,l,m=g.$eval(i.tooltipTemplateTranscludeScope),n=0,o=function(){k&&(k.remove(),k=null),j&&(j.$destroy(),j=null),l&&(a.leave(l).then(function(){k=null}),k=l,l=null)};g.$watch(b.parseAsResourceUrl(i.tooltipTemplateTransclude),function(b){var e=++n;b?(d(b,!0).then(function(d){if(e===n){var f=m.$new(),g=d,i=c(g)(f,function(b){o(),a.enter(b,h)});j=f,l=i,j.$emit("$includeContentLoaded",b)}},function(){e===n&&(o(),g.$emit("$includeContentError",b))}),g.$emit("$includeContentRequested",b)):o()}),g.$on("$destroy",o)}}}]).directive("tooltipClasses",["$log","$tooltipSuppressWarning",function(a,b){return{restrict:"A",link:function(c,d,e){b||a.warn("tooltip-classes is now deprecated. Use uib-tooltip-classes instead."),c.placement&&d.addClass(c.placement),c.popupClass&&d.addClass(c.popupClass),c.animation()&&d.addClass(e.tooltipAnimationClass)}}}]).directive("tooltipPopup",["$log","$tooltipSuppressWarning",function(a,b){return{replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html",link:function(c,d){b||a.warn("tooltip-popup is now deprecated. Use uib-tooltip-popup instead."),d.addClass("tooltip")}}}]).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipTemplatePopup",["$log","$tooltipSuppressWarning",function(a,b){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/tooltip/tooltip-template-popup.html",link:function(c,d){b||a.warn("tooltip-template-popup is now deprecated. Use uib-tooltip-template-popup instead."),d.addClass("tooltip")}}}]).directive("tooltipTemplate",["$tooltip",function(a){return a("tooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("tooltipHtmlPopup",["$log","$tooltipSuppressWarning",function(a,b){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-popup.html",link:function(c,d){b||a.warn("tooltip-html-popup is now deprecated. Use uib-tooltip-html-popup instead."),d.addClass("tooltip")}}}]).directive("tooltipHtml",["$tooltip",function(a){return a("tooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("uibPopoverTemplatePopup",function(){return{replace:!0,scope:{title:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/popover/popover-template.html",link:function(a,b){b.addClass("popover")}}}).directive("uibPopoverTemplate",["$uibTooltip",function(a){return a("uibPopoverTemplate","popover","click",{useContentExp:!0})}]).directive("uibPopoverHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",title:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover-html.html",link:function(a,b){b.addClass("popover")}}}).directive("uibPopoverHtml",["$uibTooltip",function(a){return a("uibPopoverHtml","popover","click",{useContentExp:!0})}]).directive("uibPopoverPopup",function(){return{replace:!0,scope:{title:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html",link:function(a,b){b.addClass("popover")}}}).directive("uibPopover",["$uibTooltip",function(a){return a("uibPopover","popover","click")}]),angular.module("ui.bootstrap.popover").value("$popoverSuppressWarning",!1).directive("popoverTemplatePopup",["$log","$popoverSuppressWarning",function(a,b){return{replace:!0,scope:{title:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/popover/popover-template.html",link:function(c,d){b||a.warn("popover-template-popup is now deprecated. Use uib-popover-template-popup instead."),d.addClass("popover")}}}]).directive("popoverTemplate",["$tooltip",function(a){return a("popoverTemplate","popover","click",{useContentExp:!0})}]).directive("popoverHtmlPopup",["$log","$popoverSuppressWarning",function(a,b){return{replace:!0,scope:{contentExp:"&",title:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover-html.html",link:function(c,d){b||a.warn("popover-html-popup is now deprecated. Use uib-popover-html-popup instead."),d.addClass("popover")}}}]).directive("popoverHtml",["$tooltip",function(a){return a("popoverHtml","popover","click",{useContentExp:!0})}]).directive("popoverPopup",["$log","$popoverSuppressWarning",function(a,b){return{replace:!0,scope:{title:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html",link:function(c,d){b||a.warn("popover-popup is now deprecated. Use uib-popover-popup instead."),d.addClass("popover")}}}]).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("uibProgressConfig",{animate:!0,max:100}).controller("UibProgressController",["$scope","$attrs","uibProgressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(a.max)?a.max:c.max,this.addBar=function(b,c,f){e||c.css({transition:"none"}),this.bars.push(b),b.max=a.max,b.title=f&&angular.isDefined(f.title)?f.title:"progressbar",b.$watch("value",function(a){b.recalculatePercentage()}),b.recalculatePercentage=function(){var a=d.bars.reduce(function(a,b){return b.percent=+(100*b.value/b.max).toFixed(2),a+b.percent},0);a>100&&(b.percent-=a-100)},b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1),this.bars.forEach(function(a){a.recalculatePercentage()})},a.$watch("max",function(b){d.bars.forEach(function(b){b.max=a.max,b.recalculatePercentage()})})}]).directive("uibProgress",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",require:"uibProgress",scope:{max:"=?"},templateUrl:"template/progressbar/progress.html"}}).directive("uibBar",function(){return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b,c)}}}).directive("uibProgressbar",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",scope:{value:"=",max:"=?",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]),{title:c.title})}}}),angular.module("ui.bootstrap.progressbar").value("$progressSuppressWarning",!1).controller("ProgressController",["$scope","$attrs","uibProgressConfig","$log","$progressSuppressWarning",function(a,b,c,d,e){e||d.warn("ProgressController is now deprecated. Use UibProgressController instead.");var f=this,g=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(a.max)?a.max:c.max,this.addBar=function(b,c,d){g||c.css({transition:"none"}),this.bars.push(b),b.max=a.max,b.title=d&&angular.isDefined(d.title)?d.title:"progressbar",b.$watch("value",function(a){b.recalculatePercentage()}),b.recalculatePercentage=function(){b.percent=+(100*b.value/b.max).toFixed(2);var a=f.bars.reduce(function(a,b){return a+b.percent},0);a>100&&(b.percent-=a-100)},b.$on("$destroy",function(){c=null,f.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)},a.$watch("max",function(b){f.bars.forEach(function(b){b.max=a.max,b.recalculatePercentage()})})}]).directive("progress",["$log","$progressSuppressWarning",function(a,b){return{replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{max:"=?",title:"@?"},templateUrl:"template/progressbar/progress.html",link:function(){b||a.warn("progress is now deprecated. Use uib-progress instead.")}}}]).directive("bar",["$log","$progressSuppressWarning",function(a,b){return{replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(c,d,e,f){b||a.warn("bar is now deprecated. Use uib-bar instead."),f.addBar(c,d)}}}]).directive("progressbar",["$log","$progressSuppressWarning",function(a,b){return{replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",max:"=?",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(c,d,e,f){b||a.warn("progressbar is now deprecated. Use uib-progressbar instead."),f.addBar(c,angular.element(d.children()[0]),{title:e.title})}}}]),angular.module("ui.bootstrap.rating",[]).constant("uibRatingConfig",{max:5,stateOn:null,stateOff:null,titles:["one","two","three","four","five"]}).controller("UibRatingController",["$scope","$attrs","uibRatingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,d.$formatters.push(function(a){return angular.isNumber(a)&&a<<0!==a&&(a=Math.round(a)),a}),this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.titles)?a.$parent.$eval(b.titles):c.titles;this.titles=angular.isArray(f)&&f.length>0?f:c.titles;var g=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(g)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(b)},a[b]);return a},this.getTitle=function(a){return a>=this.titles.length?a+1:this.titles[a]},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(d.$viewValue===b?0:b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("uibRating",function(){return{require:["uibRating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}),angular.module("ui.bootstrap.rating").value("$ratingSuppressWarning",!1).controller("RatingController",["$scope","$attrs","$controller","$log","$ratingSuppressWarning",function(a,b,c,d,e){e||d.warn("RatingController is now deprecated. Use UibRatingController instead."),angular.extend(this,c("UibRatingController",{$scope:a,$attrs:b}))}]).directive("rating",["$log","$ratingSuppressWarning",function(a,b){return{require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(c,d,e,f){b||a.warn("rating is now deprecated. Use uib-rating instead.");var g=f[0],h=f[1];g.init(h)}}}]),angular.module("ui.bootstrap.tabs",[]).controller("UibTabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect(),a.selectCalled=!1)}),a.active=!0,a.selectCalled||(a.onSelect(),a.selectCalled=!0)},b.addTab=function(a){c.push(a),1===c.length&&a.active!==!1?a.active=!0:a.active?b.select(a):a.active=!1},b.removeTab=function(a){var e=c.indexOf(a);if(a.active&&c.length>1&&!d){var f=e==c.length-1?e-1:e+1;b.select(c[f])}c.splice(e,1)};var d;a.$on("$destroy",function(){d=!0})}]).directive("uibTabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"UibTabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("uibTab",["$parse",function(a){return{require:"^uibTabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},link:function(b,c,d,e,f){b.$watch("active",function(a){a&&e.select(b)}),b.disabled=!1,d.disable&&b.$parent.$watch(a(d.disable),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},e.addTab(b),b.$on("$destroy",function(){e.removeTab(b)}),b.$transcludeFn=f}}}]).directive("uibTabHeadingTransclude",function(){return{restrict:"A",require:["?^uibTab","?^tab"],link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}).directive("uibTabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||a.hasAttribute("x-tab-heading")||a.hasAttribute("uib-tab-heading")||a.hasAttribute("data-uib-tab-heading")||a.hasAttribute("x-uib-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase()||"x-tab-heading"===a.tagName.toLowerCase()||"uib-tab-heading"===a.tagName.toLowerCase()||"data-uib-tab-heading"===a.tagName.toLowerCase()||"x-uib-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:["?^uibTabset","?^tabset"],link:function(b,c,d){var e=b.$eval(d.uibTabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.tabs").value("$tabsSuppressWarning",!1).controller("TabsetController",["$scope","$controller","$log","$tabsSuppressWarning",function(a,b,c,d){d||c.warn("TabsetController is now deprecated. Use UibTabsetController instead."),angular.extend(this,b("UibTabsetController",{$scope:a}))}]).directive("tabset",["$log","$tabsSuppressWarning",function(a,b){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(c,d,e){b||a.warn("tabset is now deprecated. Use uib-tabset instead."),c.vertical=angular.isDefined(e.vertical)?c.$parent.$eval(e.vertical):!1,c.justified=angular.isDefined(e.justified)?c.$parent.$eval(e.justified):!1}}}]).directive("tab",["$parse","$log","$tabsSuppressWarning",function(a,b,c){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},link:function(d,e,f,g,h){c||b.warn("tab is now deprecated. Use uib-tab instead."),d.$watch("active",function(a){a&&g.select(d)}),d.disabled=!1,f.disable&&d.$parent.$watch(a(f.disable),function(a){d.disabled=!!a}),d.select=function(){d.disabled||(d.active=!0)},g.addTab(d),d.$on("$destroy",function(){g.removeTab(d)}),d.$transcludeFn=h}}}]).directive("tabHeadingTransclude",["$log","$tabsSuppressWarning",function(a,b){return{restrict:"A",require:"^tab",link:function(c,d){b||a.warn("tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead."),c.$watch("headingElement",function(a){a&&(d.html(""),d.append(a))})}}}]).directive("tabContentTransclude",["$log","$tabsSuppressWarning",function(a,b){function c(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||a.hasAttribute("x-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase()||"x-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(d,e,f){b||a.warn("tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead.");var g=d.$eval(f.tabContentTransclude);g.$transcludeFn(g.$parent,function(a){angular.forEach(a,function(a){c(a)?g.headingElement=a:e.append(a)})})}}}]),angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function(a,b,c,d,e,f,g){function h(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===r[1]&&(b+=12)),b):void 0}function i(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function j(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a.toString()}function k(a){l(),q.$setViewValue(new Date(p)),m(a)}function l(){q.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function m(b){var c=p.getHours(),d=p.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:j(c),"m"!==b&&(a.minutes=j(d)),a.meridian=p.getHours()<12?r[0]:r[1]}function n(a,b){var c=new Date(a.getTime()+6e4*b),d=new Date(a);return d.setHours(c.getHours(),c.getMinutes()),d}function o(a){p=n(p,a),k()}var p=new Date,q={$setViewValue:angular.noop},r=angular.isDefined(c.meridians)?a.$parent.$eval(c.meridians):g.meridians||f.DATETIME_FORMATS.AMPMS;a.tabindex=angular.isDefined(c.tabindex)?c.tabindex:0,b.removeAttr("tabindex"),this.init=function(b,d){q=b,q.$render=this.render,q.$formatters.unshift(function(a){return a?new Date(a):null});var e=d.eq(0),f=d.eq(1),h=angular.isDefined(c.mousewheel)?a.$parent.$eval(c.mousewheel):g.mousewheel;h&&this.setupMousewheelEvents(e,f);var i=angular.isDefined(c.arrowkeys)?a.$parent.$eval(c.arrowkeys):g.arrowkeys;i&&this.setupArrowkeyEvents(e,f),a.readonlyInput=angular.isDefined(c.readonlyInput)?a.$parent.$eval(c.readonlyInput):g.readonlyInput,this.setupInputEvents(e,f)};var s=g.hourStep;c.hourStep&&a.$parent.$watch(d(c.hourStep),function(a){s=parseInt(a,10)});var t=g.minuteStep;c.minuteStep&&a.$parent.$watch(d(c.minuteStep),function(a){t=parseInt(a,10)});var u;a.$parent.$watch(d(c.min),function(a){var b=new Date(a);u=isNaN(b)?void 0:b});var v;a.$parent.$watch(d(c.max),function(a){var b=new Date(a);v=isNaN(b)?void 0:b}),a.noIncrementHours=function(){var a=n(p,60*s); +return a>v||p>a&&u>a},a.noDecrementHours=function(){var a=n(p,60*-s);return u>a||a>p&&a>v},a.noIncrementMinutes=function(){var a=n(p,t);return a>v||p>a&&u>a},a.noDecrementMinutes=function(){var a=n(p,-t);return u>a||a>p&&a>v},a.noToggleMeridian=function(){return p.getHours()<13?n(p,720)>v:n(p,-720)0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupArrowkeyEvents=function(b,c){b.bind("keydown",function(b){38===b.which?(b.preventDefault(),a.incrementHours(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementHours(),a.$apply())}),c.bind("keydown",function(b){38===b.which?(b.preventDefault(),a.incrementMinutes(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementMinutes(),a.$apply())})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){q.$setViewValue(null),q.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=h(),b=i();angular.isDefined(a)&&angular.isDefined(b)?(p.setHours(a),u>p||p>v?d(!0):k("h")):d(!0)},b.bind("blur",function(b){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=j(a.hours)})}),a.updateMinutes=function(){var a=i(),b=h();angular.isDefined(a)&&angular.isDefined(b)?(p.setMinutes(a),u>p||p>v?d(void 0,!0):k("m")):d(void 0,!0)},c.bind("blur",function(b){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=j(a.minutes)})})},this.render=function(){var b=q.$viewValue;isNaN(b)?(q.$setValidity("time",!1),e.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(b&&(p=b),u>p||p>v?(q.$setValidity("time",!1),a.invalidHours=!0,a.invalidMinutes=!0):l(),m())},a.showSpinners=angular.isDefined(c.showSpinners)?a.$parent.$eval(c.showSpinners):g.showSpinners,a.incrementHours=function(){a.noIncrementHours()||o(60*s)},a.decrementHours=function(){a.noDecrementHours()||o(60*-s)},a.incrementMinutes=function(){a.noIncrementMinutes()||o(t)},a.decrementMinutes=function(){a.noDecrementMinutes()||o(-t)},a.toggleMeridian=function(){a.noToggleMeridian()||o(720*(p.getHours()<12?1:-1))}}]).directive("uibTimepicker",function(){return{restrict:"EA",require:["uibTimepicker","?^ngModel"],controller:"UibTimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(a,b){return b.templateUrl||"template/timepicker/timepicker.html"},link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.timepicker").value("$timepickerSuppressWarning",!1).controller("TimepickerController",["$scope","$element","$attrs","$controller","$log","$timepickerSuppressWarning",function(a,b,c,d,e,f){f||e.warn("TimepickerController is now deprecated. Use UibTimepickerController instead."),angular.extend(this,d("UibTimepickerController",{$scope:a,$element:b,$attrs:c}))}]).directive("timepicker",["$log","$timepickerSuppressWarning",function(a,b){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(a,b){return b.templateUrl||"template/timepicker/timepicker.html"},link:function(c,d,e,f){b||a.warn("timepicker is now deprecated. Use uib-timepicker instead.");var g=f[0],h=f[1];h&&g.init(h,d.find("input"))}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$uibPosition","uibTypeaheadParser",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){K.moveInProgress||(K.moveInProgress=!0,K.$digest()),S&&g.cancel(S),S=g(function(){K.matches.length&&n(),K.moveInProgress=!1},r)}function n(){K.position=C?k.offset(b):k.position(b),K.position.top+=b.prop("offsetHeight")}var o,p,q=[9,13,27,38,40],r=200,s=a.$eval(c.typeaheadMinLength);s||0===s||(s=1);var t,u,v=a.$eval(c.typeaheadWaitMs)||0,w=a.$eval(c.typeaheadEditable)!==!1,x=e(c.typeaheadLoading).assign||angular.noop,y=e(c.typeaheadOnSelect),z=angular.isDefined(c.typeaheadSelectOnBlur)?a.$eval(c.typeaheadSelectOnBlur):!1,A=e(c.typeaheadNoResults).assign||angular.noop,B=c.typeaheadInputFormatter?e(c.typeaheadInputFormatter):void 0,C=c.typeaheadAppendToBody?a.$eval(c.typeaheadAppendToBody):!1,D=c.typeaheadAppendToElementId||!1,E=a.$eval(c.typeaheadFocusFirst)!==!1,F=c.typeaheadSelectOnExact?a.$eval(c.typeaheadSelectOnExact):!1,G=e(c.ngModel),H=e(c.ngModel+"($$$p)"),I=function(b,c){return angular.isFunction(G(a))&&p&&p.$options&&p.$options.getterSetter?H(b,{$$$p:c}):G.assign(b,c)},J=l.parse(c.uibTypeahead),K=a.$new(),L=a.$on("$destroy",function(){K.$destroy()});K.$on("$destroy",L);var M="typeahead-"+K.$id+"-"+Math.floor(1e4*Math.random());b.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":M});var N=angular.element("
      ");N.attr({id:M,matches:"matches",active:"activeIdx",select:"select(activeIdx)","move-in-progress":"moveInProgress",query:"query",position:"position"}),angular.isDefined(c.typeaheadTemplateUrl)&&N.attr("template-url",c.typeaheadTemplateUrl),angular.isDefined(c.typeaheadPopupTemplateUrl)&&N.attr("popup-template-url",c.typeaheadPopupTemplateUrl);var O=function(){K.matches=[],K.activeIdx=-1,b.attr("aria-expanded",!1)},P=function(a){return M+"-option-"+a};K.$watch("activeIdx",function(a){0>a?b.removeAttr("aria-activedescendant"):b.attr("aria-activedescendant",P(a))});var Q=function(a,b){return K.matches.length>b&&a?a.toUpperCase()===K.matches[b].label.toUpperCase():!1},R=function(c){var d={$viewValue:c};x(a,!0),A(a,!1),f.when(J.source(a,d)).then(function(e){var f=c===o.$viewValue;if(f&&t)if(e&&e.length>0){K.activeIdx=E?0:-1,A(a,!1),K.matches.length=0;for(var g=0;g0?K.activeIdx:K.matches.length)-1,K.$digest()):13===a.which||9===a.which?K.$apply(function(){K.select(K.activeIdx)}):27===a.which&&(a.stopPropagation(),O(),K.$digest())}}),b.bind("blur",function(){z&&K.matches.length&&-1!==K.activeIdx&&!u&&(u=!0,K.$apply(function(){K.select(K.activeIdx)})),t=!1,u=!1});var W=function(a){b[0]!==a.target&&3!==a.which&&0!==K.matches.length&&(O(),j.$$phase||K.$digest())};h.bind("click",W),a.$on("$destroy",function(){h.unbind("click",W),(C||D)&&X.remove(),C&&(angular.element(i).unbind("resize",m),h.find("body").unbind("scroll",m)),N.remove()});var X=d(N)(K);C?h.find("body").append(X):D!==!1?angular.element(h[0].getElementById(D)).append(X):b.after(X),this.init=function(b,c){o=b,p=c,o.$parsers.unshift(function(b){return t=!0,0===s||b&&b.length>=s?v>0?(V(),U(b)):R(b):(x(a,!1),V(),O()),w?b:b?void o.$setValidity("editable",!1):(o.$setValidity("editable",!0),null)}),o.$formatters.push(function(b){var c,d,e={};return w||o.$setValidity("editable",!0),B?(e.$model=b,B(a,e)):(e[J.itemName]=b,c=J.viewMapper(a,e),e[J.itemName]=void 0,d=J.viewMapper(a,e),c!==d?c:b)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","^?ngModelOptions","uibTypeahead"],link:function(a,b,c,d){d[2].init(d[0],d[1])}}}).directive("uibTypeaheadPopup",function(){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&"},replace:!0,templateUrl:function(a,b){return b.popupTemplateUrl||"template/typeahead/typeahead-popup.html"},link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function(a,b,c){return{scope:{index:"=",match:"=",query:"="},link:function(d,e,f){var g=c(f.templateUrl)(d.$parent)||"template/typeahead/typeahead-match.html";a(g).then(function(a){b(a.trim())(d,function(a){e.replaceWith(a)})})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function(a,b,c){function d(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function e(a){return/<.*>/g.test(a)}var f;return f=b.has("$sanitize"),function(b,g){return!f&&e(b)&&c.warn("Unsafe use of typeahead please use ngSanitize"),b=g?(""+b).replace(new RegExp(d(g),"gi"),"$&"):b,f||(b=a.trustAsHtml(b)),b}}]),angular.module("ui.bootstrap.typeahead").value("$typeaheadSuppressWarning",!1).service("typeaheadParser",["$parse","uibTypeaheadParser","$log","$typeaheadSuppressWarning",function(a,b,c,d){return d||c.warn("typeaheadParser is now deprecated. Use uibTypeaheadParser instead."),b}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$window","$rootScope","$uibPosition","typeaheadParser","$log","$typeaheadSuppressWarning",function(a,b,c,d,e,f,g,h,i,j,k){var l=[9,13,27,38,40],m=200;return{require:["ngModel","^?ngModelOptions"],link:function(n,o,p,q){function r(){N.moveInProgress||(N.moveInProgress=!0,N.$digest()),V&&d.cancel(V),V=d(function(){N.matches.length&&s(),N.moveInProgress=!1},m)}function s(){N.position=F?h.offset(o):h.position(o),N.position.top+=o.prop("offsetHeight")}k||j.warn("typeahead is now deprecated. Use uib-typeahead instead.");var t=q[0],u=q[1],v=n.$eval(p.typeaheadMinLength);v||0===v||(v=1);var w,x,y=n.$eval(p.typeaheadWaitMs)||0,z=n.$eval(p.typeaheadEditable)!==!1,A=b(p.typeaheadLoading).assign||angular.noop,B=b(p.typeaheadOnSelect),C=angular.isDefined(p.typeaheadSelectOnBlur)?n.$eval(p.typeaheadSelectOnBlur):!1,D=b(p.typeaheadNoResults).assign||angular.noop,E=p.typeaheadInputFormatter?b(p.typeaheadInputFormatter):void 0,F=p.typeaheadAppendToBody?n.$eval(p.typeaheadAppendToBody):!1,G=p.typeaheadAppendToElementId||!1,H=n.$eval(p.typeaheadFocusFirst)!==!1,I=p.typeaheadSelectOnExact?n.$eval(p.typeaheadSelectOnExact):!1,J=b(p.ngModel),K=b(p.ngModel+"($$$p)"),L=function(a,b){return angular.isFunction(J(n))&&u&&u.$options&&u.$options.getterSetter?K(a,{$$$p:b}):J.assign(a,b)},M=i.parse(p.typeahead),N=n.$new(),O=n.$on("$destroy",function(){N.$destroy()});N.$on("$destroy",O);var P="typeahead-"+N.$id+"-"+Math.floor(1e4*Math.random());o.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":P});var Q=angular.element("
      ");Q.attr({id:P,matches:"matches",active:"activeIdx",select:"select(activeIdx)","move-in-progress":"moveInProgress",query:"query",position:"position"}),angular.isDefined(p.typeaheadTemplateUrl)&&Q.attr("template-url",p.typeaheadTemplateUrl),angular.isDefined(p.typeaheadPopupTemplateUrl)&&Q.attr("popup-template-url",p.typeaheadPopupTemplateUrl);var R=function(){N.matches=[],N.activeIdx=-1,o.attr("aria-expanded",!1)},S=function(a){return P+"-option-"+a};N.$watch("activeIdx",function(a){0>a?o.removeAttr("aria-activedescendant"):o.attr("aria-activedescendant",S(a))});var T=function(a,b){return N.matches.length>b&&a?a.toUpperCase()===N.matches[b].label.toUpperCase():!1},U=function(a){var b={$viewValue:a};A(n,!0),D(n,!1),c.when(M.source(n,b)).then(function(c){var d=a===t.$viewValue;if(d&&w)if(c&&c.length>0){N.activeIdx=H?0:-1,D(n,!1),N.matches.length=0;for(var e=0;e=v?y>0?(Y(),X(a)):U(a):(A(n,!1),Y(),R()),z?a:a?void t.$setValidity("editable",!1):(t.$setValidity("editable",!0),null)}),t.$formatters.push(function(a){var b,c,d={};return z||t.$setValidity("editable",!0),E?(d.$model=a,E(n,d)):(d[M.itemName]=a,b=M.viewMapper(n,d),d[M.itemName]=void 0,c=M.viewMapper(n,d),b!==c?b:a)}),N.select=function(a){var b,c,e={};x=!0,e[M.itemName]=c=N.matches[a].model,b=M.modelMapper(n,e),L(n,b),t.$setValidity("editable",!0),t.$setValidity("parse",!0),B(n,{$item:c,$model:b,$label:M.viewMapper(n,e)}),R(),N.$eval(p.typeaheadFocusOnSelect)!==!1&&d(function(){o[0].focus()},0,!1)},o.bind("keydown",function(a){if(0!==N.matches.length&&-1!==l.indexOf(a.which)){if(-1===N.activeIdx&&(9===a.which||13===a.which))return R(),void N.$digest();a.preventDefault(),40===a.which?(N.activeIdx=(N.activeIdx+1)%N.matches.length,N.$digest()):38===a.which?(N.activeIdx=(N.activeIdx>0?N.activeIdx:N.matches.length)-1,N.$digest()):13===a.which||9===a.which?N.$apply(function(){N.select(N.activeIdx)}):27===a.which&&(a.stopPropagation(),R(),N.$digest())}}),o.bind("blur",function(){C&&N.matches.length&&-1!==N.activeIdx&&!x&&(x=!0,N.$apply(function(){N.select(N.activeIdx)})),w=!1,x=!1});var Z=function(a){o[0]!==a.target&&3!==a.which&&0!==N.matches.length&&(R(),g.$$phase||N.$digest())};e.bind("click",Z),n.$on("$destroy",function(){e.unbind("click",Z),(F||G)&&$.remove(),F&&(angular.element(f).unbind("resize",r),e.find("body").unbind("scroll",r)),Q.remove()});var $=a(Q)(N);F?e.find("body").append($):G!==!1?angular.element(e[0].getElementById(G)).append($):o.after($)}}}]).directive("typeaheadPopup",["$typeaheadSuppressWarning","$log",function(a,b){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&"},replace:!0,templateUrl:function(a,b){return b.popupTemplateUrl||"template/typeahead/typeahead-popup.html"},link:function(c,d,e){a||b.warn("typeahead-popup is now deprecated. Use uib-typeahead-popup instead."),c.templateUrl=e.templateUrl,c.isOpen=function(){return c.matches.length>0},c.isActive=function(a){return c.active==a},c.selectActive=function(a){c.active=a},c.selectMatch=function(a){c.select({activeIdx:a})}}}}]).directive("typeaheadMatch",["$templateRequest","$compile","$parse","$typeaheadSuppressWarning","$log",function(a,b,c,d,e){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(f,g,h){d||e.warn("typeahead-match is now deprecated. Use uib-typeahead-match instead.");var i=c(h.templateUrl)(f.$parent)||"template/typeahead/typeahead-match.html";a(i).then(function(a){b(a.trim())(f,function(a){g.replaceWith(a)})})}}}]).filter("typeaheadHighlight",["$sce","$injector","$log","$typeaheadSuppressWarning",function(a,b,c,d){function e(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function f(a){return/<.*>/g.test(a)}var g;return g=b.has("$sanitize"),function(b,h){return d||c.warn("typeaheadHighlight is now deprecated. Use uibTypeaheadHighlight instead."),!g&&f(b)&&c.warn("Unsafe use of typeahead please use ngSanitize"),b=h?(""+b).replace(new RegExp(e(h),"gi"),"$&"):b,g||(b=a.trustAsHtml(b)),b}}]),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion-group.html",'
      \n
      \n

      \n {{heading}}\n

      \n
      \n
      \n
      \n
      \n
      \n')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion.html",'
      ')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("template/alert/alert.html",'\n')}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("template/carousel/carousel.html",'')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("template/carousel/slide.html",'
      \n')}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/datepicker.html",'
      \n \n \n \n
      ')}]),angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/day.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      {{::label.abbr}}
      {{ weekNumbers[$index] }}\n \n
      \n')}]),angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/month.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
      \n \n
      \n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/popup.html",'\n')}]),angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/year.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
      \n \n
      \n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("template/modal/backdrop.html",'
      \n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(a){a.put("template/modal/window.html",'\n')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pager.html",'\n')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pagination.html",'\n')}]),angular.module("template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-html-popup.html",'\n
      \n
      \n
      \n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-popup.html",'\n
      \n
      \n\n')}]),angular.module("template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-template-popup.html",'\n
      \n
      \n\n')}]),angular.module("template/popover/popover-html.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover-html.html",'
      \n
      \n\n
      \n

      \n
      \n
      \n
      \n')}]),angular.module("template/popover/popover-template.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover-template.html",'
      \n
      \n\n
      \n

      \n
      \n
      \n
      \n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover.html",'
      \n
      \n\n
      \n

      \n
      \n
      \n
      \n')}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/bar.html",'
      \n')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progress.html",'
      ')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progressbar.html",'
      \n
      \n
      \n')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("template/rating/rating.html",'\n ({{ $index < value ? \'*\' : \' \' }})\n \n\n'); +}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tab.html",'
    • \n {{heading}}\n
    • \n')}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset.html",'
      \n \n
      \n
      \n
      \n
      \n
      \n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("template/timepicker/timepicker.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
       
      \n \n :\n \n
       
      \n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-match.html",'\n')}]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-popup.html",'\n')}]),!angular.$$csp()&&angular.element(document).find("head").prepend(''); \ No newline at end of file diff --git a/src/main/resources/META-INF/resources/designer/scripts/AutosaveProjectCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/AutosaveProjectCtrl.js deleted file mode 100644 index 8991639e..00000000 --- a/src/main/resources/META-INF/resources/designer/scripts/AutosaveProjectCtrl.js +++ /dev/null @@ -1,27 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -function AutosaveProject($scope,$rootScope,$resource, $http, $timeout, $location, $interval, $q, Datafactory) -{ - console.log("//////////Autosaveproject"); -} diff --git a/src/main/resources/META-INF/resources/designer/scripts/CldsOpenModelCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/CldsOpenModelCtrl.js index 4ccc7a57..2d1eeaa8 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/CldsOpenModelCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/CldsOpenModelCtrl.js @@ -20,314 +20,271 @@ * =================================================================== * */ -app.controller('CldsOpenModelCtrl', - ['$scope', '$rootScope', '$modalInstance','cldsModelService', '$location', 'dialogs','cldsTemplateService', - function($scope, $rootScope, $modalInstance, cldsModelService, $location,dialogs,cldsTemplateService) { - - $scope.typeModel='template'; - $scope.error = { - flag : false, - message: "" - }; - - cldsModelService.getSavedModel().then(function(pars) { - - $scope.modelNamel=[] - for(var i=0;i0 ? a.length : 0; - while (i--) { - if (a[i].toLowerCase() === obj.toLowerCase()) { - return true; - } - } - return false; - } - $scope.checkExisting=function(){ - var name = $('#modelName').val(); - if(contains($scope.modelNamel,name)){ - $scope.nameinUse=true; - }else{ - $scope.nameinUse=false; - } - specialCharacters(); - } - function specialCharacters (){ - $scope.spcl = false; - if(angular.element("#modelName") && - angular.element("#modelName").scope().model.$error.pattern && - angular.element("#modelName").scope().model.$error.pattern.length>0){ - $scope.spcl = true; - } +app +.controller( +'CldsOpenModelCtrl', +[ +'$scope', +'$rootScope', +'$uibModalInstance', +'cldsModelService', +'$location', +'dialogs', +'cldsTemplateService', +function($scope, $rootScope, $uibModalInstance, cldsModelService, $location, + dialogs, cldsTemplateService) { + $scope.typeModel = 'template'; + $scope.error = { + flag : false, + message : "" + }; + cldsModelService.getSavedModel().then(function(pars) { + $scope.modelNamel = [] + for (var i = 0; i < pars.length; i++) { + $scope.modelNamel.push(pars[i].value); + } + setTimeout(function() { + setMultiSelect(); + }, 100); + }); + $scope.paramsRetry = function() { + // $("#paramsWarn").hide(); + var currentValue = $("#service").val() == null ? previous : $( + "#service").val(); + $("#ridinSpinners").css("display", "") + loadSharedPropertyByService(currentValue, true, callBack); + $("#ridinSpinners").css("display", "none") + }; + $scope.paramsCancel = function() { + loadSharedPropertyByServiceProperties(callBack); + $("#paramsWarnrefresh").hide(); + }; + function completeClose() { + // if(flag) { + $scope.close(); + // } + } + function callBack(flag) { + if (flag) { + $scope.close(); + } + } + $scope.refreshASDC = function() { + $("#ridinSpinners").css("display", "") + var bool = loadSharedPropertyByService(undefined, true, callBack); + $("#ridinSpinners").css("display", "none"); + } + cldsTemplateService.getSavedTemplate().then(function(pars) { + $scope.templateNamel = [] + for (var i = 0; i < pars.length; i++) { + $scope.templateNamel.push(pars[i].value); + } + setTimeout(function() { + setMultiSelect(); + }, 100); + }); + function contains(a, obj) { + var i = a && a.length > 0 ? a.length : 0; + while (i--) { + if (a[i].toLowerCase() === obj.toLowerCase()) { + return true; } - - $scope.setTypeModel=function(_type){ - $scope.error.flag = false; - $scope.typeModel=_type; + } + return false; + } + $scope.checkExisting = function() { + var name = $('#modelName').val(); + if (contains($scope.modelNamel, name)) { + $scope.nameinUse = true; + } else { + $scope.nameinUse = false; + } + specialCharacters(); + } + function specialCharacters() { + $scope.spcl = false; + if (angular.element("#modelName") + && angular.element("#modelName").scope().model.$error.pattern + && angular.element("#modelName").scope().model.$error.pattern.length > 0) { + $scope.spcl = true; + } + } + $scope.setTypeModel = function(_type) { + $scope.error.flag = false; + $scope.typeModel = _type; + } + $scope.close = function() { + $rootScope.isNewClosed = false; + $uibModalInstance.close("closed"); + }; + $scope.createNewModelOffTemplate = function(formModel) { + reloadDefaultVariables(false) + var modelName = document.getElementById("modelName").value; + var templateName = document.getElementById("templateName").value; + if (!modelName) { + $scope.error.flag = true; + $scope.error.message = "Please enter any closed template name for proceeding"; + return false; + } + // init UTM items + $scope.utmModelsArray = []; + $scope.selectedParent = {}; + $scope.currentUTMModel = {}; + $scope.currentUTMModel.selectedParent = {}; + $rootScope.oldUTMModels = []; + $rootScope.projectName = "clds_default_project"; + var utmModels = {}; + utmModels.name = modelName; + utmModels.subModels = []; + $rootScope.utmModels = utmModels; + cldsTemplateService.getTemplate(templateName).then(function(pars) { + var tempImageText = pars.imageText; + var authorizedToUp = pars.userAuthorizedToUpdate; + pars = {} + pars.imageText = tempImageText + pars.status = "DESIGN"; + if (readMOnly) { + pars.permittedActionCd = [ "" ]; + } else { + pars.permittedActionCd = [ "TEST", "SUBMIT" ]; } - - $scope.close = function(){ - $rootScope.isNewClosed = false; - $modalInstance.close("closed"); - }; - $scope.createNewModelOffTemplate=function(formModel){ - reloadDefaultVariables(false) - var modelName = document.getElementById("modelName").value; - var templateName=document.getElementById("templateName").value; - - if(!modelName){ - $scope.error.flag =true; - $scope.error.message = "Please enter any closed template name for proceeding"; - return false; - } - // init UTM items - $scope.utmModelsArray = []; - $scope.selectedParent = {}; - $scope.currentUTMModel = {}; - $scope.currentUTMModel.selectedParent = {}; - $rootScope.oldUTMModels =[]; - $rootScope.projectName="clds_default_project"; - var utmModels = {}; - utmModels.name = modelName; - utmModels.subModels = []; - $rootScope.utmModels = utmModels; - - - cldsTemplateService.getTemplate( templateName ).then(function(pars) { - - var tempImageText=pars.imageText; - var authorizedToUp = pars.userAuthorizedToUpdate; - pars={} - - pars.imageText=tempImageText - pars.status= "DESIGN"; - if (readMOnly){ - pars.permittedActionCd=[""]; - } else { - pars.permittedActionCd=["TEST", "SUBMIT"]; - } - - selected_template= templateName - selected_model = modelName; - - cldsModelService.processActionResponse(modelName, pars); - - // set model bpmn and open diagram - $rootScope.isPalette = true; - }, - function(data) { - //alert("getModel failed"); - }); - allPolicies = {}; - elementMap = {}; - $modalInstance.close("closed"); - + selected_template = templateName + selected_model = modelName; + cldsModelService.processActionResponse(modelName, pars); + // set model bpmn and open diagram + $rootScope.isPalette = true; + }, function(data) { + // alert("getModel failed"); + }); + allPolicies = {}; + elementMap = {}; + $uibModalInstance.close("closed"); + } + $scope.cloneModel = function() { + reloadDefaultVariables(false) + var modelName = document.getElementById("modelName").value; + var originalModel = document.getElementById("modelList").value; + if (!modelName) { + $scope.error.flag = true; + $scope.error.message = "Please enter any name for proceeding"; + return false; + } + // init UTM items + $scope.utmModelsArray = []; + $scope.selectedParent = {}; + $scope.currentUTMModel = {}; + $scope.currentUTMModel.selectedParent = {}; + $rootScope.oldUTMModels = []; + $rootScope.projectName = "clds_default_project"; + var utmModels = {}; + utmModels.name = modelName; + utmModels.subModels = []; + $rootScope.utmModels = utmModels; + cldsModelService.getModel(originalModel).then(function(pars) { + // process data returned + var propText = pars.propText; + var status = pars.status; + var controlNamePrefix = pars.controlNamePrefix; + var controlNameUuid = pars.controlNameUuid; + selected_template = pars.templateName; + typeID = pars.typeId; + pars.status = "DESIGN"; + if (readMOnly) { + pars.permittedActionCd = [ "" ]; + } else { + pars.permittedActionCd = [ "TEST", "SUBMIT" ]; } - - $scope.cloneModel=function(){ - reloadDefaultVariables(false) - var modelName = document.getElementById("modelName").value; - var originalModel=document.getElementById("modelList").value; - if(!modelName){ - $scope.error.flag =true; - $scope.error.message = "Please enter any name for proceeding"; - return false; - } - - // init UTM items - $scope.utmModelsArray = []; - $scope.selectedParent = {}; - $scope.currentUTMModel = {}; - $scope.currentUTMModel.selectedParent = {}; - $rootScope.oldUTMModels =[]; - $rootScope.projectName="clds_default_project"; - var utmModels = {}; - utmModels.name = modelName; - utmModels.subModels = []; - $rootScope.utmModels = utmModels; - - - cldsModelService.getModel( originalModel ).then(function(pars) { - - // process data returned - var propText = pars.propText; - var status = pars.status; - var controlNamePrefix = pars.controlNamePrefix; - var controlNameUuid = pars.controlNameUuid; - selected_template=pars.templateName; - typeID = pars.typeId; - pars.status="DESIGN"; - if (readMOnly){ - pars.permittedActionCd=[""]; - } else { - pars.permittedActionCd=["TEST", "SUBMIT"]; - } - pars.controlNameUuid=""; - modelEventService = pars.event; - //actionCd = pars.event.actionCd; - actionStateCd = pars.event.actionStateCd; - deploymentId = pars.deploymentId; - - var authorizedToUp = pars.userAuthorizedToUpdate; - - cldsModelService.processActionResponse(modelName, pars); - - // deserialize model properties - if ( propText == null ) { - } else { - elementMap = JSON.parse(propText); - } - - selected_model = modelName; - - // set model bpmn and open diagram - $rootScope.isPalette = true; - }, - function(data) { - //alert("getModel failed"); - }); - - $modalInstance.close("closed"); + pars.controlNameUuid = ""; + modelEventService = pars.event; + // actionCd = pars.event.actionCd; + actionStateCd = pars.event.actionStateCd; + deploymentId = pars.deploymentId; + var authorizedToUp = pars.userAuthorizedToUpdate; + cldsModelService.processActionResponse(modelName, pars); + // deserialize model properties + if (propText == null) { + } else { + elementMap = JSON.parse(propText); } - $scope.createNewModel=function(){ - reloadDefaultVariables(false) - var modelName = document.getElementById("modelName").value; - - // BEGIN env - // init UTM items - $scope.utmModelsArray = []; - $scope.selectedParent = {}; - $scope.currentUTMModel = {}; - $scope.currentUTMModel.selectedParent = {}; - $rootScope.oldUTMModels =[]; - $rootScope.projectName="clds_default_project"; - var utmModels = {}; - utmModels.name = modelName; - utmModels.subModels = []; - $rootScope.utmModels = utmModels; - - // enable appropriate menu options - var pars = {status: "DESIGN"}; - - cldsModelService.processActionResponse(modelName, pars); - - selected_model = modelName; - - // set model bpmn and open diagram - $rootScope.isPalette = true; - - $modalInstance.close("closed"); + selected_model = modelName; + // set model bpmn and open diagram + $rootScope.isPalette = true; + }, function(data) { + }); + $uibModalInstance.close("closed"); + } + $scope.createNewModel = function() { + reloadDefaultVariables(false) + var modelName = document.getElementById("modelName").value; + // BEGIN env + // init UTM items + $scope.utmModelsArray = []; + $scope.selectedParent = {}; + $scope.currentUTMModel = {}; + $scope.currentUTMModel.selectedParent = {}; + $rootScope.oldUTMModels = []; + $rootScope.projectName = "clds_default_project"; + var utmModels = {}; + utmModels.name = modelName; + utmModels.subModels = []; + $rootScope.utmModels = utmModels; + // enable appropriate menu options + var pars = { + status : "DESIGN" + }; + cldsModelService.processActionResponse(modelName, pars); + selected_model = modelName; + // set model bpmn and open diagram + $rootScope.isPalette = true; + $uibModalInstance.close("closed"); + } + $scope.revertChanges = function() { + $scope.openModel(); + } + $scope.openModel = function() { + reloadDefaultVariables(false) + if (document.getElementById("readOnly")) { + readMOnly = document.getElementById("readOnly").checked; + } + var modelName = document.getElementById("modelName").value; + // init UTM items + $scope.utmModelsArray = []; + $scope.selectedParent = {}; + $scope.currentUTMModel = {}; + $scope.currentUTMModel.selectedParent = {}; + $rootScope.oldUTMModels = []; + $rootScope.projectName = "clds_default_project"; + var utmModels = {}; + utmModels.name = modelName; + utmModels.subModels = []; + $rootScope.utmModels = utmModels; + cldsModelService.getModel(modelName).then(function(pars) { + // process data returned + var propText = pars.propText; + var status = pars.status; + controlNamePrefix = pars.controlNamePrefix; + var authorizedToUp = pars.userAuthorizedToUpdate; + typeID = pars.typeId; + controlNameUuid = pars.controlNameUuid; + selected_template = pars.templateName; + modelEventService = pars.event; + actionStateCd = pars.event.actionStateCd; + deploymentId = pars.deploymentId; + if (readMOnly) { + pars.permittedActionCd = [ "" ]; } - $scope.revertChanges=function(){ - $scope.openModel(); + cldsModelService.processActionResponse(modelName, pars); + // deserialize model properties + if (propText == null) { + } else { + elementMap = JSON.parse(propText); } - $scope.openModel = function(){ - reloadDefaultVariables(false) - if(document.getElementById("readOnly")){ - readMOnly=document.getElementById("readOnly").checked; - } - var modelName = document.getElementById("modelName").value; - - // init UTM items - $scope.utmModelsArray = []; - $scope.selectedParent = {}; - $scope.currentUTMModel = {}; - $scope.currentUTMModel.selectedParent = {}; - $rootScope.oldUTMModels =[]; - $rootScope.projectName="clds_default_project"; - var utmModels = {}; - utmModels.name = modelName; - utmModels.subModels = []; - $rootScope.utmModels = utmModels; - - cldsModelService.getModel( modelName ).then(function(pars) { - // process data returned - var propText = pars.propText; - var status = pars.status; - controlNamePrefix = pars.controlNamePrefix; - // var controlNameUuid = pars.controlNameUuid; - var authorizedToUp = pars.userAuthorizedToUpdate; - typeID = pars.typeId; - controlNameUuid = pars.controlNameUuid; - selected_template=pars.templateName; - modelEventService = pars.event; - //actionCd = pars.event.actionCd; - actionStateCd = pars.event.actionStateCd; - deploymentId = pars.deploymentId; - - if (readMOnly){ - pars.permittedActionCd= [""]; - } - cldsModelService.processActionResponse(modelName, pars); - - // deserialize model properties - if ( propText == null ) { - } else { - elementMap = JSON.parse(propText); - } - - selected_model = modelName; - - // set model bpmn and open diagram - $rootScope.isPalette = true; - }, - function(data) { - //alert("getModel failed"); - }); - - $modalInstance.close("closed"); - }; - - setMultiSelect(); - } - ] -); + selected_model = modelName; + // set model bpmn and open diagram + $rootScope.isPalette = true; + }, function(data) { + }); + $uibModalInstance.close("closed"); + }; + setMultiSelect(); +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/DashboardCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/DashboardCtrl.js index fa212a33..336db1ec 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/DashboardCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/DashboardCtrl.js @@ -20,11 +20,20 @@ * =================================================================== * */ - 'use strict'; - -function DashboardCtrl($scope, $rootScope, $resource, $http, $timeout, - $location, $interval, $q, Datafactory) { +angular +.module('clds-app') +.controller( +'DashboardCtrl', +[ +'$scope', +'$rootScope', +'$resource', +'$http', +'$timeout', +'$location', +'$interval', +function($scope, $rootScope, $resource, $http, $timeout, $location, $interval) { console.log("//////////////DashboardCtrl"); $scope.autosaveInterval = 1800000; $rootScope.isModel = false; @@ -41,51 +50,35 @@ function DashboardCtrl($scope, $rootScope, $resource, $http, $timeout, $rootScope.utmModels = {}; $rootScope.selectedModelName; $rootScope.dialogName = ""; - $interval(function() { console.log("interval"); - /* - * AutosaveProject($scope,$rootScope,$resource, $http, $timeout, - * $location, $interval, $q, Datafactory); - */ }, $scope.autosaveInterval); - $rootScope.onSelectActivityModel = function(obj) { console.log("onSelectActivityModel"); - $rootScope.isPalette = true; $rootScope.isTestSet = false; $rootScope.isRequirementCoverage = false; $rootScope.ispropertyExplorer = false; - // document.getElementById('propertyExplorer').classList.remove('visible'); - - // $( "#propertyExplorer" ).prev().css( "display" ,"block"); $("#activity_modeler").prev().css("display", "block"); $('div').find('.k-expand-next').click(); - if (obj == undefined) { document.getElementById("modeler_name").textContent = "Activity Modeler"; } else { selected_model = obj; document.getElementById("modeler_name").textContent = "Activity Modeler" - + " - " + selected_model; + + " - " + selected_model; } - $rootScope.modelName = selected_model; - $rootScope.modeltestset = list_model_test_sets[selected_model]; if (list_model_schema_extensions[selected_model] == null) { if (list_model_schema_extensions[$rootScope.utmModels.name] != null) { - list_model_schema_extensions[selected_model] = jQuery - .extend( - true, - {}, - list_model_schema_extensions[$rootScope.utmModels.name]); + list_model_schema_extensions[selected_model] = jQuery.extend( + true, {}, + list_model_schema_extensions[$rootScope.utmModels.name]); } else { list_model_schema_extensions[selected_model] = {}; } } - $rootScope.initProjectExplorer(); changecolor(selected_model); }; @@ -95,37 +88,26 @@ function DashboardCtrl($scope, $rootScope, $resource, $http, $timeout, $rootScope.isRequirementCoverage = false; $rootScope.isTestset = true; document.getElementById("modeler_name").textContent = "UTM Test Set"; - // document.getElementById('propertyExplorer').classList.add('visible'); - // $( "#propertyExplorer" ).prev().css( "display" ,"none"); $('div').find('.k-collapse-next').click(); $rootScope.modeltestset = list_model_test_sets[selected_model]; $rootScope.$apply(); - }; $scope.showPalette = function() { console.log("showPalette"); - // alert("showPalette()"); $rootScope.isModel = true; - // $rootScope.isPalette = true; - }; - $rootScope.filterRouter = 'partials/DashboardFilters.html'; $scope.isActivePROD = true; $scope.isActiveQC = false; $rootScope.reload = function(env) { console.log("reload"); }; - $scope.showTDSSView = true; - -} +} ]); function changecolor(selected_model) { console.log("changecolor"); - var i = 0; // var modelNames =[]; - $(".models").each(function(i) { console.log("each"); var model_value = $(this).text().trim(); @@ -134,9 +116,7 @@ function changecolor(selected_model) { $(this).addClass("selectedcolor"); } else { $(this).removeClass("selectedcolor"); - } - i++; }); } diff --git a/src/main/resources/META-INF/resources/designer/scripts/DeploymentCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/DeploymentCtrl.js index 93509124..3faf9f63 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/DeploymentCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/DeploymentCtrl.js @@ -20,62 +20,76 @@ * =================================================================== * */ - -app.controller('DeploymentCtrl', - ['$scope','$rootScope','$modalInstance','data','dialogs', 'cldsModelService', - function( $scope, $rootScope, $modalInstance, data, dialogs, cldsModelService) { - - function validate_and_set_deploy_parameters () { - var inputList = document.getElementsByClassName("deployFormId"); - var jsonParameters="{"; - $.each(inputList, function(key) { - if (jsonParameters !== "{") { - jsonParameters = jsonParameters+","; - } - jsonParameters = jsonParameters+'"'+inputList[key].id+'":'+'"'+inputList[key].value+'"' - }); - jsonParameters = jsonParameters+"}"; - try { - //Try to validate the json - set_deploy_parameters(JSON.parse(jsonParameters)); - } catch (e) { - console.error("Couldn't parse deploy parameters json"); - } - } - - function set_deploy_parameters(parameters) { - if (!'global' in elementMap) { - elementMap["global"] = []; - } - var index = elementMap["global"].findIndex(function (e) { return (typeof e == "object" && !(e instanceof Array)) && "deployParameters" == e["name"]; }); - if (index == -1) { - elementMap["global"].push({"name": "deployParameters", "value": parameters}); - } else { - elementMap["global"][index]["value"] = parameters; - } - } - - $scope.load_deploy_parameters = function () { - var index = elementMap["global"].findIndex(function (e) { return (typeof e == "object" && !(e instanceof Array)) && "deployParameters" == e["name"]; }); - if (index != -1) { - $('#deployPropertiesDiv').append($('
      ')); - $.each(elementMap["global"][index].value, function(key) { - var propertyValue=elementMap["global"][index].value[key]; - $('#deployPropertiesDiv').append($('')); - $('#deployPropertiesDiv').append($('').val(propertyValue).html(propertyValue)); - $('#deployPropertiesDiv').append($('
      ')); - }); - } - } - - $scope.deploy = function() { - validate_and_set_deploy_parameters (); - $modalInstance.close(); - }; - - $scope.close = function() { - $modalInstance.dismiss(); - }; - } - -]); +app +.controller( +'DeploymentCtrl', +[ +'$scope', +'$rootScope', +'$uibModalInstance', +'data', +'dialogs', +'cldsModelService', +function($scope, $rootScope, $uibModalInstance, data, dialogs, cldsModelService) { + function validate_and_set_deploy_parameters() { + var inputList = document.getElementsByClassName("deployFormId"); + var jsonParameters = "{"; + $.each(inputList, function(key) { + if (jsonParameters !== "{") { + jsonParameters = jsonParameters + ","; + } + jsonParameters = jsonParameters + '"' + inputList[key].id + '":' + + '"' + inputList[key].value + '"' + }); + jsonParameters = jsonParameters + "}"; + try { + // Try to validate the json + set_deploy_parameters(JSON.parse(jsonParameters)); + } catch (e) { + console.error("Couldn't parse deploy parameters json"); + } + } + function set_deploy_parameters(parameters) { + if (!'global' in elementMap) { + elementMap["global"] = []; + } + var index = elementMap["global"].findIndex(function(e) { + return (typeof e == "object" && !(e instanceof Array)) + && "deployParameters" == e["name"]; + }); + if (index == -1) { + elementMap["global"].push({ + "name" : "deployParameters", + "value" : parameters + }); + } else { + elementMap["global"][index]["value"] = parameters; + } + } + $scope.load_deploy_parameters = function() { + var index = elementMap["global"].findIndex(function(e) { + return (typeof e == "object" && !(e instanceof Array)) + && "deployParameters" == e["name"]; + }); + if (index != -1) { + $('#deployPropertiesDiv').append($('
      ')); + $.each(elementMap["global"][index].value, function(key) { + var propertyValue = elementMap["global"][index].value[key]; + $('#deployPropertiesDiv').append( + $('')); + $('#deployPropertiesDiv').append( + $( + '').val(propertyValue).html(propertyValue)); + $('#deployPropertiesDiv').append($('
      ')); + }); + } + } + $scope.deploy = function() { + validate_and_set_deploy_parameters(); + $uibModalInstance.close(); + }; + $scope.close = function() { + $uibModalInstance.dismiss(); + }; +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/ExportFileCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/ExportFileCtrl.js index d5326d98..3de9d34c 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/ExportFileCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/ExportFileCtrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,8 +20,7 @@ * =================================================================== * */ - -app.controller('exportCtrl', ['$scope', '$rootScope','exportService','dialogs', function($scope,$rootScope,exportService,dialogs){ - console.log("exportCtrl"); - -}]); +app.controller('exportCtrl', [ '$scope', '$rootScope', 'exportService', +'dialogs', function($scope, $rootScope, exportService, dialogs) { + console.log("exportCtrl"); +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/ExportFileService.js b/src/main/resources/META-INF/resources/designer/scripts/ExportFileService.js index 076cd095..e2474aaa 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/ExportFileService.js +++ b/src/main/resources/META-INF/resources/designer/scripts/ExportFileService.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,57 +20,60 @@ * =================================================================== * */ -app.service('exportService', ['$http', '$q', function ($http, $q) { - console.log("/////////exportService"); - this.exportToUrl = function(testsetValue, formatValue, exporturl){ - console.log("exportToUrl"); - - var def = $q.defer(); - var sets = []; - var testExportRequest = {testSet: testsetValue, format: formatValue}; - - if (angular.equals(formatValue,"Excel")) { - - $http({ - url: exporturl, method: "POST", data: testExportRequest, //this is your json data string headers: { - responseType: 'arraybuffer' }).success(function (data, status, headers, config) { - console.log("success"); - /*sets = data; - def.resolve(data);*/ - - var results = []; - results.data = data; - results.headers = headers(); - results.status = status; - results.config = config; - def.resolve(results); - }) - .error(function(data){ - console.log("data"); - - def.reject("Export file not successful"); - }); - } - else { - $http.post(exporturl, testExportRequest) - .success(function(data, status, headers, config){ - console.log("function"); - - var results = []; - results.data = data; - results.headers = headers(); - results.status = status; - results.config = config; - - def.resolve(results); - //alert("Data in success without scope and q_def for scope parametes :: " + parameters);'Content-type': 'application/json', - }) - .error(function(data){ - console.log("data"); - //alert("Data in error :: " + data); - def.reject("Export file not successful"); - }); - } - return def.promise; - }; -}]); +app.service('exportService', [ +'$http', +'$q', +function($http, $q) { + console.log("/////////exportService"); + this.exportToUrl = function(testsetValue, formatValue, exporturl) { + console.log("exportToUrl"); + var def = $q.defer(); + var sets = []; + var testExportRequest = { + testSet : testsetValue, + format : formatValue + }; + if (angular.equals(formatValue, "Excel")) { + $http({ + url : exporturl, + method : "POST", + data : testExportRequest, // this is your json data string + // headers: { + responseType : 'arraybuffer' + }).success(function(data, status, headers, config) { + console.log("success"); + /* + * sets = data; def.resolve(data); + */ + var results = []; + results.data = data; + results.headers = headers(); + results.status = status; + results.config = config; + def.resolve(results); + }).error(function(data) { + console.log("data"); + def.reject("Export file not successful"); + }); + } else { + $http.post(exporturl, testExportRequest).success( + function(data, status, headers, config) { + console.log("function"); + var results = []; + results.data = data; + results.headers = headers(); + results.status = status; + results.config = config; + def.resolve(results); + // alert("Data in success without scope and q_def for scope + // parametes :: " + parameters);'Content-type': + // 'application/json', + }).error(function(data) { + console.log("data"); + // alert("Data in error :: " + data); + def.reject("Export file not successful"); + }); + } + return def.promise; + }; +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/ExtraUserInfoCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/ExtraUserInfoCtrl.js index 72b160c3..5051e0ff 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/ExtraUserInfoCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/ExtraUserInfoCtrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,18 +20,19 @@ * =================================================================== * */ - -app.controller('ExtraUserInfoCtrl', - ['$scope', '$rootScope', '$modalInstance','extraUserInfoService', '$location', 'dialogs', - function($scope, $rootScope, $modalInstance, extraUserInfoService, $location, dialogs) { - //console.log("///////////ExtraUserInfoCtrl"); - - extraUserInfoService.getUserInfo().then(function(pars){ - $scope.userInfo = pars; - }); - - $scope.close = function() { - $modalInstance.close("closed"); - }; - } -]); \ No newline at end of file +app.controller('ExtraUserInfoCtrl', [ +'$scope', +'$rootScope', +'$uibModalInstance', +'extraUserInfoService', +'$location', +'dialogs', +function($scope, $rootScope, $uibModalInstance, extraUserInfoService, + $location, dialogs) { + extraUserInfoService.getUserInfo().then(function(pars) { + $scope.userInfo = pars; + }); + $scope.close = function() { + $uibModalInstance.close("closed"); + }; +} ]); \ No newline at end of file diff --git a/src/main/resources/META-INF/resources/designer/scripts/FileUploadCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/FileUploadCtrl.js index be8bbde5..9efbc49a 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/FileUploadCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/FileUploadCtrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,179 +20,136 @@ * =================================================================== * */ - -app.controller('fileUploadCtrl', ['$scope', '$rootScope','fileUpload', function($scope, $rootScope,fileUpload){ - console.log("///////////fileUploadCtrl"); +app +.controller( +'fileUploadCtrl', +[ +'$scope', +'$rootScope', +'fileUpload', +function($scope, $rootScope, fileUpload) { + console.log("///////////fileUploadCtrl"); $rootScope.isAllOption = false; - - - -//-----For Required Radio button functionality - - - - $scope.requiredonly= function(){ - console.log("requiredonly"); - //var tempArray = $rootScope.SUT; - //var tempParam = tempArray.parameters; - //alert("testParam.length:"+tempParam.length); - var parameter=$scope.parArray; - - - var param=$scope.parameters; - - var i=0; - - $('.req').each(function(){ - console.log(".req"); - var newID='requiredval'+i; - //jQuery(this).prev("req").attr("requiredval", "newID"); - //$(this).attr("requiredval","newID"); - //var newval=$(this).val(newID); - var newval=$(this).attr('id',newID); - console.log("Angular id: "+newval); - if(i") - for(k in services){ - $("#service").append("") - } - var el = elementMap["global"]; - if (el !== undefined) { - for (var i = 0; i < el.length; i++) { - $("#" + el[i].name).val(el[i].value); - } - } - setMultiSelect(); - - if(readMOnly){ - $("#savePropsBtn").attr("disabled", ""); - $('select[multiple] option').each(function() { - var input = $('input[value="' + $(this).val() + '"]'); - input.prop('disabled', true); - input.parent('li').addClass('disabled'); - }); - $('input[value="multiselect-all"]').prop('disabled', true).parent('li').addClass('disabled'); - ($("select:not([multiple])")).multiselect("disable"); - } - }); - $scope.retry = function(){ - console.log("retry"); - +app.controller('GlobalPropertiesCtrl', [ +'$scope', +'$rootScope', +'$uibModalInstance', +'cldsModelService', +'$location', +'dialogs', +'cldsTemplateService', +function($scope, $rootScope, $uibModalInstance, cldsModelService, $location, + dialogs, cldsTemplateService) { + $scope.$watch('name', function(newValue, oldValue) { + var services = asdc_Services + setASDCFields() + // add blank service item as the default service, to force user chose + // the correct service by themselves + $("#service").append("") + for (k in services) { + $("#service").append( + "") + } + var el = elementMap["global"]; + if (el !== undefined) { + for (var i = 0; i < el.length; i++) { + $("#" + el[i].name).val(el[i].value); } - $scope.close = function() { - console.log("close"); - $modalInstance.close("closed"); - }; } - ] -); + setMultiSelect(); + if (readMOnly) { + $("#savePropsBtn").attr("disabled", ""); + $('select[multiple] option').each(function() { + var input = $('input[value="' + $(this).val() + '"]'); + input.prop('disabled', true); + input.parent('li').addClass('disabled'); + }); + $('input[value="multiselect-all"]').prop('disabled', true).parent( + 'li').addClass('disabled'); + ($("select:not([multiple])")).multiselect("disable"); + } + }); + $scope.retry = function() { + console.log("retry"); + } + $scope.close = function() { + console.log("close"); + $uibModalInstance.close("closed"); + }; +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/ImportSchemaCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/ImportSchemaCtrl.js index 989abc89..2fa401b3 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/ImportSchemaCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/ImportSchemaCtrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,25 +20,33 @@ * =================================================================== * */ - -app.controller('ImportSchemaCtrl', ['$scope', '$rootScope','$modalInstance','data','svnservice', 'fileUpload','dialogs', function($scope,$rootScope,$modalInstance,data,svnservice,fileUpload,dialogs){ +app +.controller( +'ImportSchemaCtrl', +[ +'$scope', +'$rootScope', +'$uibModalInstance', +'data', +'svnservice', +'fileUpload', +'dialogs', +function($scope, $rootScope, $uibModalInstance, data, svnservice, fileUpload, + dialogs) { console.log("//////ImportSchemaCtrl"); - $rootScope.serviceInfo; + $rootScope.serviceInfo; $rootScope.serviceInput; $rootScope.serviceOutput; $rootScope.serviceFault; $rootScope.serviceInputPartInfo; $rootScope.schemElemant1; - $rootScope.updateServiceInfo; $rootScope.updateServiceInput; $rootScope.updateServiceOutput; $rootScope.updateServiceFault; $rootScope.updateServiceInputPartInfo; $rootScope.updateSchemElemant1; - - -// Below code is added to get the policyNames + // Below code is added to get the policyNames for ( var polElement in elementMap) { if (polElement.indexOf('Policy_') === 0) { var obj = elementMap[polElement]; @@ -52,273 +60,228 @@ app.controller('ImportSchemaCtrl', ['$scope', '$rootScope','$modalInstance','dat break; } } - - setTimeout(function(){ - console.log("setTimeout"); - setMultiSelect(); }, 100); - - $scope.close = function(){ - console.log("close"); - $modalInstance.close("closed"); + setTimeout(function() { + console.log("setTimeout"); + setMultiSelect(); + }, 100); + $scope.close = function() { + console.log("close"); + $uibModalInstance.close("closed"); }; $rootScope.file_path; - - - $scope.importSchema= function(){ - console.log("importSchema"); + $scope.importSchema = function() { + console.log("importSchema"); isImportSchema = true; - var file=$rootScope.file_path; - //alert("file:"+schemaFile); - //console.log('file is ' + JSON.stringify(file)); - var userID = document.getElementById("userID").value; - var password = document.getElementById("password").value; - var svnURL = document.getElementById("schemaLocation").value; - var schemaLocation = document.getElementById("schemaLocation").value; - - if( schemaLocation && userID && password && document.getElementById("schemaLocation").disabled== false) - { - $scope.schemaLocation=schemaLocation; - $scope.userID=userID; - $scope.password=password; - - document.getElementById("fileUpload").disabled = true; - - var svnUploadURL = "/utm-service/schema_upload/svnUploadWSDL"; - - svnservice.SVNToUrl(schemaLocation, userID, password,svnURL,svnUploadURL) - .then(function(pars) { - console.log("pars"); - document.getElementById('Upgrade Schema Version').classList.remove('ThisLink'); - document.getElementById('Set Default Values').classList.remove('ThisLink'); - $rootScope.wsdlInfo = angular.fromJson(pars); - $rootScope.serviceInfo = $rootScope.wsdlInfo.serviceInfo; - serviceName = $rootScope.serviceInfo.service.name; - $rootScope.schemaLocation=$rootScope.wsdlInfo.schemaLocation; - $rootScope.serviceInput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; - $rootScope.serviceInputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; - - $rootScope.serviceOutput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; - $rootScope.serviceOutputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; - - $rootScope.servicefault = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; - $rootScope.servicefaultPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; - - //alert("serviceInputPartInfo :: " + JSON.stringify($rootScope.serviceInputPartInfo)); - - $rootScope.inputSchemaServiceInputPartInfo=[]; - $rootScope.inputSchemaServiceOutputPartInfo=[]; - $rootScope.inputSchemaServicefaultPartInfo=[]; - - - - angular.copy($rootScope.serviceInputPartInfo, $rootScope.inputSchemaServiceInputPartInfo); - - angular.copy($rootScope.serviceOutputPartInfo, $rootScope.inputSchemaServiceOutputPartInfo); - - angular.copy($rootScope.servicefaultPartInfo, $rootScope.inputSchemaServicefaultPartInfo); - - $rootScope.isModel = true; - }, - function(data) { - console.log("data"); - //alert("File upload failed and parameters not returned"); - }); - } else { - var uploadUrl = "/utm-service/schema_upload/uploadWSDL"; - - fileUpload.uploadFileToUrl(file, uploadUrl) - .then(function(pars) { - console.log("pars"); - document.getElementById('Upgrade Schema Version').classList.remove('ThisLink'); - document.getElementById('Set Default Values').classList.remove('ThisLink'); - //document.getElementById('Define/Modify Schema').classList.remove('ThisLink'); - $rootScope.wsdlInfo = angular.fromJson(pars); - $rootScope.serviceInfo = $rootScope.wsdlInfo.serviceInfo; - serviceName = $rootScope.serviceInfo.service.name; - - $rootScope.serviceInput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; - $rootScope.serviceInputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; - - //alert("Input Part Info :: " + JSON.stringify($rootScope.serviceInputPartInfo)); - //alert("Input Part 1 Info :: " + JSON.stringify($rootScope.serviceInputPartInfo[1])); - - //alert("Input Element :: " + JSON.stringify($rootScope.serviceInputPartInfo[1].schemaElements[1].elements[0])); - - $rootScope.serviceOutput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; - $rootScope.serviceOutputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; - - $rootScope.servicefault = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; - $rootScope.servicefaultPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; - - //alert("servicefaultPartInfo :: " + JSON.stringify($rootScope.servicefaultPartInfo)); - - $rootScope.inputSchemaServiceInputPartInfo=[]; - $rootScope.inputSchemaServiceOutputPartInfo=[]; - $rootScope.inputSchemaServicefaultPartInfo=[]; - - - - angular.copy($rootScope.serviceInputPartInfo, $rootScope.inputSchemaServiceInputPartInfo); - - angular.copy($rootScope.serviceOutputPartInfo, $rootScope.inputSchemaServiceOutputPartInfo); - - angular.copy($rootScope.servicefaultPartInfo, $rootScope.inputSchemaServicefaultPartInfo); - - $rootScope.isModel = true; - }, - function(data) { - console.log("data"); - - }); - } - - - - - - $modalInstance.close("closed"); + var file = $rootScope.file_path; + // alert("file:"+schemaFile); + // console.log('file is ' + JSON.stringify(file)); + var userID = document.getElementById("userID").value; + var password = document.getElementById("password").value; + var svnURL = document.getElementById("schemaLocation").value; + var schemaLocation = document.getElementById("schemaLocation").value; + if (schemaLocation && userID && password + && document.getElementById("schemaLocation").disabled == false) { + $scope.schemaLocation = schemaLocation; + $scope.userID = userID; + $scope.password = password; + document.getElementById("fileUpload").disabled = true; + var svnUploadURL = "/utm-service/schema_upload/svnUploadWSDL"; + svnservice + .SVNToUrl(schemaLocation, userID, password, svnURL, svnUploadURL) + .then( + function(pars) { + console.log("pars"); + document.getElementById('Upgrade Schema Version').classList + .remove('ThisLink'); + document.getElementById('Set Default Values').classList + .remove('ThisLink'); + $rootScope.wsdlInfo = angular.fromJson(pars); + $rootScope.serviceInfo = $rootScope.wsdlInfo.serviceInfo; + serviceName = $rootScope.serviceInfo.service.name; + $rootScope.schemaLocation = $rootScope.wsdlInfo.schemaLocation; + $rootScope.serviceInput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; + $rootScope.serviceInputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; + $rootScope.serviceOutput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; + $rootScope.serviceOutputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; + $rootScope.servicefault = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; + $rootScope.servicefaultPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; + // alert("serviceInputPartInfo :: " + + // JSON.stringify($rootScope.serviceInputPartInfo)); + $rootScope.inputSchemaServiceInputPartInfo = []; + $rootScope.inputSchemaServiceOutputPartInfo = []; + $rootScope.inputSchemaServicefaultPartInfo = []; + angular.copy($rootScope.serviceInputPartInfo, + $rootScope.inputSchemaServiceInputPartInfo); + angular.copy($rootScope.serviceOutputPartInfo, + $rootScope.inputSchemaServiceOutputPartInfo); + angular.copy($rootScope.servicefaultPartInfo, + $rootScope.inputSchemaServicefaultPartInfo); + $rootScope.isModel = true; + }, function(data) { + console.log("data"); + // alert("File upload failed and parameters not returned"); + }); + } else { + var uploadUrl = "/utm-service/schema_upload/uploadWSDL"; + fileUpload + .uploadFileToUrl(file, uploadUrl) + .then( + function(pars) { + console.log("pars"); + document.getElementById('Upgrade Schema Version').classList + .remove('ThisLink'); + document.getElementById('Set Default Values').classList + .remove('ThisLink'); + // document.getElementById('Define/Modify + // Schema').classList.remove('ThisLink'); + $rootScope.wsdlInfo = angular.fromJson(pars); + $rootScope.serviceInfo = $rootScope.wsdlInfo.serviceInfo; + serviceName = $rootScope.serviceInfo.service.name; + $rootScope.serviceInput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; + $rootScope.serviceInputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; + // alert("Input Part Info :: " + + // JSON.stringify($rootScope.serviceInputPartInfo)); + // alert("Input Part 1 Info :: " + + // JSON.stringify($rootScope.serviceInputPartInfo[1])); + // alert("Input Element :: " + + // JSON.stringify($rootScope.serviceInputPartInfo[1].schemaElements[1].elements[0])); + $rootScope.serviceOutput = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; + $rootScope.serviceOutputPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; + $rootScope.servicefault = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; + $rootScope.servicefaultPartInfo = $rootScope.serviceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; + // alert("servicefaultPartInfo :: " + + // JSON.stringify($rootScope.servicefaultPartInfo)); + $rootScope.inputSchemaServiceInputPartInfo = []; + $rootScope.inputSchemaServiceOutputPartInfo = []; + $rootScope.inputSchemaServicefaultPartInfo = []; + angular.copy($rootScope.serviceInputPartInfo, + $rootScope.inputSchemaServiceInputPartInfo); + angular.copy($rootScope.serviceOutputPartInfo, + $rootScope.inputSchemaServiceOutputPartInfo); + angular.copy($rootScope.servicefaultPartInfo, + $rootScope.inputSchemaServicefaultPartInfo); + $rootScope.isModel = true; + }, function(data) { + console.log("data"); + }); + } + $uibModalInstance.close("closed"); + }; + $scope.setFile = function(element) { + console.log("setFile"); + $scope.$apply(function($scope) { + console.log("apply"); + $scope.theFile = element.files[0]; + $rootScope.fileName = $scope.theFile.name; + var file = element.files[0]; + $rootScope.file_path = file; + // $uibModalInstance.close("closed"); + angular.element(document.getElementById('fileUpload')).val(null); + }); }; - - $scope.setFile = function(element) { - console.log("setFile"); - - $scope.$apply(function($scope) { - console.log("apply"); - $scope.theFile = element.files[0]; - $rootScope.fileName =$scope.theFile.name; - var file =element.files[0]; - $rootScope.file_path = file; - - //$modalInstance.close("closed"); - - angular.element(document.getElementById('fileUpload')).val(null); - - }); - }; - - $scope.setUpgradeFile = function(element) { - console.log("setUpgradeFile"); - $scope.$apply(function($scope) { - console.log("apply"); - $scope.theUpgradeFile = element.files[0]; - $rootScope.upgradeFileName =$scope.theUpgradeFile.name; - //alert("fname1"+$rootScope.upgradeFileName); - var file =element.files[0]; - $rootScope.file_path = file; - - //$modalInstance.close("closed"); - - angular.element(document.getElementById('fileUpload')).val(null); - - }); - }; - - - - $scope.reset = function(){ - console.log("reset"); - document.getElementById("fileUpload").disabled = false; - document.getElementById("schemaLocation").disabled = false; - document.getElementById("userID").disabled = false; - document.getElementById("password").disabled = false; - - document.getElementById("schemaLocation").value=''; - - document.getElementById("userID").value=''; - document.getElementById("password").value=''; - $scope.theFile = null; - angular.element(document.getElementById('fileUpload')).val(null); - - - }; - - $scope.upgradeSchema = function(){ - console.log("upgradeSchema"); - //alert("inside upgrade schema"); - var file=$rootScope.file_path; - //alert("file:"+schemaFile); - //console.log('file is ' + JSON.stringify(file)); - var userID = document.getElementById("userID").value; - var password = document.getElementById("password").value; - var schemaLocation = document.getElementById("upgradeSchemaLocation").value; - var svnURL = document.getElementById("upgradeSchemaLocation").value; - console.log("after"); - $rootScope.Currentmappedvalues = []; - if( schemaLocation && userID && password && document.getElementById("upgradeSchemaLocation").disabled== false) - { - $scope.schemaLocation=schemaLocation; - $scope.userID=userID; - $scope.password=password; - - document.getElementById("fileUpload").disabled = true; - - var svnUploadURL = "/utm-service/schema_upload/svnUploadWSDL"; - - svnservice.SVNToUrl(schemaLocation, userID, password,svnURL,svnUploadURL) - .then(function(pars) { - console.log("pars"); - $rootScope.updateWsdlInfo = angular.fromJson(pars); - $rootScope.updateServiceInfo = $rootScope.updateWsdlInfo.serviceInfo; - $rootScope.schemaLocation=$rootScope.updateWsdlInfo.schemaLocation; - $rootScope.updateServiceInput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; - $rootScope.updateServiceInputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; - - $rootScope.updateServiceOutput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; - $rootScope.updateServiceOutputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; - - $rootScope.updateServicefault = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; - $rootScope.updateServicefaultPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; - - //alert("serviceInputPartInfo :: " + JSON.stringify($rootScope.serviceInputPartInfo)); - - //$rootScope.isModel = true; - }, - function(data) { - console.log("data"); - //alert("File upload failed and parameters not returned"); - }); - } else { - var uploadUrl = "/utm-service/schema_upload/uploadWSDL"; - - fileUpload.uploadFileToUrl(file, uploadUrl) - .then(function(pars) { - console.log("pars"); - - $rootScope.updateWsdlInfo = angular.fromJson(pars); - // alert("wsdlinfo:"+$rootScope.updateWsdlInfo); - $rootScope.updateServiceInfo = $rootScope.updateWsdlInfo.serviceInfo; - - $rootScope.updateServiceInput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; - $rootScope.updateServiceInputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; - - $rootScope.updateServiceOutput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; - $rootScope.updateServiceOutputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; - - $rootScope.updateServicefault = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; - $rootScope.updateServicefaultPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; - - //alert("servicefaultPartInfo :: " + JSON.stringify($rootScope.servicefaultPartInfo)); - - - //$rootScope.isModel = true; - }, - function(data) { - console.log("data"); - - }); - } - - $modalInstance.close("closed"); - - var dlg = dialogs.create('partials/portfolios/upgrade_schema_dtls.html','UpgradeSchemaCtrl',{},{size:'xlg',keyboard: true,backdrop: true,windowClass: 'my-class'}); - dlg.result.then(function(name){ - console.log("dlg.result"); - //$scope.name = name; - },function(){ - //if(angular.equals($scope.name,'')) - //$scope.name = 'You did not enter in your name!'; + $scope.setUpgradeFile = function(element) { + console.log("setUpgradeFile"); + $scope.$apply(function($scope) { + console.log("apply"); + $scope.theUpgradeFile = element.files[0]; + $rootScope.upgradeFileName = $scope.theUpgradeFile.name; + // alert("fname1"+$rootScope.upgradeFileName); + var file = element.files[0]; + $rootScope.file_path = file; + // $uibModalInstance.close("closed"); + angular.element(document.getElementById('fileUpload')).val(null); }); - - - }; -}]); \ No newline at end of file + }; + $scope.reset = function() { + console.log("reset"); + document.getElementById("fileUpload").disabled = false; + document.getElementById("schemaLocation").disabled = false; + document.getElementById("userID").disabled = false; + document.getElementById("password").disabled = false; + document.getElementById("schemaLocation").value = ''; + document.getElementById("userID").value = ''; + document.getElementById("password").value = ''; + $scope.theFile = null; + angular.element(document.getElementById('fileUpload')).val(null); + }; + $scope.upgradeSchema = function() { + console.log("upgradeSchema"); + // alert("inside upgrade schema"); + var file = $rootScope.file_path; + // alert("file:"+schemaFile); + // console.log('file is ' + JSON.stringify(file)); + var userID = document.getElementById("userID").value; + var password = document.getElementById("password").value; + var schemaLocation = document.getElementById("upgradeSchemaLocation").value; + var svnURL = document.getElementById("upgradeSchemaLocation").value; + console.log("after"); + $rootScope.Currentmappedvalues = []; + if (schemaLocation && userID && password + && document.getElementById("upgradeSchemaLocation").disabled == false) { + $scope.schemaLocation = schemaLocation; + $scope.userID = userID; + $scope.password = password; + document.getElementById("fileUpload").disabled = true; + var svnUploadURL = "/utm-service/schema_upload/svnUploadWSDL"; + svnservice + .SVNToUrl(schemaLocation, userID, password, svnURL, svnUploadURL) + .then( + function(pars) { + console.log("pars"); + $rootScope.updateWsdlInfo = angular.fromJson(pars); + $rootScope.updateServiceInfo = $rootScope.updateWsdlInfo.serviceInfo; + $rootScope.schemaLocation = $rootScope.updateWsdlInfo.schemaLocation; + $rootScope.updateServiceInput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; + $rootScope.updateServiceInputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; + $rootScope.updateServiceOutput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; + $rootScope.updateServiceOutputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; + $rootScope.updateServicefault = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; + $rootScope.updateServicefaultPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; + // alert("serviceInputPartInfo :: " + + // JSON.stringify($rootScope.serviceInputPartInfo)); + // $rootScope.isModel = true; + }, function(data) { + console.log("data"); + // alert("File upload failed and parameters not returned"); + }); + } else { + var uploadUrl = "/utm-service/schema_upload/uploadWSDL"; + fileUpload + .uploadFileToUrl(file, uploadUrl) + .then( + function(pars) { + console.log("pars"); + $rootScope.updateWsdlInfo = angular.fromJson(pars); + // alert("wsdlinfo:"+$rootScope.updateWsdlInfo); + $rootScope.updateServiceInfo = $rootScope.updateWsdlInfo.serviceInfo; + $rootScope.updateServiceInput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage; + $rootScope.updateServiceInputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].inputMessage.partInfo; + $rootScope.updateServiceOutput = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage; + $rootScope.updateServiceOutputPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].outputMessage.partInfo; + $rootScope.updateServicefault = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage; + $rootScope.updateServicefaultPartInfo = $rootScope.updateServiceInfo.bindingInfo.portTypeInfo.operationInfo[0].faultMessage.partInfo; + // alert("servicefaultPartInfo :: " + + // JSON.stringify($rootScope.servicefaultPartInfo)); + // $rootScope.isModel = true; + }, function(data) { + console.log("data"); + }); + } + $uibModalInstance.close("closed"); + var dlg = dialogs.create( + 'partials/portfolios/upgrade_schema_dtls.html', 'UpgradeSchemaCtrl', + {}, { + size : 'xlg', + keyboard : true, + backdrop : true, + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + console.log("dlg.result"); + // $scope.name = name; + }, function() { + // if(angular.equals($scope.name,'')) + // $scope.name = 'You did not enter in your name!'; + }); + }; +} ]); \ No newline at end of file diff --git a/src/main/resources/META-INF/resources/designer/scripts/UpgradeSchemaCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/UpgradeSchemaCtrl.js index a95c213e..db8b126a 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/UpgradeSchemaCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/UpgradeSchemaCtrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,541 +20,460 @@ * =================================================================== * */ - var elementKeys = []; - -app.directive('inputInfoUpgradeClass', function ($compile) { - console.log("////UpgradeSchemaCtrl"); - return { - restrict: "C", - replace: true, - link: function(scope,element,attrs){ - var elementHTML = ''; - angular.forEach(scope.infoType.schemaElements, function(value, key){ - - scope.schemaElement = value; - - if(scope.schemaElement.complexType != null){ - if(scope.currentElementName == ''){ - scope.currentElementName = scope.schemaElement.complexType.name; - } - - scope.ParentKey = scope.parentName + '_' + scope.currentElementName; - if(scope.schemaElement.repeatableHierarchicalPrefix != null){ - scope.ParentKey = scope.ParentKey + scope.schemaElement.repeatableHierarchicalPrefix; - } - scope.parElement = scope.schemaElement; - scope.tableStyle = 'table-level' + scope.heirarchyLevel + '-tree'; - scope.tdLabelStyle = 'td-level' + scope.heirarchyLevel + '-label-tree'; - scope.heirLevel = scope.heirarchyLevel; - - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '{{currentElementName}}'; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + '
      '; - var x = angular.element(elementHTML); - element.append(x); - $compile(x)(scope); - } - }); - - } - } +app +.directive( +'inputInfoUpgradeClass', +function($compile) { + console.log("////UpgradeSchemaCtrl"); + return { + restrict : "C", + replace : true, + link : function(scope, element, attrs) { + var elementHTML = ''; + angular + .forEach( + scope.infoType.schemaElements, + function(value, key) { + scope.schemaElement = value; + if (scope.schemaElement.complexType != null) { + if (scope.currentElementName == '') { + scope.currentElementName = scope.schemaElement.complexType.name; + } + scope.ParentKey = scope.parentName + '_' + + scope.currentElementName; + if (scope.schemaElement.repeatableHierarchicalPrefix != null) { + scope.ParentKey = scope.ParentKey + + scope.schemaElement.repeatableHierarchicalPrefix; + } + scope.parElement = scope.schemaElement; + scope.tableStyle = 'table-level' + scope.heirarchyLevel + + '-tree'; + scope.tdLabelStyle = 'td-level' + scope.heirarchyLevel + + '-label-tree'; + scope.heirLevel = scope.heirarchyLevel; + elementHTML = elementHTML + + '
      '; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + '{{currentElementName}}'; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + + '
      '; + elementHTML = elementHTML + + '
      '; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + '
      '; + var x = angular.element(elementHTML); + element.append(x); + $compile(x)(scope); + } + }); + } + } }); - -app.directive('inputInfoUpgradeClassMember', function ($compile) { - return { - restrict: "C", - - link: function(scope,element,attrs){ - var elementHTML = ''; - - scope.currentElementName=scope.objectName; - scope.parentName=scope.ParentKey; - scope.parentElement=scope.parElement; - scope.heirarchyLevel = scope.heirLevel + 1; - - if(scope.schemaElement.element.name != null){ - - scope.elementKey=scope.parentName + '_' + scope.schemaElement.element.name; - if(scope.schemaElement.repeatableHierarchicalPrefix != null){ - scope.elementKey = scope.elementKey + scope.schemaElement.repeatableHierarchicalPrefix; - } - scope.tableStyle='table-level' + scope.heirarchyLevel + '-tree'; - scope.tdLabelStyle='td-level' + scope.heirarchyLevel +'-label-tree'; - - if(scope.schemaElement.type.complexType != null){ - scope.showUTMViewMsgHeader = false; - - }else{ - scope.showUTMViewMsgHeader = true; - - } - - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + ' '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '{{schemaElement.element.name}} '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + '
      '; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + ''; - elementHTML = elementHTML + '
      '; - - var x = angular.element(elementHTML); - element.append(x); - $compile(x)(scope); - - - if(scope.schemaElement.type.complexType != null){ - var elementHTML2 = '
      ' - elementHTML2 = elementHTML2 + '
      ' - elementHTML2 = elementHTML2 + '
      ' - elementHTML2 = elementHTML2 + '
      ' - elementHTML2 = elementHTML2 + '
      ' - elementHTML2 = elementHTML2 + '
      ' - elementHTML2 = elementHTML2 + '
      '; - var x = angular.element(elementHTML2); - element.append(x); - $compile(x)(scope); - } - - } - - } - } +app +.directive( +'inputInfoUpgradeClassMember', +function($compile) { + return { + restrict : "C", + link : function(scope, element, attrs) { + var elementHTML = ''; + scope.currentElementName = scope.objectName; + scope.parentName = scope.ParentKey; + scope.parentElement = scope.parElement; + scope.heirarchyLevel = scope.heirLevel + 1; + if (scope.schemaElement.element.name != null) { + scope.elementKey = scope.parentName + '_' + + scope.schemaElement.element.name; + if (scope.schemaElement.repeatableHierarchicalPrefix != null) { + scope.elementKey = scope.elementKey + + scope.schemaElement.repeatableHierarchicalPrefix; + } + scope.tableStyle = 'table-level' + scope.heirarchyLevel + '-tree'; + scope.tdLabelStyle = 'td-level' + scope.heirarchyLevel + + '-label-tree'; + if (scope.schemaElement.type.complexType != null) { + scope.showUTMViewMsgHeader = false; + } else { + scope.showUTMViewMsgHeader = true; + } + elementHTML = elementHTML + + '
      '; + elementHTML = elementHTML + ' '; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + + ''; + elementHTML = elementHTML + '{{schemaElement.element.name}} '; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + + '
      '; + elementHTML = elementHTML + '
      '; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + ''; + elementHTML = elementHTML + '
      '; + var x = angular.element(elementHTML); + element.append(x); + $compile(x)(scope); + if (scope.schemaElement.type.complexType != null) { + var elementHTML2 = '
      ' + elementHTML2 = elementHTML2 + + '
      ' + elementHTML2 = elementHTML2 + + '
      ' + elementHTML2 = elementHTML2 + + '
      ' + elementHTML2 = elementHTML2 + '
      ' + elementHTML2 = elementHTML2 + '
      ' + elementHTML2 = elementHTML2 + '
      '; + var x = angular.element(elementHTML2); + element.append(x); + $compile(x)(scope); + } + } + } + } }); - -app.controller( - 'UpgradeSchemaCtrl', - [ - '$scope', - '$rootScope', - '$modalInstance', - 'dialogs', - function($scope, $rootScope, $modalInstance,dialogs) { - - $rootScope.Currentmappedvalues = []; - $scope.utmSchemaExts = {}; - - $scope.callFromMap=false; - $scope.oldMapValFlag=false; - - $scope.complexMappedValuesOld = {}; - $scope.complexMappedValuesNew = {}; - var allCurrentElementKeyArray=[]; - - $scope.checkedValues = {}; - var checkedElementValueArray=[]; - - - $scope.complexMapElements = function(elementKey,schemaElement,radioName) { - if (schemaElement.complexType != null || (schemaElement.type != null && schemaElement.type.complexType != null)) { - if(radioName=="oldChk") - $scope.complexMappedValuesOld[elementKey]=schemaElement; - else if(radioName=="newChk") - $scope.complexMappedValuesNew[elementKey]=schemaElement; - } - if(elementKey != null) - allCurrentElementKeyArray.push(elementKey); - - }; - - $scope.mapElements = function() { - - var oldVal = $('input[name=oldChk]:checked') - .val(); - var newVal = $('input[name=newChk]:checked') - .val(); - var oldId = $('input[name=oldChk]:checked') - .attr('id'); - var newId = $('input[name=newChk]:checked') - .attr('id'); - $scope.mappedvalues = {}; - - $scope.checkedValues.oldVal=oldVal; - $scope.checkedValues.newVal=newVal; - - checkedElementValueArray.push($scope.checkedValues); - - - $scope.oldMappedvaluesKeyArray = []; - $scope.newMappedvaluesKeyArray = []; - $scope.oldmappedvaluesArray = []; - $scope.newMappedvaluesArray = []; - - if($scope.complexMappedValuesOld[oldId] != null && $scope.complexMappedValuesNew[newId] != null){ - $scope.matchType=''; - $scope.matchType=$scope.compareElements($scope.complexMappedValuesOld[oldId],$scope.complexMappedValuesNew[newId]); - if($scope.matchType == "true"){ - console.log("Element Type Matches and eligible for upgrade schema"); - - $scope.callFromMap=true; - for (var i = 0; i < $scope.complexMappedValuesOld[oldId].type.elements.length; i++) { - $scope.oldMapValFlag=true; - getElementkeys(oldId, $scope.complexMappedValuesOld[oldId].type.elements[i]); - } - - for (var j = 0; j < $scope.complexMappedValuesNew[newId].type.elements.length; j++) { - $scope.oldMapValFlag=false; - getElementkeys(newId, $scope.complexMappedValuesNew[newId].type.elements[j]); - } - - for (var k = 0; k < $scope.oldmappedvaluesArray.length; k++) { - - $scope.mappedvalues = {}; - - $scope.mappedvalues.oldvalue = $scope.oldmappedvaluesArray[k]; - $scope.mappedvalues.newvalue = $scope.newMappedvaluesArray[k]; - $scope.mappedvalues.oldidvalue = $scope.oldMappedvaluesKeyArray[k]; - $scope.mappedvalues.newidvalue = $scope.newMappedvaluesKeyArray[k]; - $rootScope.Currentmappedvalues - .push($scope.mappedvalues); - } - } - else if($scope.matchType == "false") { - - dialogs.error('Invalid Selection Error','The mapping of the selected elements is invalid. Please select valid complex elements for Upgrade Schema'); - - } - - - } - else if(($scope.complexMappedValuesOld[oldId] == null && $scope.complexMappedValuesNew[newId] != null) || ($scope.complexMappedValuesOld[oldId] != null && $scope.complexMappedValuesNew[newId] == null)){ - - dialogs.error('Invalid Selection Error','The mapping of the selected elements is invalid. Please select valid complex elements for Upgrade Schema'); - } - else{ - - $scope.mappedvalues.oldvalue = oldVal; - $scope.mappedvalues.newvalue = newVal; - $scope.mappedvalues.oldidvalue = oldId; - $scope.mappedvalues.newidvalue = newId; - $rootScope.Currentmappedvalues - .push($scope.mappedvalues); - } - $rootScope.checkRepeatable = false; - - }; - - //Utility Method to compare Object Structure of Complex Type Elements before upgrade schema - $scope.compareElements = function(oldElement, newElement) { - - if (oldElement.type.complexType !=null && newElement.type.complexType !=null) { - if (oldElement.type.elements.length==newElement.type.elements.length) { - for (var i = 0; i < oldElement.type.elements.length; i++) { - if(oldElement.type.elements[i].type.complexType !=null && newElement.type.elements[i].type.complexType !=null){ - $scope.compareElements(oldElement.type.elements[i], newElement.type.elements[i]); - - }else if(oldElement.type.elements[i].type.complexType ==null && newElement.type.elements[i].type.complexType !=null){ - $scope.matchType="false"; - return $scope.matchType; - } - if($scope.matchType == "false") - return $scope.matchType; - } - for (var i = 0; i < newElement.type.elements.length; i++) { - if(newElement.type.elements[i].type.complexType !=null && oldElement.type.elements[i].type.complexType !=null){ - $scope.compareElements(newElement.type.elements[i], oldElement.type.elements[i]); - }else if(newElement.type.elements[i].type.complexType ==null && oldElement.type.elements[i].type.complexType !=null){ - $scope.matchType="false"; - return $scope.matchType; - } - if($scope.matchType == "false") - return $scope.matchType; - } - $scope.matchType="true"; - return $scope.matchType; - } - else - $scope.matchType="false"; - return $scope.matchType; - - } - - }; - - - $scope.checkRepeatableElement = function( - elementKey, key) { - - if (elementKey != key) - $rootScope.checkRepeatable = true; - - }; - - $scope.upgradeSchema = function() { - //console.log("List Model Path Details before Upgrade Schema :: " + JSON.stringify(list_model_path_details[selected_model])); - - $scope.callFromMap=false; - $rootScope.isHorR = true; - - $rootScope.repeatableHeirarchicalElementMap = map_model_repeatable_heirarchical_elements[selected_model]; - - //Checking Repeatable Hierarchical elements mapping and changing elementkey if repeatable hierarchical is mapped - for (var key in $rootScope.repeatableHeirarchicalElementMap) { - for(var i=0;i -1) - elementKeys.push(allCurrentElementKeyArray[i]); - } - for (var j = 0; j< checkedElementValueArray.length; j++) { - var currentCheckedMappedvalue = checkedElementValueArray[j]; - if (key.indexOf(currentCheckedMappedvalue.oldVal) > -1){ - - var newObject=JSON.stringify($rootScope.repeatableHeirarchicalElementMap); - - var oldvalue=currentCheckedMappedvalue.oldVal; - var newvalue=currentCheckedMappedvalue.newVal; - - var modObject= newObject.replace(oldvalue, newvalue); - - $rootScope.repeatableHeirarchicalElementMap=angular.fromJson(modObject); - - /*for (var k = 0; k < elementKeys.length; k++) { - - if (elementKeys[k].indexOf(currentCheckedMappedvalue.oldVal) > -1){ - - elementKeys[k]=elementKeys[k].replace(oldvalue, newvalue); - - } - - }*/ - - } - } - - } - - - $scope.oldSchemaLocation = $rootScope.wsdlInfo.schemaLocation; - $rootScope.wsdlInfo = $rootScope.updateWsdlInfo; - $rootScope.wsdlInfo.schemaUpgradedFlag = true; - $rootScope.wsdlInfo.oldSchemaLocation = $scope.oldSchemaLocation; - - $rootScope.serviceInfo = $rootScope.updateServiceInfo; - $rootScope.schemaLocation = $rootScope.updateWsdlInfo.schemaLocation; - $rootScope.serviceInput = $rootScope.updateServiceInput; - $rootScope.serviceInputPartInfo = $rootScope.updateServiceInputPartInfo; - - $rootScope.inputSchemaServiceInputPartInfo=[]; - $rootScope.inputSchemaServiceOutputPartInfo=[]; - $rootScope.inputSchemaServicefaultPartInfo=[]; - angular.copy($rootScope.serviceInputPartInfo, $rootScope.inputSchemaServiceInputPartInfo); - angular.copy($rootScope.serviceOutputPartInfo, $rootScope.inputSchemaServiceOutputPartInfo); - angular.copy($rootScope.servicefaultPartInfo, $rootScope.inputSchemaServicefaultPartInfo); - - //Form all the element keys of the Upgraded Schema so that to know the attibutes removed - for (var i = 0; i < $rootScope.serviceInputPartInfo.length; i++) { - for (var j = 0; j < $rootScope.serviceInputPartInfo[i].schemaElements.length; j++) { - getElementkeys( - 'ServiceInput', - $rootScope.serviceInputPartInfo[i].schemaElements[j]); - } - } - $rootScope.serviceOutput = $rootScope.updateServiceOutput; - $rootScope.serviceOutputPartInfo = $rootScope.updateServiceOutputPartInfo; - for (var i = 0; i < $rootScope.serviceOutputPartInfo.length; i++) { - for (var j = 0; j < $rootScope.serviceOutputPartInfo[i].schemaElements.length; j++) { - getElementkeys( - 'ServiceOutput', - $rootScope.serviceOutputPartInfo[i].schemaElements[j]); - } - } - $rootScope.servicefault = $rootScope.updateServicefault; - $rootScope.servicefaultPartInfo = $rootScope.updateServicefaultPartInfo; - for (var i = 0; i < $rootScope.servicefaultPartInfo.length; i++) { - for (var j = 0; j < $rootScope.servicefaultPartInfo[i].schemaElements.length; j++) { - getElementkeys( - 'ServiceFault', - $rootScope.servicefaultPartInfo[i].schemaElements[j]); - } - } - console.log("mapped values of current"+ JSON.stringify($rootScope.Currentmappedvalues)); - - //For each model in the project - // a) For the mapped elements - // i) replace the old ids with new ids for the Schema Extensions - // ii) replace the old ids with new ids for the Path Details - // b) For the deleted attributes in the Upgraded schema - // i) Remove the ids from Schema Extensions - // ii) Remove the ids from Path Details - for(var modelIndex=0; modelIndex < $rootScope.models.length; modelIndex++) { - var current_model = $rootScope.models[modelIndex]; - $scope.utmSchemaExts = list_model_schema_extensions[current_model].utmSchemaExtentionMap; - $scope.pathDetailsArray = list_model_path_details[current_model]; - - for (var i = 0; i < $rootScope.Currentmappedvalues.length; i++) { - $scope.mappedvalues = $rootScope.Currentmappedvalues[i]; - - if($scope.utmSchemaExts != null) { - $scope.utmSchemaExts[$scope.mappedvalues.newidvalue] = $scope.utmSchemaExts[$scope.mappedvalues.oldidvalue]; - if($scope.mappedvalues.newidvalue != $scope.mappedvalues.oldidvalue) - delete $scope.utmSchemaExts[$scope.mappedvalues.oldidvalue]; - } - - if($scope.pathDetailsArray != null && $scope.pathDetailsArray.length > 0 ) { - for (var k = 0; k < $scope.pathDetailsArray.length; k++) { - $scope.pathDetails = $scope.pathDetailsArray[k]; - - if ($scope.pathDetails != null) { - for (var j = 0; j < $scope.pathDetails.decisionIdentifiers.length; j++) { - if($scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.oldidvalue] != null) - $scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.newidvalue] = $scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.oldidvalue]; - if($scope.mappedvalues.newidvalue != $scope.mappedvalues.oldidvalue) - delete $scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.oldidvalue]; - } - } - } - } - } - - $scope.schemenExts = angular.copy($scope.utmSchemaExts); - - //If an attribute is removed from upgraded schema, remove that attribute related details from SchemaExtensions - Object.keys($scope.schemenExts).forEach( - function(key) { - var key_isavailable = false; - for (var j = 0; j < elementKeys.length; j++) { - - /*for (var m = 0; m < checkedElementValueArray.length; m++) { - - var currentCheckedMappedvalue = checkedElementValueArray[m]; - if ((key.indexOf(currentCheckedMappedvalue.oldVal) > -1) && (currentCheckedMappedvalue.oldVal != currentCheckedMappedvalue.newVal)){ - - var oldvalue=currentCheckedMappedvalue.oldVal; - var newvalue=currentCheckedMappedvalue.newVal; - - key= key.replace(oldvalue, newvalue); - - elementKeys.push(key); - - //list_model_schema_extensions[current_model].utmSchemaExtentionMap=angular.fromJson(newUTMSchemaExtentionMapObject); - } - }*/ - - if (elementKeys[j] === key) { - key_isavailable = true; - } - } - if (!key_isavailable) { - //Implement this later. Commented this as this is wiping out all the Repeatable/Heirarchical values - //delete $scope.utmSchemaExts[key]; - } - } - ); - - //If an attribute is removed from upgraded schema, remove that attribute related details from PathDetails - if($scope.pathDetailsArray != null && $scope.pathDetailsArray.length > 0 ) { - for (var k = 0; k < $scope.pathDetailsArray.length; k++) { - $scope.pathDetails = $scope.pathDetailsArray[k]; - - for (var j = 0; j < $scope.pathDetails.decisionIdentifiers.length; j++) { - $scope.decisionElementValues = angular.copy($scope.pathDetails.decisionIdentifiers[j].elementValues); - Object.keys($scope.decisionElementValues).forEach( - function(key) { - var key_isavailable = false; - for (var l = 0; l < elementKeys.length; l++) { - - /*for (var m = 0; m < checkedElementValueArray.length; m++) { - - var currentCheckedMappedvalue = checkedElementValueArray[m]; - if ((key.indexOf(currentCheckedMappedvalue.oldVal) > -1) && (currentCheckedMappedvalue.oldVal != currentCheckedMappedvalue.newVal)){ - - var oldvalue=currentCheckedMappedvalue.oldVal; - var newvalue=currentCheckedMappedvalue.newVal; - - key= key.replace(oldvalue, newvalue); - - //list_model_schema_extensions[current_model].utmSchemaExtentionMap=angular.fromJson(newUTMSchemaExtentionMapObject); - } - }*/ - if (elementKeys[l] === key) { - key_isavailable = true; - } - } - if (!key_isavailable) { - //Implement this later. Commented this as this is wiping out all the Repeatable/Heirarchical values - //delete $scope.pathDetails.decisionIdentifiers[j].elementValues[key]; - } - } - ); - } - } - } - - //console.log("List Model Path Details after Upgrade Schema :: " + JSON.stringify(list_model_path_details[current_model])); - //console.log("UTMSchema Extension after Upgrade Schema :: " + JSON.stringify($scope.utmSchemaExts)); - - } - $modalInstance.close("closed"); - }; - - $scope.close = function() { - - $modalInstance.close("closed"); - }; - - - function getElementkeys(parentname, schemaelement) { - if (schemaelement.complexType != null) { - var parentkey = parentname + "_" + schemaelement.complexType.name; - for (var i = 0; i < schemaelement.elements.length; i++) { - getElementkeys(parentkey, schemaelement.elements[i]); - } - } - if (schemaelement.element != null && schemaelement.element.name != null) { - var elementKey = parentname + '_' + schemaelement.element.name; - - if(!$scope.callFromMap){ - elementKeys.push(elementKey); - } - else{ - if($scope.oldMapValFlag){ - $scope.oldmappedvaluesArray.push(schemaelement.element.name); - $scope.oldMappedvaluesKeyArray.push(elementKey); - } - else{ - - $scope.newMappedvaluesArray.push(schemaelement.element.name); - $scope.newMappedvaluesKeyArray.push(elementKey); - } - } - - - - } - if (schemaelement.type != null && schemaelement.type.complexType != null) { - var parentkey = parentname + '_' + schemaelement.element.name; - for (var i = 0; i < schemaelement.type.elements.length; i++) { - getElementkeys(parentkey, schemaelement.type.elements[i]); - } - } - } - - }]); - +app +.controller( +'UpgradeSchemaCtrl', +[ +'$scope', +'$rootScope', +'$uibModalInstance', +'dialogs', +function($scope, $rootScope, $uibModalInstance, dialogs) { + $rootScope.Currentmappedvalues = []; + $scope.utmSchemaExts = {}; + $scope.callFromMap = false; + $scope.oldMapValFlag = false; + $scope.complexMappedValuesOld = {}; + $scope.complexMappedValuesNew = {}; + var allCurrentElementKeyArray = []; + $scope.checkedValues = {}; + var checkedElementValueArray = []; + $scope.complexMapElements = function(elementKey, schemaElement, radioName) { + if (schemaElement.complexType != null + || (schemaElement.type != null && schemaElement.type.complexType != null)) { + if (radioName == "oldChk") + $scope.complexMappedValuesOld[elementKey] = schemaElement; + else if (radioName == "newChk") + $scope.complexMappedValuesNew[elementKey] = schemaElement; + } + if (elementKey != null) + allCurrentElementKeyArray.push(elementKey); + }; + $scope.mapElements = function() { + var oldVal = $('input[name=oldChk]:checked').val(); + var newVal = $('input[name=newChk]:checked').val(); + var oldId = $('input[name=oldChk]:checked').attr('id'); + var newId = $('input[name=newChk]:checked').attr('id'); + $scope.mappedvalues = {}; + $scope.checkedValues.oldVal = oldVal; + $scope.checkedValues.newVal = newVal; + checkedElementValueArray.push($scope.checkedValues); + $scope.oldMappedvaluesKeyArray = []; + $scope.newMappedvaluesKeyArray = []; + $scope.oldmappedvaluesArray = []; + $scope.newMappedvaluesArray = []; + if ($scope.complexMappedValuesOld[oldId] != null + && $scope.complexMappedValuesNew[newId] != null) { + $scope.matchType = ''; + $scope.matchType = $scope.compareElements( + $scope.complexMappedValuesOld[oldId], + $scope.complexMappedValuesNew[newId]); + if ($scope.matchType == "true") { + console + .log("Element Type Matches and eligible for upgrade schema"); + $scope.callFromMap = true; + for (var i = 0; i < $scope.complexMappedValuesOld[oldId].type.elements.length; i++) { + $scope.oldMapValFlag = true; + getElementkeys(oldId, + $scope.complexMappedValuesOld[oldId].type.elements[i]); + } + for (var j = 0; j < $scope.complexMappedValuesNew[newId].type.elements.length; j++) { + $scope.oldMapValFlag = false; + getElementkeys(newId, + $scope.complexMappedValuesNew[newId].type.elements[j]); + } + for (var k = 0; k < $scope.oldmappedvaluesArray.length; k++) { + $scope.mappedvalues = {}; + $scope.mappedvalues.oldvalue = $scope.oldmappedvaluesArray[k]; + $scope.mappedvalues.newvalue = $scope.newMappedvaluesArray[k]; + $scope.mappedvalues.oldidvalue = $scope.oldMappedvaluesKeyArray[k]; + $scope.mappedvalues.newidvalue = $scope.newMappedvaluesKeyArray[k]; + $rootScope.Currentmappedvalues.push($scope.mappedvalues); + } + } else if ($scope.matchType == "false") { + dialogs + .error( + 'Invalid Selection Error', + 'The mapping of the selected elements is invalid. Please select valid complex elements for Upgrade Schema'); + } + } else if (($scope.complexMappedValuesOld[oldId] == null && $scope.complexMappedValuesNew[newId] != null) + || ($scope.complexMappedValuesOld[oldId] != null && $scope.complexMappedValuesNew[newId] == null)) { + dialogs + .error( + 'Invalid Selection Error', + 'The mapping of the selected elements is invalid. Please select valid complex elements for Upgrade Schema'); + } else { + $scope.mappedvalues.oldvalue = oldVal; + $scope.mappedvalues.newvalue = newVal; + $scope.mappedvalues.oldidvalue = oldId; + $scope.mappedvalues.newidvalue = newId; + $rootScope.Currentmappedvalues.push($scope.mappedvalues); + } + $rootScope.checkRepeatable = false; + }; + // Utility Method to compare Object Structure of Complex Type Elements + // before upgrade schema + $scope.compareElements = function(oldElement, newElement) { + if (oldElement.type.complexType != null + && newElement.type.complexType != null) { + if (oldElement.type.elements.length == newElement.type.elements.length) { + for (var i = 0; i < oldElement.type.elements.length; i++) { + if (oldElement.type.elements[i].type.complexType != null + && newElement.type.elements[i].type.complexType != null) { + $scope.compareElements(oldElement.type.elements[i], + newElement.type.elements[i]); + } else if (oldElement.type.elements[i].type.complexType == null + && newElement.type.elements[i].type.complexType != null) { + $scope.matchType = "false"; + return $scope.matchType; + } + if ($scope.matchType == "false") + return $scope.matchType; + } + for (var i = 0; i < newElement.type.elements.length; i++) { + if (newElement.type.elements[i].type.complexType != null + && oldElement.type.elements[i].type.complexType != null) { + $scope.compareElements(newElement.type.elements[i], + oldElement.type.elements[i]); + } else if (newElement.type.elements[i].type.complexType == null + && oldElement.type.elements[i].type.complexType != null) { + $scope.matchType = "false"; + return $scope.matchType; + } + if ($scope.matchType == "false") + return $scope.matchType; + } + $scope.matchType = "true"; + return $scope.matchType; + } else + $scope.matchType = "false"; + return $scope.matchType; + } + }; + $scope.checkRepeatableElement = function(elementKey, key) { + if (elementKey != key) + $rootScope.checkRepeatable = true; + }; + $scope.upgradeSchema = function() { + // console.log("List Model Path Details before Upgrade Schema :: " + + // JSON.stringify(list_model_path_details[selected_model])); + $scope.callFromMap = false; + $rootScope.isHorR = true; + $rootScope.repeatableHeirarchicalElementMap = map_model_repeatable_heirarchical_elements[selected_model]; + // Checking Repeatable Hierarchical elements mapping and changing + // elementkey if repeatable hierarchical is mapped + for ( var key in $rootScope.repeatableHeirarchicalElementMap) { + for (var i = 0; i < allCurrentElementKeyArray.length; i++) { + if (allCurrentElementKeyArray[i].indexOf(key) > -1) + elementKeys.push(allCurrentElementKeyArray[i]); + } + for (var j = 0; j < checkedElementValueArray.length; j++) { + var currentCheckedMappedvalue = checkedElementValueArray[j]; + if (key.indexOf(currentCheckedMappedvalue.oldVal) > -1) { + var newObject = JSON + .stringify($rootScope.repeatableHeirarchicalElementMap); + var oldvalue = currentCheckedMappedvalue.oldVal; + var newvalue = currentCheckedMappedvalue.newVal; + var modObject = newObject.replace(oldvalue, newvalue); + $rootScope.repeatableHeirarchicalElementMap = angular + .fromJson(modObject); + } + } + } + $scope.oldSchemaLocation = $rootScope.wsdlInfo.schemaLocation; + $rootScope.wsdlInfo = $rootScope.updateWsdlInfo; + $rootScope.wsdlInfo.schemaUpgradedFlag = true; + $rootScope.wsdlInfo.oldSchemaLocation = $scope.oldSchemaLocation; + $rootScope.serviceInfo = $rootScope.updateServiceInfo; + $rootScope.schemaLocation = $rootScope.updateWsdlInfo.schemaLocation; + $rootScope.serviceInput = $rootScope.updateServiceInput; + $rootScope.serviceInputPartInfo = $rootScope.updateServiceInputPartInfo; + $rootScope.inputSchemaServiceInputPartInfo = []; + $rootScope.inputSchemaServiceOutputPartInfo = []; + $rootScope.inputSchemaServicefaultPartInfo = []; + angular.copy($rootScope.serviceInputPartInfo, + $rootScope.inputSchemaServiceInputPartInfo); + angular.copy($rootScope.serviceOutputPartInfo, + $rootScope.inputSchemaServiceOutputPartInfo); + angular.copy($rootScope.servicefaultPartInfo, + $rootScope.inputSchemaServicefaultPartInfo); + // Form all the element keys of the Upgraded Schema so that to know the + // attibutes removed + for (var i = 0; i < $rootScope.serviceInputPartInfo.length; i++) { + for (var j = 0; j < $rootScope.serviceInputPartInfo[i].schemaElements.length; j++) { + getElementkeys('ServiceInput', + $rootScope.serviceInputPartInfo[i].schemaElements[j]); + } + } + $rootScope.serviceOutput = $rootScope.updateServiceOutput; + $rootScope.serviceOutputPartInfo = $rootScope.updateServiceOutputPartInfo; + for (var i = 0; i < $rootScope.serviceOutputPartInfo.length; i++) { + for (var j = 0; j < $rootScope.serviceOutputPartInfo[i].schemaElements.length; j++) { + getElementkeys('ServiceOutput', + $rootScope.serviceOutputPartInfo[i].schemaElements[j]); + } + } + $rootScope.servicefault = $rootScope.updateServicefault; + $rootScope.servicefaultPartInfo = $rootScope.updateServicefaultPartInfo; + for (var i = 0; i < $rootScope.servicefaultPartInfo.length; i++) { + for (var j = 0; j < $rootScope.servicefaultPartInfo[i].schemaElements.length; j++) { + getElementkeys('ServiceFault', + $rootScope.servicefaultPartInfo[i].schemaElements[j]); + } + } + console.log("mapped values of current" + + JSON.stringify($rootScope.Currentmappedvalues)); + // For each model in the project + // a) For the mapped elements + // i) replace the old ids with new ids for the Schema Extensions + // ii) replace the old ids with new ids for the Path Details + // b) For the deleted attributes in the Upgraded schema + // i) Remove the ids from Schema Extensions + // ii) Remove the ids from Path Details + for (var modelIndex = 0; modelIndex < $rootScope.models.length; modelIndex++) { + var current_model = $rootScope.models[modelIndex]; + $scope.utmSchemaExts = list_model_schema_extensions[current_model].utmSchemaExtentionMap; + $scope.pathDetailsArray = list_model_path_details[current_model]; + for (var i = 0; i < $rootScope.Currentmappedvalues.length; i++) { + $scope.mappedvalues = $rootScope.Currentmappedvalues[i]; + if ($scope.utmSchemaExts != null) { + $scope.utmSchemaExts[$scope.mappedvalues.newidvalue] = $scope.utmSchemaExts[$scope.mappedvalues.oldidvalue]; + if ($scope.mappedvalues.newidvalue != $scope.mappedvalues.oldidvalue) + delete $scope.utmSchemaExts[$scope.mappedvalues.oldidvalue]; + } + if ($scope.pathDetailsArray != null + && $scope.pathDetailsArray.length > 0) { + for (var k = 0; k < $scope.pathDetailsArray.length; k++) { + $scope.pathDetails = $scope.pathDetailsArray[k]; + if ($scope.pathDetails != null) { + for (var j = 0; j < $scope.pathDetails.decisionIdentifiers.length; j++) { + if ($scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.oldidvalue] != null) + $scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.newidvalue] = $scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.oldidvalue]; + if ($scope.mappedvalues.newidvalue != $scope.mappedvalues.oldidvalue) + delete $scope.pathDetails.decisionIdentifiers[j].elementValues[$scope.mappedvalues.oldidvalue]; + } + } + } + } + } + $scope.schemenExts = angular.copy($scope.utmSchemaExts); + // If an attribute is removed from upgraded schema, remove that + // attribute related details from SchemaExtensions + Object.keys($scope.schemenExts).forEach(function(key) { + var key_isavailable = false; + for (var j = 0; j < elementKeys.length; j++) { + if (elementKeys[j] === key) { + key_isavailable = true; + } + } + if (!key_isavailable) { + // Implement this later. Commented this as this is wiping + // out all the Repeatable/Heirarchical values + // delete $scope.utmSchemaExts[key]; + } + }); + // If an attribute is removed from upgraded schema, remove that + // attribute related details from PathDetails + if ($scope.pathDetailsArray != null + && $scope.pathDetailsArray.length > 0) { + for (var k = 0; k < $scope.pathDetailsArray.length; k++) { + $scope.pathDetails = $scope.pathDetailsArray[k]; + for (var j = 0; j < $scope.pathDetails.decisionIdentifiers.length; j++) { + $scope.decisionElementValues = angular + .copy($scope.pathDetails.decisionIdentifiers[j].elementValues); + Object.keys($scope.decisionElementValues).forEach( + function(key) { + var key_isavailable = false; + for (var l = 0; l < elementKeys.length; l++) { + if (elementKeys[l] === key) { + key_isavailable = true; + } + } + if (!key_isavailable) { + // Implement this later. Commented this as this + // is wiping out all the Repeatable/Heirarchical + // values + // delete + // $scope.pathDetails.decisionIdentifiers[j].elementValues[key]; + } + }); + } + } + } + } + $uibModalInstance.close("closed"); + }; + $scope.close = function() { + $uibModalInstance.close("closed"); + }; + function getElementkeys(parentname, schemaelement) { + if (schemaelement.complexType != null) { + var parentkey = parentname + "_" + schemaelement.complexType.name; + for (var i = 0; i < schemaelement.elements.length; i++) { + getElementkeys(parentkey, schemaelement.elements[i]); + } + } + if (schemaelement.element != null && schemaelement.element.name != null) { + var elementKey = parentname + '_' + schemaelement.element.name; + if (!$scope.callFromMap) { + elementKeys.push(elementKey); + } else { + if ($scope.oldMapValFlag) { + $scope.oldmappedvaluesArray + .push(schemaelement.element.name); + $scope.oldMappedvaluesKeyArray.push(elementKey); + } else { + $scope.newMappedvaluesArray + .push(schemaelement.element.name); + $scope.newMappedvaluesKeyArray.push(elementKey); + } + } + } + if (schemaelement.type != null + && schemaelement.type.complexType != null) { + var parentkey = parentname + '_' + schemaelement.element.name; + for (var i = 0; i < schemaelement.type.elements.length; i++) { + getElementkeys(parentkey, schemaelement.type.elements[i]); + } + } + } +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/app.js b/src/main/resources/META-INF/resources/designer/scripts/app.js index daa64806..0c399528 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/app.js +++ b/src/main/resources/META-INF/resources/designer/scripts/app.js @@ -20,1272 +20,862 @@ * =================================================================== * */ - 'use strict'; - /* App Module */ - -var app = angular.module('clds-app', ['ngRoute', - 'ngResource', - 'ui.bootstrap', - 'angular-loading-bar', - 'ngAnimate', - 'dialogs.main', - 'ngSanitize', - 'ngCookies', - 'ui.bootstrap.modal' - ]) - .config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) { - - cfpLoadingBarProvider.includeBar = true; - cfpLoadingBarProvider.includeSpinner = true; - }]) - .config( - function($httpProvider) { - - $httpProvider.responseInterceptors - .push('myHttpInterceptor'); - - var spinnerFunction = function spinnerFunction(data, - headersGetter) { - - return data; - }; - - $httpProvider.defaults.transformRequest - .push(spinnerFunction); - }) - .config( - [ - '$routeProvider', - '$locationProvider', - '$compileProvider', - 'cfpLoadingBarProvider', - function($routeProvider, $locationProvider, - cfpLoadingBarProvider, $timeout, dialogs, - $cookies) { - $locationProvider.html5Mode(false); - // alert("App.js"); - - $routeProvider - .when('/otherwise', { - templateUrl: 'please_wait.html', - controller: QueryParamsHandlerCtrl - }) - . - // when('/dashboard_submit', { templateUrl: - // 'partials/portfolios/dashboard_submit.html', - // controller: CreateNewPrjCtrl }). - when( - '/dashboard', { - templateUrl: 'partials/portfolios/clds_modelling.html', - controller: DashboardCtrl - }) - . - // when('/dashboard_upload', { templateUrl: - // 'partials/portfolios/dashboard_upload.html', - // controller: DashboardCtrl }). - when( - '/activity_modelling', { - templateUrl: 'partials/portfolios/clds_modelling.html', - controller: DashboardCtrl - }).when('/authenticate', { - templateUrl: 'authenticate.html', - controller: AuthenticateCtrl - }).when('/invalidlogin', { - templateUrl: 'invalid_login.html', - controller: PageUnderConstructionCtrl - }).otherwise({ - redirectTo: '/otherwise' - }); - - } - ]) - .controller( - 'dialogCtrl', - function($scope, $rootScope, $timeout, dialogs) { - - // -- Variables --// - - $scope.lang = 'en-US'; - $scope.language = 'English'; - - var _progress = 100; - - $scope.name = ''; - $scope.confirmed = 'No confirmation yet!'; - - $scope.custom = { - val: 'Initial Value' - }; - - // -- Listeners & Watchers --// - - $scope.$watch('lang', function(val, old) { - - switch (val) { - case 'en-US': - $scope.language = 'English'; - break; - case 'es': - $scope.language = 'Spanish'; - break; - } - }); - - // -- Methods --// - $rootScope.testCaseRequirements = []; - $rootScope.validTestRequirements = []; - /* $rootScope.testCaseValue=[]; */ - $scope.setLanguage = function(lang) { - - $scope.lang = lang; - $translate.use(lang); - }; - - $rootScope.launch = function(which) { - - switch (which) { - case 'error': - dialogs.error(); - break; - case 'wait': - // var dlg = - // dialogs.wait(undefined,undefined,_progress); - // _fakeWaitProgress(); - break; - case 'customwait': - // var dlg = dialogs.wait('Custom Wait - // Header','Custom Wait Message',_progress); - // _fakeWaitProgress(); - break; - case 'notify': - dialogs.notify(); - break; - case 'confirm': - var dlg = dialogs.confirm(); - dlg.result.then(function(btn) { - - $scope.confirmed = 'You confirmed "Yes."'; - }, function(btn) { - - $scope.confirmed = 'You confirmed "No."'; - }); - break; - case 'custom': - var dlg = dialogs.create('/dialogs/custom.html', - 'customDialogCtrl', {}, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - dlg.result - .then( - function(name) { - - $scope.name = name; - }, - function() { - - if (angular.equals($scope.name, - '')) - $scope.name = 'You did not enter in your name!'; - }); - break; - case 'custom2': - var dlg = dialogs.create('/dialogs/custom2.html', - 'customDialogCtrl2', $scope.custom, { - size: 'lg' - }); - break; - case 'custom3': - var dlg = dialogs - .notify( - 'Message', - 'All is not supported, Please select interface(s)/version(s) to fetch real time federated coverage report.'); - break; - case 'custom4': - var dlg = dialogs - .confirm( - 'Message', - 'You are about to fetch real time federated coverage report.This may take sometime!!!.'); - dlg.result.then(function(btn) { - - $scope.confirmed = 'You confirmed "Yes."'; - }, function(btn) { - - $scope.confirmed = 'You confirmed "No."'; - }); - break; - case 'custom5': - var dlg = dialogs.notify('Success', - 'Request has been successfully processed.'); - break; - case 'custom6': - var dlg = dialogs.notify('Message', - 'Please type Testscenario Name'); - break; - } - }; // end launch - - var _fakeWaitProgress = function() { - - $timeout(function() { - - if (_progress < 100) { - _progress += 33; - $rootScope.$broadcast('dialogs.wait.progress', { - 'progress': _progress - }); - _fakeWaitProgress(); - } else { - $rootScope.$broadcast('dialogs.wait.complete'); - _progress = 0; - } - }, 1000); - }; - }) - .controller( - 'MenuCtrl', [ - '$scope', - '$rootScope', - '$timeout', - 'dialogs', - '$location', - 'MenuService', - 'Datafactory', - 'userPreferencesService', - 'cldsModelService', - 'extraUserInfoService', - function($scope, $rootScope, $timeout, dialogs, - $location, MenuService, Datafactory, - userPreferencesService, cldsModelService, extraUserInfoService) { - console.log("MenuCtrl"); - $rootScope.screenName = "Universal Test Modeler"; - $rootScope.testSet = null; - var testingType = ""; - $rootScope.contactUs = function() { - console.log("contactUs"); - var link = "mailto:onap-discuss@lists.onap.org?subject=CLAMP&body=Please send us suggestions or feature enhancements or defect. If possible, please send us the steps to replicate any defect."; - window.location.href = link; - }; - - extraUserInfoService - .getUserInfo() - .then( - function(pars) { - $scope.userInfo = pars; - if (!($scope.userInfo["permissionUpdateCl"])) { - readMOnly = true; - }; - }); - - $scope.emptyMenuClick = function(value, name) { - if ($rootScope.isNewClosed && - name != "Save CL" && - name != "Close Model" && - name != "Properties CL") { - saveConfirmationNotificationPopUp(); - } else { - isSaveCheck(name); - } - - function saveConfirmationNotificationPopUp() { - $scope - .saveConfirmationNotificationPopUp(function( - data) { - if (data) { - if ($rootScope.isNewClosed) { - isSaveCheck("Save CL"); - } - $rootScope.isNewClosed = false; - } else { - return false; - } - }); - } - - function isSaveCheck(name) { - if (name == "User Info") { - $scope.extraUserInfo(); - } else if (name == "Wiki") { - window.open(value); - } else if (name == "Contact Us") { - $rootScope.contactUs(); - } else if (name == "Revert Model Changes") { - $scope.cldsRevertModel(); - } else if (name == "Close Model") { - $scope.cldsClose(); - } else if (name == "Refresh ASDC") { - $scope.cldsRefreshASDC(); - } else if (name == "Create CL") { - $rootScope.isNewClosed = true; - $scope.cldsCreateModel(); - } else if (name == "Open CL") { - $scope.cldsOpenModel(); - } else if (name == "Save CL") { - $rootScope.isNewClosed = false; - $scope.cldsPerformAction("SAVE"); - } else if (name == "Validation Test") { - $scope.cldsPerformAction("TEST"); - } else if (name == "Submit") { - $scope - .cldsConfirmPerformAction("SUBMIT"); - } else if (name == "Resubmit") { - $scope - .cldsConfirmPerformAction("RESUBMIT"); - } else if (name == "Update") { - $scope - .cldsConfirmPerformAction("UPDATE"); - } else if (name.toLowerCase() == "delete") { - $scope - .manageConfirmPerformAction("DELETE"); - } else if (name == "Stop") { - $scope.cldsConfirmPerformAction("STOP"); - } else if (name == "Restart") { - $scope - .cldsConfirmPerformAction("RESTART"); - } else if (name == "Refresh Status") { - $scope.refreshStatus(); - } else if (name == "Properties CL") { - $scope.cldsOpenModelProperties(); - } else if (name == "Deploy") { - $scope - .cldsAskDeployParametersPerformAction(); - } else if (name == "UnDeploy") { - $scope - .cldsConfirmToggleDeployPerformAction("UnDeploy"); - } else { - $rootScope.screenName = name; - $scope.updatebreadcrumb(value); - $location.path(value); - } - } - }; - - $rootScope.impAlerts = function() { - - }; - - $scope.tabs = { - "Closed Loop": [{ - link: "/cldsCreateModel", - name: "Create CL" - }, { - link: "/cldsOpenModel", - name: "Open CL" - }, { - link: "/cldsSaveModel", - name: "Save CL" - }, { - link: "/cldsOpenModelProperties", - name: "Properties CL" - }, { - link: "/RevertChanges", - name: "Revert Model Changes" - }, { - link: "/Close", - name: "Close Model" - }], - "Manage": [{ - link: "/cldsTestActivate", - name: "Validation Test" - }, { - link: "/cldsSubmit", - name: "Submit" - }, { - link: "/cldsResubmit", - name: "Resubmit" - }, { - link: "/cldsUpdate", - name: "Update" - }, { - link: "/cldsStop", - name: "Stop" - }, { - link: "/cldsRestart", - name: "Restart" - }, { - link: "/cldsDelete", - name: "Delete" - }, { - link: "/cldsDeploy", - name: "Deploy" - }, { - link: "/cldsUnDeploy", - name: "UnDeploy" - }], - "View": [{ - link: "/refreshStatus", - name: "Refresh Status" - }, { - link: "/cldsRefreshASDC", - name: "Refresh ASDC" - }], - "Help": [{ - link: "http://wiki.onap.org", - name: "Wiki" - }, { - link: "/contact_us", - name: "Contact Us" - }, { - link: "/extraUserInfo", - name: "User Info" - }] - }; - - if (!Object.keys) { - Object.keys = function(obj) { - var keys = []; - - for (var i in obj) { - if (obj.hasOwnProperty(i)) { - keys.push(i); - } - } - - return keys; - }; - $scope.keyList = Object.keys($scope.tabs); - } else { - $scope.keyList = Object.keys($scope.tabs); - } - - $scope.updatebreadcrumb = function(path) { - - var currentURL = $location.path(); - if (path != undefined) { - currentURL = path; - } - - if (currentURL == "/dashboard") { - $rootScope.screenName = "Universal Test Modeler"; - $rootScope.parentMenu = "Home"; - $rootScope.rightTabName = "UTM Build Configuration"; - } - /* - * else if(currentURL=="/quicksearch") { - * $rootScope.screenName = "Quick Search"; - * $rootScope.parentMenu = "Home"; } - */ - else { - var found = false; - - angular - .forEach( - $scope.keyList, - function(value, key) { - - if (!found) { - $rootScope.parentMenu = value; - - angular - .forEach( - $scope.tabs[value], - function( - value, - key) { - - if (currentURL == value.link) { - $rootScope.screenName = value.name; - found = true; - } - }); - } - }); - } - }; - - $scope.updatebreadcrumb(); - - $scope.homePage = function() { - - $location.path('/dashboard'); - }; - $scope.propertyExplorerErrorMessage = function(msg) { - - var dlg = dialogs.notify('Error', msg); - } - - // $scope.fromTstMultipleFlag=false; - /* onclicking of review testset / generate testset */ - - $scope.reviewTestSet = function() { - - $rootScope.modeltestset = list_model_test_sets[selected_model]; - - $rootScope.isPalette = false; - $rootScope.isTestset = true; - $rootScope.isRequirementCoverage = false; - document.getElementById("modeler_name").textContent = "UTM Test Set"; - // document.getElementById('propertyExplorer').classList.add('visible'); - - // $( "#propertyExplorer" ).prev().css( - // "display", "none" ); - $('div').find('.k-collapse-next').click(); - - // $rootScope.$apply(); - - }; - $scope.requirementCoverage = function() { - - $rootScope.testCaseRequirements = []; - $rootScope.validTestRequirementArray = []; - $rootScope.validTestRequirements = {}; - $rootScope.modeltestset = list_model_test_sets[selected_model]; - var allPathDetails = []; - $scope.currentSelectedModel = {}; - // $scope.getPathDetails($rootScope.utmModels,selected_model); - // $scope.populatePathDetails(allPathDetails,$scope.currentSelectedModel); - $rootScope.pathDetailsList = list_model_path_details[selected_model]; - /* - * for(var p=0;p<100;p++){ - * $rootScope.testCaseRequirements.push("Requirement"+p); } - * for(var p=0;p<100;p++){ - * $rootScope.testCaseValue.push("TestCase"+p); } - */ - for (var x = 0; x < allPathDetails.length; x++) { - var tempPathDetails = allPathDetails[x]; - if (tempPathDetails != null) { - for (var i = 0; i < tempPathDetails.length; i++) { - var pathDetails = tempPathDetails[i]; - if (pathDetails.requirement !== '' && - pathDetails.requirement !== null) { - $rootScope.testCaseRequirements - .push(pathDetails.requirement); - } - - /* - * for (var j = 0; j < - * pathDetails.decisionIdentifiers.length; - * j++) { - * if(pathDetails.decisionIdentifiers[j].requirement - * !== '' && - * pathDetails.decisionIdentifiers[j].requirement - * !== null){ - * $rootScope.testCaseRequirements.push(pathDetails.decisionIdentifiers[j].requirement); } } - */ - } - } - - } - for (var p = 0; p < $rootScope.modeltestset.activityTestCases.length; p++) { - var activityTestCases = $rootScope.modeltestset.activityTestCases[p]; - if (activityTestCases.mappedRequirements != null) { - for (var i = 0; i < activityTestCases.mappedRequirements.length; i++) { - // $rootScope.testCaseRequirements - // .push(activityTestCases.mappedRequirements[i]); - var testCaseNames = $rootScope.validTestRequirements[activityTestCases.mappedRequirements[i]]; - if (testCaseNames == null) { - testCaseNames = []; - } - if (activityTestCases.version != null) - var testCase = activityTestCases.testCaseName + - "_" + - activityTestCases.version; - else - var testCase = activityTestCases.testCaseName; - testCaseNames.push(testCase); - $rootScope.validTestRequirements[activityTestCases.mappedRequirements[i]] = testCaseNames; - } - } - } - - $rootScope.isPalette = false; - $rootScope.isTestset = false; - $rootScope.isRequirementCoverage = true; - document.getElementById("modeler_name").textContent = "Test Case / Requirement Coverage"; - - $('div').find('.k-collapse-next').click(); - - - }; - - $scope.activityModelling = function() { - }; - - - $scope.cldsClose = function() { - - var dlg = dialogs - .create( - 'partials/portfolios/confirmation_window.html', - 'CldsOpenModelCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - - // $scope.name = name; - }, function() { - - // if(angular.equals($scope.name,'')) - // $scope.name = 'You did not enter in your - // name!'; - }); - }; - $scope.saveConfirmationNotificationPopUp = function( - callBack) { - - var dlg = dialogs - .create( - 'partials/portfolios/save_confirmation.html', - 'saveConfirmationModalPopUpCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - callBack("OK"); - }, function() { - callBack(null); - }); - - }; - - $scope.cldsRefreshASDC = function() { - - var dlg = dialogs - .create( - 'partials/portfolios/refresh_asdc.html', - 'CldsOpenModelCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - dlg.result.then(function(name) { - - // $scope.name = name; - }, function() { - - // if(angular.equals($scope.name,'')) - // $scope.name = 'You did not enter in your - // name!'; - }); - } - $scope.cldsRevertModel = function() { - - var dlg = dialogs - .create( - 'partials/portfolios/ConfirmRevertChanges.html', - 'CldsOpenModelCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - - // $scope.name = name; - }, function() { - - // if(angular.equals($scope.name,'')) - // $scope.name = 'You did not enter in your - // name!'; - }); - - }; - - $rootScope.cldsOpenModelProperties = function() { - - var dlg = dialogs - .create( - 'partials/portfolios/global_properties.html', - 'GlobalPropertiesCtrl', {}, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) {}, function() {}); - }; - - $scope.cldsOpenModel = function() { - - var dlg = dialogs - .create( - 'partials/portfolios/clds_open_model.html', - 'CldsOpenModelCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - - // $scope.name = name; - }, function() { - - // if(angular.equals($scope.name,'')) - // $scope.name = 'You did not enter in your - // name!'; - }); - }; - $scope.cldsCreateModel = function() { - - var dlg = dialogs - .create( - 'partials/portfolios/clds_create_model_off_Template.html', - 'CldsOpenModelCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - - // $scope.name = name; - }, function() { - - // if(angular.equals($scope.name,'')) - // $scope.name = 'You did not enter in your - // name!'; - }); - - }; - $scope.extraUserInfo = function() { - - var dlg = dialogs - .create( - 'partials/portfolios/extra_user_info.html', - 'ExtraUserInfoCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) {}, function() {}); - - }; - $scope.cldsPerformAction = function(uiAction) { - - var modelName = selected_model; - var controlNamePrefix = "ClosedLoop-"; - var bpmnText = modelXML; - // serialize model properties - var propText = JSON.stringify(elementMap); - var templateName = selected_template - - var svgXml = $("#svgContainer").html(); - - console.log("cldsPerformAction: " + uiAction + - " modelName=" + modelName); - console.log("cldsPerformAction: " + uiAction + - " controlNamePrefix=" + - controlNamePrefix); - console.log("cldsPerformAction: " + uiAction + - " bpmnText=" + bpmnText); - console.log("cldsPerformAction: " + uiAction + - " propText=" + propText); - console.log("cldsPerformAction: " + uiAction + - " typeID=" + typeID); - console.log("cldsPerformAction: " + uiAction + - " deploymentId=" + deploymentId); - cldsModelService - .processAction(uiAction, modelName, - controlNamePrefix, bpmnText, - propText, svgXml, templateName, - typeID, deploymentId) - .then( - function(pars) { - console - .log("cldsPerformAction: pars=" + - pars); - cldsModelService - .processRefresh(pars); - }, - function(data) { - - // alert("setModel failed: " - // + data); - }); - }; - $scope.refreshStatus = function() { - var modelName = selected_model; - var svgXml = $("#svgContainer").html(); - console.log("refreStatus modelName=" + modelName); - cldsModelService - .getModel(modelName) - .then( - function(pars) { - console - .log("refreStatus: pars=" + - pars); - cldsModelService - .processRefresh(pars); - }, - function(data) { - }); - }; - $scope.cldsConfirmPerformAction = function(uiAction) { - var dlg = dialogs.confirm('Message', - 'Do you want to ' + - uiAction.toLowerCase() + - ' the closed loop?'); - dlg.result.then(function(btn) { - - $scope.cldsPerformAction(uiAction); - }, function(btn) { - - // $modalInstance.close("closed"); - }); - }; - - $scope.cldsAskDeployParametersPerformAction = function() { - var dlg = dialogs.create('partials/portfolios/deploy_parameters.html', - 'DeploymentCtrl', - {}, {keyboard: true, backdrop: true, windowClass: 'deploy-parameters'}); - dlg.result.then(function() { - var confirm = dialogs.confirm('Deploy', 'Are you sure you want to deploy the closed loop?'); - confirm.result.then(function() { - cldsToggleDeploy("deploy"); - }); - }); - }; - - $scope.cldsConfirmToggleDeployPerformAction = function( - uiAction) { - - var dlg = dialogs.confirm('Message', - 'Do you want to ' + - uiAction.toLowerCase() + - ' the closed loop?'); - dlg.result.then(function(btn) { - cldsToggleDeploy(uiAction.toLowerCase()); - }, function(btn) { - - // $modalInstance.close("closed"); - }); - }; - - function cldsToggleDeploy(uiAction) { - var modelName = selected_model; - var controlNamePrefix = "ClosedLoop-"; - var bpmnText = modelXML; - // serialize model properties - var propText = JSON.stringify(elementMap); - var templateName = selected_template; - var svgXml = $("#svgContainer").html(); - - console.log("cldsPerformAction: " + uiAction + - " modelName=" + modelName); - console.log("cldsPerformAction: " + uiAction + - " controlNamePrefix=" + - controlNamePrefix); - console.log("cldsPerformAction: " + uiAction + - " bpmnText=" + bpmnText); - console.log("cldsPerformAction: " + uiAction + - " propText=" + propText); - console.log("cldsPerformAction: " + uiAction + - " modelEventService=" + - modelEventService); - console.log("cldsPerformAction: " + uiAction + - " typeID=" + typeID); - console.log("cldsPerformAction: " + uiAction + - " deploymentId=" + deploymentId); - cldsModelService - .toggleDeploy(uiAction, modelName, - controlNamePrefix, bpmnText, - propText, svgXml, templateName, - typeID, controlNameUuid, - modelEventService, deploymentId) - .then( - function(pars) { - typeID = pars.typeId; - controlNameUuid = pars.controlNameUuid; - selected_template = pars.templateName; - modelEventService = pars.event; - // actionCd = - // pars.event.actionCd; - actionStateCd = pars.event.actionStateCd; - deploymentId = pars.deploymentId; - cldsModelService - .processActionResponse( - modelName, - pars); - - }, - function(data) { - - }); - } - $scope.managePerformAction = function(action) { - if (action.toLowerCase() === "delete") { - cldsModelService - .manageAction( - selected_model, - "805b9f83-261f-48d9-98c7-8011fc2cc8e8", - "ClosedLoop-ABCD-0000.yml") - .then(function(pars) { - - }, function(data) { - - // alert("setModel failed: " + - // data); - }); - } - }; - $scope.manageConfirmPerformAction = function( - uiAction) { - - var dlg = dialogs.confirm('Message', - 'Do you want to ' + - uiAction.toLowerCase() + - ' the closed loop?'); - dlg.result.then(function(btn) { - - $scope.managePerformAction(uiAction); - }, function(btn) { - - // $modalInstance.close("closed"); - }); - }; - $scope.VesCollectorWindow = function(vesCollector) { - - var dlg = dialogs - .create( - 'partials/portfolios/vesCollector_properties.html', - 'ImportSchemaCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - - }, function() { - - }); - - - }; - - $scope.HolmesWindow = function(holmes) { - - var partial = 'partials/portfolios/holmes_properties.html' - - var dlg = dialogs - .create( - partial, - 'ImportSchemaCtrl', - holmes, { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - }; - - $scope.TCAWindow = function(tca) { - - var dlg = dialogs - .create( - 'partials/portfolios/tca_properties.html', - 'ImportSchemaCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - // $scope.name = name; - }, function() { - // if(angular.equals($scope.name,'')) - // $scope.name = 'You did not enter in - // your name!'; - }); - - }; - - $scope.PolicyWindow = function(policy) { - var dlg = dialogs - .create( - 'partials/portfolios/PolicyWindow_properties.html', - 'ImportSchemaCtrl', { - closable: true, - draggable: true - }, { - size: 'lg', - keyboard: true, - backdrop: 'static', - windowClass: 'my-class' - }); - - dlg.result.then(function(name) { - - // $scope.name = name; - }, function() { - - // if(angular.equals($scope.name,'')) - // $scope.name = 'You did not enter in - // your name!'; - }); - - }; - - } - ]); - -app.service('MenuService', ['$http', '$q', function($http, $q) { - - /* - * this.generateMDTTestSet = function(utmMDTRequest, generateTestSetMDTURL){ - * - * console.log("generateMDTTestSet"); //alert("In generateMDTTestSet :: " + - * JSON.stringify(utmMDTRequest)); var def = $q.defer(); var sets = []; - * - * $http.post(generateTestSetMDTURL, utmMDTRequest) .success(function(data){ - * console.log("success"); sets = data; def.resolve(data); }) - * .error(function(data){ console.log("error"); - * def.reject("GenerateMDTTestSet not successful"); }); - * - * return def.promise; }; - */ -}]); - +var app = angular +.module( +'clds-app', +[ 'ngRoute', 'ngResource', 'ui.bootstrap', 'angular-loading-bar', 'ngAnimate', +'dialogs.main', 'ngSanitize', 'ngCookies', 'ui.bootstrap.modal' ]) +.config([ 'cfpLoadingBarProvider', function(cfpLoadingBarProvider) { + cfpLoadingBarProvider.includeBar = true; + cfpLoadingBarProvider.includeSpinner = true; +} ]) +.config(function($httpProvider) { + $httpProvider.interceptors.push('myHttpInterceptor'); + var spinnerFunction = function spinnerFunction(data, headersGetter) { + return data; + }; + $httpProvider.defaults.transformRequest.push(spinnerFunction); +}) +.config( +[ +'$routeProvider', +'$locationProvider', +'$compileProvider', +'cfpLoadingBarProvider', +function($routeProvider, $locationProvider, cfpLoadingBarProvider, $timeout, + dialogs, $cookies) { + $locationProvider.html5Mode(false); + $routeProvider.when('/otherwise', { + templateUrl : 'please_wait.html', + controller : 'QueryParamsHandlerCtrl' + }).when('/dashboard', { + templateUrl : 'partials/portfolios/clds_modelling.html', + controller : 'DashboardCtrl' + }).when('/activity_modelling', { + templateUrl : 'partials/portfolios/clds_modelling.html', + controller : 'DashboardCtrl' + }).when('/authenticate', { + templateUrl : 'authenticate.html', + controller : 'AuthenticateCtrl' + }).when('/invalidlogin', { + templateUrl : 'invalid_login.html', + controller : 'PageUnderConstructionCtrl' + }).otherwise({ + redirectTo : '/otherwise' + }); +} ]) +.controller( +'dialogCtrl', +function($scope, $rootScope, $timeout, dialogs) { + // -- Variables --// + $scope.lang = 'en-US'; + $scope.language = 'English'; + var _progress = 100; + $scope.name = ''; + $scope.confirmed = 'No confirmation yet!'; + $scope.custom = { + val : 'Initial Value' + }; + // -- Listeners & Watchers --// + $scope.$watch('lang', function(val, old) { + switch (val) { + case 'en-US': + $scope.language = 'English'; + break; + case 'es': + $scope.language = 'Spanish'; + break; + } + }); + // -- Methods --// + $rootScope.testCaseRequirements = []; + $rootScope.validTestRequirements = []; + $scope.setLanguage = function(lang) { + $scope.lang = lang; + $translate.use(lang); + }; + $rootScope.launch = function(which) { + switch (which) { + case 'error': + dialogs.error(); + break; + case 'wait': + break; + case 'customwait': + break; + case 'notify': + dialogs.notify(); + break; + case 'confirm': + var dlg = dialogs.confirm(); + dlg.result.then(function(btn) { + $scope.confirmed = 'You confirmed "Yes."'; + }, function(btn) { + $scope.confirmed = 'You confirmed "No."'; + }); + break; + case 'custom': + var dlg = dialogs.create('/dialogs/custom.html', + 'customDialogCtrl', {}, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + $scope.name = name; + }, function() { + if (angular.equals($scope.name, '')) + $scope.name = 'You did not enter in your name!'; + }); + break; + case 'custom2': + var dlg = dialogs.create('/dialogs/custom2.html', + 'customDialogCtrl2', $scope.custom, { + size : 'lg' + }); + break; + case 'custom3': + var dlg = dialogs + .notify( + 'Message', + 'All is not supported, Please select interface(s)/version(s) to fetch real time federated coverage report.'); + break; + case 'custom4': + var dlg = dialogs + .confirm( + 'Message', + 'You are about to fetch real time federated coverage report.This may take sometime!!!.'); + dlg.result.then(function(btn) { + $scope.confirmed = 'You confirmed "Yes."'; + }, function(btn) { + $scope.confirmed = 'You confirmed "No."'; + }); + break; + case 'custom5': + var dlg = dialogs.notify('Success', + 'Request has been successfully processed.'); + break; + case 'custom6': + var dlg = dialogs.notify('Message', + 'Please type Testscenario Name'); + break; + } + }; // end launch + var _fakeWaitProgress = function() { + $timeout(function() { + if (_progress < 100) { + _progress += 33; + $rootScope.$broadcast('dialogs.wait.progress', { + 'progress' : _progress + }); + _fakeWaitProgress(); + } else { + $rootScope.$broadcast('dialogs.wait.complete'); + _progress = 0; + } + }, 1000); + }; +}) +.controller( +'MenuCtrl', +[ +'$scope', +'$rootScope', +'$timeout', +'dialogs', +'$location', +'MenuService', +'Datafactory', +'userPreferencesService', +'cldsModelService', +'extraUserInfoService', +function($scope, $rootScope, $timeout, dialogs, $location, MenuService, + Datafactory, userPreferencesService, cldsModelService, + extraUserInfoService) { + console.log("MenuCtrl"); + $rootScope.screenName = "Universal Test Modeler"; + $rootScope.testSet = null; + var testingType = ""; + $rootScope.contactUs = function() { + console.log("contactUs"); + var link = "mailto:onap-discuss@lists.onap.org?subject=CLAMP&body=Please send us suggestions or feature enhancements or defect. If possible, please send us the steps to replicate any defect."; + window.location.href = link; + }; + extraUserInfoService.getUserInfo().then(function(pars) { + $scope.userInfo = pars; + if (!($scope.userInfo["permissionUpdateCl"])) { + readMOnly = true; + } + ; + }); + $scope.emptyMenuClick = function(value, name) { + if ($rootScope.isNewClosed && name != "Save CL" + && name != "Close Model" && name != "Properties CL") { + saveConfirmationNotificationPopUp(); + } else { + isSaveCheck(name); + } + function saveConfirmationNotificationPopUp() { + $scope.saveConfirmationNotificationPopUp(function(data) { + if (data) { + if ($rootScope.isNewClosed) { + isSaveCheck("Save CL"); + } + $rootScope.isNewClosed = false; + } else { + return false; + } + }); + } + function isSaveCheck(name) { + if (name == "User Info") { + $scope.extraUserInfo(); + } else if (name == "Wiki") { + window.open(value); + } else if (name == "Contact Us") { + $rootScope.contactUs(); + } else if (name == "Revert Model Changes") { + $scope.cldsRevertModel(); + } else if (name == "Close Model") { + $scope.cldsClose(); + } else if (name == "Refresh ASDC") { + $scope.cldsRefreshASDC(); + } else if (name == "Create CL") { + $rootScope.isNewClosed = true; + $scope.cldsCreateModel(); + } else if (name == "Open CL") { + $scope.cldsOpenModel(); + } else if (name == "Save CL") { + $rootScope.isNewClosed = false; + $scope.cldsPerformAction("SAVE"); + } else if (name == "Validation Test") { + $scope.cldsPerformAction("TEST"); + } else if (name == "Submit") { + $scope.cldsConfirmPerformAction("SUBMIT"); + } else if (name == "Resubmit") { + $scope.cldsConfirmPerformAction("RESUBMIT"); + } else if (name == "Update") { + $scope.cldsConfirmPerformAction("UPDATE"); + } else if (name.toLowerCase() == "delete") { + $scope.manageConfirmPerformAction("DELETE"); + } else if (name == "Stop") { + $scope.cldsConfirmPerformAction("STOP"); + } else if (name == "Restart") { + $scope.cldsConfirmPerformAction("RESTART"); + } else if (name == "Refresh Status") { + $scope.refreshStatus(); + } else if (name == "Properties CL") { + $scope.cldsOpenModelProperties(); + } else if (name == "Deploy") { + $scope.cldsAskDeployParametersPerformAction(); + } else if (name == "UnDeploy") { + $scope.cldsConfirmToggleDeployPerformAction("UnDeploy"); + } else { + $rootScope.screenName = name; + $scope.updatebreadcrumb(value); + $location.path(value); + } + } + }; + $rootScope.impAlerts = function() { + }; + $scope.tabs = { + "Closed Loop" : [ { + link : "/cldsCreateModel", + name : "Create CL" + }, { + link : "/cldsOpenModel", + name : "Open CL" + }, { + link : "/cldsSaveModel", + name : "Save CL" + }, { + link : "/cldsOpenModelProperties", + name : "Properties CL" + }, { + link : "/RevertChanges", + name : "Revert Model Changes" + }, { + link : "/Close", + name : "Close Model" + } ], + "Manage" : [ { + link : "/cldsTestActivate", + name : "Validation Test" + }, { + link : "/cldsSubmit", + name : "Submit" + }, { + link : "/cldsResubmit", + name : "Resubmit" + }, { + link : "/cldsUpdate", + name : "Update" + }, { + link : "/cldsStop", + name : "Stop" + }, { + link : "/cldsRestart", + name : "Restart" + }, { + link : "/cldsDelete", + name : "Delete" + }, { + link : "/cldsDeploy", + name : "Deploy" + }, { + link : "/cldsUnDeploy", + name : "UnDeploy" + } ], + "View" : [ { + link : "/refreshStatus", + name : "Refresh Status" + }, { + link : "/cldsRefreshASDC", + name : "Refresh ASDC" + } ], + "Help" : [ { + link : "http://wiki.onap.org", + name : "Wiki" + }, { + link : "/contact_us", + name : "Contact Us" + }, { + link : "/extraUserInfo", + name : "User Info" + } ] + }; + if (!Object.keys) { + Object.keys = function(obj) { + var keys = []; + for ( var i in obj) { + if (obj.hasOwnProperty(i)) { + keys.push(i); + } + } + return keys; + }; + $scope.keyList = Object.keys($scope.tabs); + } else { + $scope.keyList = Object.keys($scope.tabs); + } + $scope.updatebreadcrumb = function(path) { + var currentURL = $location.path(); + if (path != undefined) { + currentURL = path; + } + if (currentURL == "/dashboard") { + $rootScope.screenName = "Universal Test Modeler"; + $rootScope.parentMenu = "Home"; + $rootScope.rightTabName = "UTM Build Configuration"; + } else { + var found = false; + angular.forEach($scope.keyList, function(value, key) { + if (!found) { + $rootScope.parentMenu = value; + angular.forEach($scope.tabs[value], function(value, key) { + if (currentURL == value.link) { + $rootScope.screenName = value.name; + found = true; + } + }); + } + }); + } + }; + $scope.updatebreadcrumb(); + $scope.homePage = function() { + $location.path('/dashboard'); + }; + $scope.propertyExplorerErrorMessage = function(msg) { + var dlg = dialogs.notify('Error', msg); + } + $scope.reviewTestSet = function() { + $rootScope.modeltestset = list_model_test_sets[selected_model]; + $rootScope.isPalette = false; + $rootScope.isTestset = true; + $rootScope.isRequirementCoverage = false; + document.getElementById("modeler_name").textContent = "UTM Test Set"; + $('div').find('.k-collapse-next').click(); + }; + $scope.requirementCoverage = function() { + $rootScope.testCaseRequirements = []; + $rootScope.validTestRequirementArray = []; + $rootScope.validTestRequirements = {}; + $rootScope.modeltestset = list_model_test_sets[selected_model]; + var allPathDetails = []; + $scope.currentSelectedModel = {}; + $rootScope.pathDetailsList = list_model_path_details[selected_model]; + for (var x = 0; x < allPathDetails.length; x++) { + var tempPathDetails = allPathDetails[x]; + if (tempPathDetails != null) { + for (var i = 0; i < tempPathDetails.length; i++) { + var pathDetails = tempPathDetails[i]; + if (pathDetails.requirement !== '' + && pathDetails.requirement !== null) { + $rootScope.testCaseRequirements + .push(pathDetails.requirement); + } + } + } + } + for (var p = 0; p < $rootScope.modeltestset.activityTestCases.length; p++) { + var activityTestCases = $rootScope.modeltestset.activityTestCases[p]; + if (activityTestCases.mappedRequirements != null) { + for (var i = 0; i < activityTestCases.mappedRequirements.length; i++) { + var testCaseNames = $rootScope.validTestRequirements[activityTestCases.mappedRequirements[i]]; + if (testCaseNames == null) { + testCaseNames = []; + } + if (activityTestCases.version != null) + var testCase = activityTestCases.testCaseName + "_" + + activityTestCases.version; + else + var testCase = activityTestCases.testCaseName; + testCaseNames.push(testCase); + $rootScope.validTestRequirements[activityTestCases.mappedRequirements[i]] = testCaseNames; + } + } + } + $rootScope.isPalette = false; + $rootScope.isTestset = false; + $rootScope.isRequirementCoverage = true; + document.getElementById("modeler_name").textContent = "Test Case / Requirement Coverage"; + $('div').find('.k-collapse-next').click(); + }; + $scope.activityModelling = function() { + }; + $scope.cldsClose = function() { + var dlg = dialogs.create( + 'partials/portfolios/confirmation_window.html', 'CldsOpenModelCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + // $scope.name = name; + }, function() { + // if(angular.equals($scope.name,'')) + // $scope.name = 'You did not enter in your + // name!'; + }); + }; + $scope.saveConfirmationNotificationPopUp = function(callBack) { + var dlg = dialogs.create('partials/portfolios/save_confirmation.html', + 'saveConfirmationModalPopUpCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + callBack("OK"); + }, function() { + callBack(null); + }); + }; + $scope.cldsRefreshASDC = function() { + var dlg = dialogs.create('partials/portfolios/refresh_asdc.html', + 'CldsOpenModelCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + } + $scope.cldsRevertModel = function() { + var dlg = dialogs.create( + 'partials/portfolios/ConfirmRevertChanges.html', 'CldsOpenModelCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; + $rootScope.cldsOpenModelProperties = function() { + var dlg = dialogs.create('partials/portfolios/global_properties.html', + 'GlobalPropertiesCtrl', {}, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; + $scope.cldsOpenModel = function() { + var dlg = dialogs.create('partials/portfolios/clds_open_model.html', + 'CldsOpenModelCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; + $scope.cldsCreateModel = function() { + var dlg = dialogs.create( + 'partials/portfolios/clds_create_model_off_Template.html', + 'CldsOpenModelCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; + $scope.extraUserInfo = function() { + var dlg = dialogs.create('partials/portfolios/extra_user_info.html', + 'ExtraUserInfoCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; + $scope.cldsPerformAction = function(uiAction) { + var modelName = selected_model; + var controlNamePrefix = "ClosedLoop-"; + var bpmnText = modelXML; + // serialize model properties + var propText = JSON.stringify(elementMap); + var templateName = selected_template + var svgXml = $("#svgContainer").html(); + console.log("cldsPerformAction: " + uiAction + " modelName=" + + modelName); + console.log("cldsPerformAction: " + uiAction + " controlNamePrefix=" + + controlNamePrefix); + console.log("cldsPerformAction: " + uiAction + " bpmnText=" + bpmnText); + console.log("cldsPerformAction: " + uiAction + " propText=" + propText); + console.log("cldsPerformAction: " + uiAction + " typeID=" + typeID); + console.log("cldsPerformAction: " + uiAction + " deploymentId=" + + deploymentId); + cldsModelService.processAction(uiAction, modelName, controlNamePrefix, + bpmnText, propText, svgXml, templateName, typeID, deploymentId).then( + function(pars) { + console.log("cldsPerformAction: pars=" + pars); + cldsModelService.processRefresh(pars); + }, function(data) { + }); + }; + $scope.refreshStatus = function() { + var modelName = selected_model; + var svgXml = $("#svgContainer").html(); + console.log("refreStatus modelName=" + modelName); + cldsModelService.getModel(modelName).then(function(pars) { + console.log("refreStatus: pars=" + pars); + cldsModelService.processRefresh(pars); + }, function(data) { + }); + }; + $scope.cldsConfirmPerformAction = function(uiAction) { + var dlg = dialogs.confirm('Message', 'Do you want to ' + + uiAction.toLowerCase() + ' the closed loop?'); + dlg.result.then(function(btn) { + $scope.cldsPerformAction(uiAction); + }, function(btn) { + }); + }; + $scope.cldsAskDeployParametersPerformAction = function() { + var dlg = dialogs.create('partials/portfolios/deploy_parameters.html', + 'DeploymentCtrl', {}, { + keyboard : true, + backdrop : true, + windowClass : 'deploy-parameters' + }); + dlg.result.then(function() { + var confirm = dialogs.confirm('Deploy', + 'Are you sure you want to deploy the closed loop?'); + confirm.result.then(function() { + cldsToggleDeploy("deploy"); + }); + }); + }; + $scope.cldsConfirmToggleDeployPerformAction = function(uiAction) { + var dlg = dialogs.confirm('Message', 'Do you want to ' + + uiAction.toLowerCase() + ' the closed loop?'); + dlg.result.then(function(btn) { + cldsToggleDeploy(uiAction.toLowerCase()); + }, function(btn) { + }); + }; + function cldsToggleDeploy(uiAction) { + var modelName = selected_model; + var controlNamePrefix = "ClosedLoop-"; + var bpmnText = modelXML; + // serialize model properties + var propText = JSON.stringify(elementMap); + var templateName = selected_template; + var svgXml = $("#svgContainer").html(); + console.log("cldsPerformAction: " + uiAction + " modelName=" + + modelName); + console.log("cldsPerformAction: " + uiAction + " controlNamePrefix=" + + controlNamePrefix); + console.log("cldsPerformAction: " + uiAction + " bpmnText=" + bpmnText); + console.log("cldsPerformAction: " + uiAction + " propText=" + propText); + console.log("cldsPerformAction: " + uiAction + " modelEventService=" + + modelEventService); + console.log("cldsPerformAction: " + uiAction + " typeID=" + typeID); + console.log("cldsPerformAction: " + uiAction + " deploymentId=" + + deploymentId); + cldsModelService.toggleDeploy(uiAction, modelName, controlNamePrefix, + bpmnText, propText, svgXml, templateName, typeID, controlNameUuid, + modelEventService, deploymentId).then(function(pars) { + typeID = pars.typeId; + controlNameUuid = pars.controlNameUuid; + selected_template = pars.templateName; + modelEventService = pars.event; + actionStateCd = pars.event.actionStateCd; + deploymentId = pars.deploymentId; + cldsModelService.processActionResponse(modelName, pars); + }, function(data) { + }); + } + $scope.managePerformAction = function(action) { + if (action.toLowerCase() === "delete") { + cldsModelService.manageAction(selected_model, + "805b9f83-261f-48d9-98c7-8011fc2cc8e8", "ClosedLoop-ABCD-0000.yml") + .then(function(pars) { + }, function(data) { + }); + } + }; + $scope.manageConfirmPerformAction = function(uiAction) { + var dlg = dialogs.confirm('Message', 'Do you want to ' + + uiAction.toLowerCase() + ' the closed loop?'); + dlg.result.then(function(btn) { + $scope.managePerformAction(uiAction); + }, function(btn) { + }); + }; + $scope.VesCollectorWindow = function(vesCollector) { + var dlg = dialogs.create( + 'partials/portfolios/vesCollector_properties.html', 'ImportSchemaCtrl', + { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; + $scope.HolmesWindow = function(holmes) { + var partial = 'partials/portfolios/holmes_properties.html' + var dlg = dialogs.create(partial, 'ImportSchemaCtrl', holmes, { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + }; + $scope.TCAWindow = function(tca) { + var dlg = dialogs.create('partials/portfolios/tca_properties.html', + 'ImportSchemaCtrl', { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; + $scope.PolicyWindow = function(policy) { + var dlg = dialogs.create( + 'partials/portfolios/PolicyWindow_properties.html', 'ImportSchemaCtrl', + { + closable : true, + draggable : true + }, { + size : 'lg', + keyboard : true, + backdrop : 'static', + windowClass : 'my-class' + }); + dlg.result.then(function(name) { + }, function() { + }); + }; +} ]); +app.service('MenuService', [ '$http', '$q', function($http, $q) { +} ]); app.directive('focus', function($timeout) { - - return { - scope: { - trigger: '@focus' - }, - link: function(scope, element) { - scope.$watch('trigger', function(value) { - - if (value === "true") { - $timeout(function() { - - element[0].focus(); - }); - } - }); - } - }; + return { + scope : { + trigger : '@focus' + }, + link : function(scope, element) { + scope.$watch('trigger', function(value) { + if (value === "true") { + $timeout(function() { + element[0].focus(); + }); + } + }); + } + }; }); app.directive('draggable', function($document) { - - return function(scope, element, attr) { - - var startX = 0, - startY = 0, - x = 0, - y = 0; - element.css({ - position: 'relative', - - backgroundColor: 'white', - cursor: 'move', - display: 'block', - - }); - element.on('mousedown', function(event) { - - // Prevent default dragging of selected content - // event.preventDefault(); - startX = event.screenX - x; - startY = event.screenY - y; - $document.on('mousemove', mousemove); - $document.on('mouseup', mouseup); - }); - - function mousemove(event) { - - y = event.screenY - startY; - x = event.screenX - startX; - element.css({ - top: y + 'px', - left: x + 'px' - }); - } - - function mouseup() { - - $document.off('mousemove', mousemove); - $document.off('mouseup', mouseup); - } - }; + return function(scope, element, attr) { + var startX = 0, startY = 0, x = 0, y = 0; + element.css({ + position : 'relative', + backgroundColor : 'white', + cursor : 'move', + display : 'block', + }); + element.on('mousedown', function(event) { + startX = event.screenX - x; + startY = event.screenY - y; + $document.on('mousemove', mousemove); + $document.on('mouseup', mouseup); + }); + function mousemove(event) { + y = event.screenY - startY; + x = event.screenX - startX; + element.css({ + top : y + 'px', + left : x + 'px' + }); + } + function mouseup() { + $document.off('mousemove', mousemove); + $document.off('mouseup', mouseup); + } + }; }); - app.factory('myHttpInterceptor', function($q, $window) { - - return function(promise) { - - return promise.then(function(response) { - - return response; - }, function(response) { - - return $q.reject(response); - }); - }; + return function(promise) { + return promise.then(function(response) { + return response; + }, function(response) { + return $q.reject(response); + }); + }; }); - -app.run(['$route', function($route) { - - $route.reload(); -}]); - +app.run([ '$route', function($route) { + $route.reload(); +} ]); function TestCtrl($scope) { - - $scope.msg = "Hello from a controller method."; - $scope.returnHello = function() { - - return $scope.msg; - } + $scope.msg = "Hello from a controller method."; + $scope.returnHello = function() { + return $scope.msg; + } } - function importshema() { - - angular.element(document.getElementById('navbar')).scope().importSchema(); - + angular.element(document.getElementById('navbar')).scope().importSchema(); } - function VesCollectorWindow(vesCollectorWin) { - angular.element(document.getElementById('navbar')).scope() - .VesCollectorWindow(vesCollectorWin); + angular.element(document.getElementById('navbar')).scope() + .VesCollectorWindow(vesCollectorWin); } - function HolmesWindow(holmesWin) { - angular.element(document.getElementById('navbar')).scope() - .HolmesWindow(holmesWin); + angular.element(document.getElementById('navbar')).scope().HolmesWindow( + holmesWin); } - function F5Window() { - - angular.element(document.getElementById('navbar')).scope().F5Window(); - + angular.element(document.getElementById('navbar')).scope().F5Window(); } - function TCAWindow(tca) { - - angular.element(document.getElementById('navbar')).scope().TCAWindow(tca); - + angular.element(document.getElementById('navbar')).scope().TCAWindow(tca); } - function GOCWindow() { - - angular.element(document.getElementById('navbar')).scope().GOCWindow(); - + angular.element(document.getElementById('navbar')).scope().GOCWindow(); } - function PolicyWindow(PolicyWin) { - - angular.element(document.getElementById('navbar')).scope().PolicyWindow( - PolicyWin); - + angular.element(document.getElementById('navbar')).scope().PolicyWindow( + PolicyWin); } - function pathDetails(bpmnElementID, bpmnElementName, pathIdentifiers) { - - angular.element(document.getElementById('navbar')).scope().pathDetails( - bpmnElementID, bpmnElementName, pathIdentifiers); - + angular.element(document.getElementById('navbar')).scope().pathDetails( + bpmnElementID, bpmnElementName, pathIdentifiers); } - function setdefaultvalue() { - - angular.element(document.getElementById('navbar')).scope() - .setDefaultValue(); - + angular.element(document.getElementById('navbar')).scope() + .setDefaultValue(); } - function upgradeSchemaVersion() { - - angular.element(document.getElementById('navbar')).scope() - .upgradeSchemaVersion(); - + angular.element(document.getElementById('navbar')).scope() + .upgradeSchemaVersion(); } - function saveProject() { - - angular.element(document.getElementById('navbar')).scope().saveProject(); - + angular.element(document.getElementById('navbar')).scope().saveProject(); } - function modifySchema() { - - angular.element(document.getElementById('navbar')).scope().modifySchema(); - + angular.element(document.getElementById('navbar')).scope().modifySchema(); } - function definePID() { - - angular.element(document.getElementById('navbar')).scope().definePID(); - + angular.element(document.getElementById('navbar')).scope().definePID(); } - function defineServiceAcronym() { - - angular.element(document.getElementById('navbar')).scope() - .defineServiceAcronym(); - + angular.element(document.getElementById('navbar')).scope() + .defineServiceAcronym(); } - function errorProperty(msg) { - - angular.element(document.getElementById('navbar')).scope() - .propertyExplorerErrorMessage(msg); + angular.element(document.getElementById('navbar')).scope() + .propertyExplorerErrorMessage(msg); } - function invisiblepropertyExplorer() { - - angular.element(document.getElementById('navbar')).scope() - .invisibleproperty(); + angular.element(document.getElementById('navbar')).scope() + .invisibleproperty(); } - function updateDecisionLabel(originalLabel, newLabel) { - - angular.element(document.getElementById('navbar')).scope() - .updateDecisionLabels(originalLabel, newLabel); + angular.element(document.getElementById('navbar')).scope() + .updateDecisionLabels(originalLabel, newLabel); } - // Used to logout the session , when browser window was closed window.onunload = function() { - window.localStorage.removeItem("isAuth"); - window.localStorage.removeItem("loginuser"); - window.localStorage.removeItem("invalidUser"); + window.localStorage.removeItem("isAuth"); + window.localStorage.removeItem("loginuser"); + window.localStorage.removeItem("invalidUser"); }; diff --git a/src/main/resources/META-INF/resources/designer/scripts/authcontroller.js b/src/main/resources/META-INF/resources/designer/scripts/authcontroller.js index de364774..ae217a6b 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/authcontroller.js +++ b/src/main/resources/META-INF/resources/designer/scripts/authcontroller.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,37 +20,41 @@ * =================================================================== * */ - 'use strict'; - -function AuthenticateCtrl($scope, $rootScope, $window, $resource, $http, $location, $cookies) { - console.log("//////////AuthenticateCtrl"); - $scope.getInclude = function() { - console.log("getInclude011111111"); - var invalidUser = $window.localStorage.getItem("invalidUser"); - var isAuth = $window.localStorage.getItem("isAuth"); - if (invalidUser == 'true') - return "invalid_login.html"; - else if (isAuth == null || isAuth == 'false') { - return "authenticate.html"; - } - return "utmdashboard.html"; - }; - - $scope.authenticate = function() { - // send request to a test API for authentication/authorization check - $http.get('/restservices/clds/v1/user/getUser', { - }).success(function(data) { - if (data) { - $window.localStorage.setItem("isAuth", true); - $rootScope.loginuser = data; - } - window.localStorage.removeItem("invalidUser"); - - }).error(function() { - $window.localStorage.setItem("invalidUser", true); - - }); - }; - -} +angular.module('clds-app').controller( +'AuthenticateCtrl', +[ +'$scope', +'$rootScope', +'$window', +'$resource', +'$http', +'$location', +'$cookies', +function($scope, $rootScope, $window, $resource, $http, $location, $cookies) { + console.log("//////////AuthenticateCtrl"); + $scope.getInclude = function() { + console.log("getInclude011111111"); + var invalidUser = $window.localStorage.getItem("invalidUser"); + var isAuth = $window.localStorage.getItem("isAuth"); + if (invalidUser == 'true') + return "invalid_login.html"; + else if (isAuth == null || isAuth == 'false') { + return "authenticate.html"; + } + return "utmdashboard.html"; + }; + $scope.authenticate = function() { + // send request to a test API for authentication/authorization check + $http.get('/restservices/clds/v1/user/getUser', {}).success( + function(data) { + if (data) { + $window.localStorage.setItem("isAuth", true); + $rootScope.loginuser = data; + } + window.localStorage.removeItem("invalidUser"); + }).error(function() { + $window.localStorage.setItem("invalidUser", true); + }); + }; +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/commonService.js b/src/main/resources/META-INF/resources/designer/scripts/commonService.js deleted file mode 100644 index f0de2358..00000000 --- a/src/main/resources/META-INF/resources/designer/scripts/commonService.js +++ /dev/null @@ -1,31 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -app.service('commonservice', ['$http', '$q', function ($http, $q) { - console.log("///////commonservice"); - - /*$scope.close = function(){ - $modalInstance.close("closed"); - };*/ - -}]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/query_params_handler_ctrl.js b/src/main/resources/META-INF/resources/designer/scripts/query_params_handler_ctrl.js index b077328e..81579c88 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/query_params_handler_ctrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/query_params_handler_ctrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,27 +20,19 @@ * =================================================================== * */ - 'use strict'; - - -function QueryParamsHandlerCtrl($scope,$rootScope, $resource, $http, $location) -{ +angular.module('clds-app').controller( +'QueryParamsHandlerCtrl', +[ '$scope', '$rootScope', '$resource', '$http', '$location', +function($scope, $rootScope, $resource, $http, $location) { console.log("//////////QueryParamsHandlerCtrl"); - if(!jQuery.isEmptyObject($location.search())) - { - $rootScope.urlapp = $location.search().app; - $rootScope.urlparams = $location.search(); - $location.path('/'+$rootScope.urlapp); - - } - else if($rootScope.urlapp!=undefined && $rootScope.urlapp!="") - { - $location.path('/'+$rootScope.urlapp); - } - else - { + if (!jQuery.isEmptyObject($location.search())) { + $rootScope.urlapp = $location.search().app; + $rootScope.urlparams = $location.search(); + $location.path('/' + $rootScope.urlapp); + } else if ($rootScope.urlapp != undefined && $rootScope.urlapp != "") { + $location.path('/' + $rootScope.urlapp); + } else { $location.path('/dashboard'); } - -} +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/saveConfirmationModalPopUpCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/saveConfirmationModalPopUpCtrl.js index 51a9df7f..435d7177 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/saveConfirmationModalPopUpCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/saveConfirmationModalPopUpCtrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,17 +20,15 @@ * =================================================================== * */ - -app.controller('saveConfirmationModalPopUpCtrl', ['$scope', '$rootScope', '$modalInstance', - function($scope, $rootScope, $modalInstance) { - console.log("///////////saveConfirmationModalPopUpCtrl"); - $scope.close = function() { - console.log("close"); - $modalInstance.dismiss("no"); - }; - $scope.Ok = function() { - console.log("ok"); - $modalInstance.close("OK"); - }; - } -]); +app.controller('saveConfirmationModalPopUpCtrl', [ '$scope', '$rootScope', +'$uibModalInstance', function($scope, $rootScope, $uibModalInstance) { + console.log("///////////saveConfirmationModalPopUpCtrl"); + $scope.close = function() { + console.log("close"); + $uibModalInstance.dismiss("no"); + }; + $scope.Ok = function() { + console.log("ok"); + $uibModalInstance.close("OK"); + }; +} ]); diff --git a/src/main/resources/META-INF/resources/designer/scripts/textAreaCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/textAreaCtrl.js index e3016d93..2a8a9d7e 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/textAreaCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/textAreaCtrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,38 +20,35 @@ * =================================================================== * */ - -app.controller('textAreaCtrl',['$scope','$rootScope','dialogs','Datafactory','$modalInstance',function($scope, $rootScope,dialogs, Datafactory,$modalInstance) { +app.controller('textAreaCtrl', [ '$scope', '$rootScope', 'dialogs', +'Datafactory', '$uibModalInstance', +function($scope, $rootScope, dialogs, Datafactory, $uibModalInstance) { console.log("//////////textAreaCtrl"); - $scope.init = function(){ + $scope.init = function() { console.log("init"); - $scope.textAreaModel=$rootScope.textAreaData; - $scope.textAreaTitle=$rootScope.textAreaTitle; + $scope.textAreaModel = $rootScope.textAreaData; + $scope.textAreaTitle = $rootScope.textAreaTitle; }; - $scope.init(); - $scope.close = function() { console.log("close"); $rootScope.textAreaData = $('textarea#mytextarea').val(); - $modalInstance.close("closed"); + $uibModalInstance.close("closed"); }; - -}]); - +} ]); app.directive('focusMe', function($timeout, $parse) { console.log("focusMe"); - return { - link: function(scope, element, attrs) { - console.log("link"); - var model = $parse(attrs.focusMe); - scope.$watch(model, function(value) { - console.log("model"); - $timeout(function() { - console.log("setTimeout(function() {}, 10);"); - element[0].focus(); - }); - }); - } - }; + return { + link : function(scope, element, attrs) { + console.log("link"); + var model = $parse(attrs.focusMe); + scope.$watch(model, function(value) { + console.log("model"); + $timeout(function() { + console.log("setTimeout(function() {}, 10);"); + element[0].focus(); + }); + }); + } + }; }); diff --git a/src/main/resources/META-INF/resources/designer/scripts/under_construction_ctrl.js b/src/main/resources/META-INF/resources/designer/scripts/under_construction_ctrl.js index 4af28ab7..cbe1da5e 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/under_construction_ctrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/under_construction_ctrl.js @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,19 +20,10 @@ * =================================================================== * */ - 'use strict'; - - - -function PageUnderConstructionCtrl($scope,$rootScope, $resource, $http, $location) -{ - +angular.module('clds-app').controller( +'PageUnderConstructionCtrl', +[ '$scope', '$rootScope', '$resource', '$http', '$location', +function($scope, $rootScope, $resource, $http, $location) { console.log("//////////PageUnderConstructionCtrl"); - - - -} - - - +} ]); -- 2.16.6