From 1cfb08779ea0e00be69e072a940b3063e049fe6b Mon Sep 17 00:00:00 2001 From: Ofir Sonsino Date: Wed, 31 Jan 2018 17:19:00 +0200 Subject: org.onap migration Change-Id: I52f0b2851f2c765752b6d21f49b32136d7d72a3d Issue-ID: VID-86 Signed-off-by: Ofir Sonsino --- .../vid/external/upload-file/ng-file-upload.min.js | 3 + .../app/vid/icons/collapse-change-managment.svg | 16 + .../app/vid/icons/expand-change-managment.svg | 18 + .../app/vid/icons/refresh-change-managment.svg | 15 + .../src/main/webapp/app/vid/images/attach.svg | 20 + .../webapp/app/vid/images/elipsis_menu_icon.svg | 7 + .../src/main/webapp/app/vid/images/emptyData.svg | 31 + .../webapp/app/vid/images/icon_noconnection.svg | 17 + .../src/main/webapp/app/vid/images/refresh.svg | 19 + .../src/main/webapp/app/vid/images/search.svg | 16 + .../src/main/webapp/app/vid/images/sort_down.svg | 14 + .../src/main/webapp/app/vid/images/sort_up.svg | 14 + .../src/main/webapp/app/vid/images/sprite.png | Bin 0 -> 83746 bytes .../src/main/webapp/app/vid/images/v.svg | 14 + .../vid/scripts/constants/componentConstants.js | 90 +- .../app/vid/scripts/constants/fieldConstants.js | 171 +- .../vid/scripts/constants/parameterConstants.js | 1 + .../webapp/app/vid/scripts/constants/version.json | 1 + .../app/vid/scripts/constants/vidConfiguration.js | 15 +- .../scripts/controller/AddNetworkNodeController.js | 78 + .../scripts/controller/InstantiationController.js | 438 +++-- .../scripts/controller/ServiceModelController.js | 83 +- .../controller/ServiceProxyConfigController.js | 342 ++++ .../webapp/app/vid/scripts/controller/VidApp.js | 29 +- .../scripts/controller/aaiSubscriberController.js | 892 +++++---- .../controller/change-management.controller.js | 75 +- .../controller/deleteResumeDialogController.js | 148 ++ .../scripts/controller/deletionDialogController.js | 123 -- .../vid/scripts/controller/msoCommitController.js | 46 +- .../scripts/controller/msoCommitModalController.js | 237 +++ .../controller/pnfSearchAssociationController.js | 138 ++ .../controller/testEnvironmentsController.js | 102 + .../app/vid/scripts/directives/messageViewer.js | 17 + .../scripts/directives/parameterBlockDirective.js | 43 +- .../directives/parameterBlockDirective.js.orig | 507 ----- .../vid/scripts/directives/progressBarDirective.js | 2 +- .../webapp/app/vid/scripts/directives/search.js | 11 + .../app/vid/scripts/directives/serviceMetadata.js | 34 + .../alert-change-management.html | 2 +- .../modals/alert-modal/alert-modal.controller.js | 33 + .../vid/scripts/modals/alert-modal/alert-modal.css | 15 + .../scripts/modals/alert-modal/alert-modal.html | 15 + .../alert-new-scheduler.controller.js | 33 - .../alert-new-scheduler/alert-new-scheduler.css | 3 - .../alert-new-scheduler/alert-new-scheduler.html | 12 - .../attach-test-env-manifest.controller.js | 58 + .../attach-test-env-manifest.css | 109 ++ .../attach-test-env-manifest.html | 26 + .../cancel-pending-workflow.controller.js | 29 + .../cancel-pending-workflow.css | 16 + .../cancel-pending-workflow.html | 14 + .../failed-change-management.html | 2 +- .../in-progress-change-management.html | 2 +- .../vid/scripts/modals/mso-commit/mso-commit.css | 6 + .../vid/scripts/modals/mso-commit/mso-commit.html | 48 + .../new-change-management.controller.js | 224 ++- .../new-change-management.css | 130 -- .../new-change-management.html | 54 +- .../new-scheduler/new-scheduler.controller.js | 455 ----- .../scripts/modals/new-scheduler/new-scheduler.css | 145 -- .../modals/new-scheduler/new-scheduler.html | 101 - .../new-test-environment.controller.js | 65 + .../new-test-environment/new-test-environment.html | 50 + .../pending-change-management.html | 4 +- .../modals/service-metadata/service-metadata.css | 37 + .../modals/service-metadata/service-metadata.html | 12 + .../vid/scripts/services/OwningEntityService.js | 40 + .../webapp/app/vid/scripts/services/aaiService.js | 213 ++- .../scripts/services/change-management.service.js | 22 +- .../app/vid/scripts/services/componentService.js | 28 +- .../app/vid/scripts/services/creationService.js | 1949 ++++++++++---------- .../webapp/app/vid/scripts/services/dataService.js | 89 +- .../vid/scripts/services/deleteResumeService.js | 518 ++++++ .../app/vid/scripts/services/deletionService.js | 508 ----- .../webapp/app/vid/scripts/services/msoService.js | 373 +++- .../webapp/app/vid/scripts/services/pnfService.js | 43 + .../app/vid/scripts/services/schedulerService.js | 93 +- .../scripts/services/testEnvironmentsService.js | 79 + .../app/vid/scripts/services/utilityService.js | 464 ++--- .../app/vid/scripts/view-models/aaiGetSubs.htm | 53 +- .../scripts/view-models/aaiGetSubscriberList.htm | 102 +- .../vid/scripts/view-models/aaiServiceTypes.htm | 4 +- .../app/vid/scripts/view-models/aaiSubDetails.htm | 12 +- .../app/vid/scripts/view-models/aaiSubViewEdit.htm | 2 +- .../app/vid/scripts/view-models/addNetworkNode.htm | 62 + .../vid/scripts/view-models/change-management.html | 100 +- .../view-models/createInstanceServiceModels.htm | 11 +- .../app/vid/scripts/view-models/creationDialog.htm | 4 +- .../vid/scripts/view-models/deleteResumeDialog.htm | 70 + .../app/vid/scripts/view-models/deletionDialog.htm | 70 - .../app/vid/scripts/view-models/instantiate.htm | 79 +- .../app/vid/scripts/view-models/messageViewer.htm | 6 + .../app/vid/scripts/view-models/msoCommit.htm | 5 +- .../scripts/view-models/pnfSearchAssociation.htm | 62 + .../webapp/app/vid/scripts/view-models/search.htm | 5 + .../vid/scripts/view-models/serviceMetadata.htm | 10 + .../app/vid/scripts/view-models/serviceModels.htm | 4 +- .../vid/scripts/view-models/serviceProxyConfig.htm | 108 ++ .../vid/scripts/view-models/testEnvironments.htm | 82 + .../src/main/webapp/app/vid/styles/buttons.css | 58 + .../app/vid/styles/change-management-icons.css | 67 +- .../webapp/app/vid/styles/change-management.css | 28 +- .../src/main/webapp/app/vid/styles/common.css | 115 +- .../vid/styles/fonts/OpenSans/Apache License.txt | 201 ++ .../vid/styles/fonts/OpenSans/OpenSans-Bold.ttf | Bin 0 -> 224592 bytes .../styles/fonts/OpenSans/OpenSans-BoldItalic.ttf | Bin 0 -> 213292 bytes .../styles/fonts/OpenSans/OpenSans-ExtraBold.ttf | Bin 0 -> 222584 bytes .../fonts/OpenSans/OpenSans-ExtraBoldItalic.ttf | Bin 0 -> 213420 bytes .../vid/styles/fonts/OpenSans/OpenSans-Italic.ttf | Bin 0 -> 212896 bytes .../vid/styles/fonts/OpenSans/OpenSans-Light.ttf | Bin 0 -> 222412 bytes .../styles/fonts/OpenSans/OpenSans-LightItalic.ttf | Bin 0 -> 213128 bytes .../vid/styles/fonts/OpenSans/OpenSans-Regular.ttf | Bin 0 -> 217360 bytes .../styles/fonts/OpenSans/OpenSans-Semibold.ttf | Bin 0 -> 221328 bytes .../fonts/OpenSans/OpenSans-SemiboldItalic.ttf | Bin 0 -> 212820 bytes .../main/webapp/app/vid/styles/fonts/icomoon.eot | Bin 5200 -> 6448 bytes .../main/webapp/app/vid/styles/fonts/icomoon.svg | 3 + .../main/webapp/app/vid/styles/fonts/icomoon.ttf | Bin 5036 -> 6284 bytes .../main/webapp/app/vid/styles/fonts/icomoon.woff | Bin 5112 -> 6360 bytes .../src/main/webapp/app/vid/styles/instantiate.css | 8 + .../main/webapp/app/vid/styles/messageViewer.css | 17 + .../main/webapp/app/vid/styles/modal-buttons.css | 29 + .../webapp/app/vid/styles/modal-create-new.css | 196 ++ .../src/main/webapp/app/vid/styles/modals.css | 52 + .../src/main/webapp/app/vid/styles/networkNode.css | 271 +++ .../webapp/app/vid/styles/pnfSearchAssociation.css | 82 + .../src/main/webapp/app/vid/styles/search.css | 37 + .../main/webapp/app/vid/styles/serviceMetadata.css | 18 + .../main/webapp/app/vid/styles/serviceModels.css | 4 + .../webapp/app/vid/styles/serviceProxyConfig.css | 154 ++ .../webapp/app/vid/styles/testEnvironments.css | 215 +++ .../src/main/webapp/app/vid/styles/vidTree.css | 4 + vid-app-common/src/main/webapp/test.jsp | 20 +- 132 files changed, 8071 insertions(+), 4305 deletions(-) create mode 100644 vid-app-common/src/main/webapp/app/vid/external/upload-file/ng-file-upload.min.js create mode 100644 vid-app-common/src/main/webapp/app/vid/icons/collapse-change-managment.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/icons/expand-change-managment.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/icons/refresh-change-managment.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/attach.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/elipsis_menu_icon.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/emptyData.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/icon_noconnection.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/refresh.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/search.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/sort_down.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/sort_up.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/images/sprite.png create mode 100644 vid-app-common/src/main/webapp/app/vid/images/v.svg create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/constants/version.json create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/AddNetworkNodeController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceProxyConfigController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/deleteResumeDialogController.js delete mode 100755 vid-app-common/src/main/webapp/app/vid/scripts/controller/deletionDialogController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/msoCommitModalController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/pnfSearchAssociationController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/testEnvironmentsController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/directives/messageViewer.js delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js.orig create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/directives/search.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/directives/serviceMetadata.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/alert-modal/alert-modal.controller.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/alert-modal/alert-modal.css create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/alert-modal/alert-modal.html delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/alert-new-scheduler/alert-new-scheduler.controller.js delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/alert-new-scheduler/alert-new-scheduler.css delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/alert-new-scheduler/alert-new-scheduler.html create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/attach-test-env-manifest/attach-test-env-manifest.controller.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/attach-test-env-manifest/attach-test-env-manifest.css create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/attach-test-env-manifest/attach-test-env-manifest.html create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/cancel-pending-workflow/cancel-pending-workflow.controller.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/cancel-pending-workflow/cancel-pending-workflow.css create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/cancel-pending-workflow/cancel-pending-workflow.html create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/mso-commit/mso-commit.css create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/mso-commit/mso-commit.html delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.css delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/new-scheduler/new-scheduler.controller.js delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/new-scheduler/new-scheduler.css delete mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/new-scheduler/new-scheduler.html create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/new-test-environment/new-test-environment.controller.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/new-test-environment/new-test-environment.html create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/service-metadata/service-metadata.css create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/modals/service-metadata/service-metadata.html create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/services/OwningEntityService.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/services/deleteResumeService.js delete mode 100755 vid-app-common/src/main/webapp/app/vid/scripts/services/deletionService.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/services/pnfService.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/services/testEnvironmentsService.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/addNetworkNode.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/deleteResumeDialog.htm delete mode 100755 vid-app-common/src/main/webapp/app/vid/scripts/view-models/deletionDialog.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/messageViewer.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/pnfSearchAssociation.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/search.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceMetadata.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceProxyConfig.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/testEnvironments.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/buttons.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/Apache License.txt create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-Bold.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-BoldItalic.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-ExtraBold.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-ExtraBoldItalic.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-Italic.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-Light.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-LightItalic.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-Regular.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-Semibold.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/fonts/OpenSans/OpenSans-SemiboldItalic.ttf create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/messageViewer.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/modal-buttons.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/modal-create-new.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/modals.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/networkNode.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/pnfSearchAssociation.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/search.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/serviceMetadata.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/serviceProxyConfig.css create mode 100644 vid-app-common/src/main/webapp/app/vid/styles/testEnvironments.css (limited to 'vid-app-common/src/main/webapp') diff --git a/vid-app-common/src/main/webapp/app/vid/external/upload-file/ng-file-upload.min.js b/vid-app-common/src/main/webapp/app/vid/external/upload-file/ng-file-upload.min.js new file mode 100644 index 000000000..4bfe94221 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/external/upload-file/ng-file-upload.min.js @@ -0,0 +1,3 @@ +/*! 12.2.13 */ +!window.XMLHttpRequest||window.FileAPI&&FileAPI.shouldLoad||(window.XMLHttpRequest.prototype.setRequestHeader=function(a){return function(b,c){if("__setXHR_"===b){var d=c(this);d instanceof Function&&d(this)}else a.apply(this,arguments)}}(window.XMLHttpRequest.prototype.setRequestHeader));var ngFileUpload=angular.module("ngFileUpload",[]);ngFileUpload.version="12.2.13",ngFileUpload.service("UploadBase",["$http","$q","$timeout",function(a,b,c){function d(d){function e(a){j.notify&&j.notify(a),k.progressFunc&&c(function(){k.progressFunc(a)})}function h(a){return null!=d._start&&g?{loaded:a.loaded+d._start,total:d._file&&d._file.size||a.total,type:a.type,config:d,lengthComputable:!0,target:a.target}:a}function i(){a(d).then(function(a){if(g&&d._chunkSize&&!d._finished&&d._file){var b=d._file&&d._file.size||0;e({loaded:Math.min(d._end,b),total:b,config:d,type:"progress"}),f.upload(d,!0)}else d._finished&&delete d._finished,j.resolve(a)},function(a){j.reject(a)},function(a){j.notify(a)})}d.method=d.method||"POST",d.headers=d.headers||{};var j=d._deferred=d._deferred||b.defer(),k=j.promise;return d.disableProgress||(d.headers.__setXHR_=function(){return function(a){a&&a.upload&&a.upload.addEventListener&&(d.__XHR=a,d.xhrFn&&d.xhrFn(a),a.upload.addEventListener("progress",function(a){a.config=d,e(h(a))},!1),a.upload.addEventListener("load",function(a){a.lengthComputable&&(a.config=d,e(h(a)))},!1))}}),g?d._chunkSize&&d._end&&!d._finished?(d._start=d._end,d._end+=d._chunkSize,i()):d.resumeSizeUrl?a.get(d.resumeSizeUrl).then(function(a){d._start=d.resumeSizeResponseReader?d.resumeSizeResponseReader(a.data):parseInt((null==a.data.size?a.data:a.data.size).toString()),d._chunkSize&&(d._end=d._start+d._chunkSize),i()},function(a){throw a}):d.resumeSize?d.resumeSize().then(function(a){d._start=a,d._chunkSize&&(d._end=d._start+d._chunkSize),i()},function(a){throw a}):(d._chunkSize&&(d._start=0,d._end=d._start+d._chunkSize),i()):i(),k.success=function(a){return k.then(function(b){a(b.data,b.status,b.headers,d)}),k},k.error=function(a){return k.then(null,function(b){a(b.data,b.status,b.headers,d)}),k},k.progress=function(a){return k.progressFunc=a,k.then(null,null,function(b){a(b)}),k},k.abort=k.pause=function(){return d.__XHR&&c(function(){d.__XHR.abort()}),k},k.xhr=function(a){return d.xhrFn=function(b){return function(){b&&b.apply(k,arguments),a.apply(k,arguments)}}(d.xhrFn),k},f.promisesCount++,k["finally"]&&k["finally"]instanceof Function&&k["finally"](function(){f.promisesCount--}),k}function e(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}var f=this;f.promisesCount=0,this.isResumeSupported=function(){return window.Blob&&window.Blob.prototype.slice};var g=this.isResumeSupported();this.isUploadInProgress=function(){return f.promisesCount>0},this.rename=function(a,b){return a.ngfName=b,a},this.jsonBlob=function(a){null==a||angular.isString(a)||(a=JSON.stringify(a));var b=new window.Blob([a],{type:"application/json"});return b._ngfBlob=!0,b},this.json=function(a){return angular.toJson(a)},this.isFile=function(a){return null!=a&&(a instanceof window.Blob||a.flashId&&a.name&&a.size)},this.upload=function(a,b){function c(b,c){if(b._ngfBlob)return b;if(a._file=a._file||b,null!=a._start&&g){a._end&&a._end>=b.size&&(a._finished=!0,a._end=b.size);var d=b.slice(a._start,a._end||b.size);return d.name=b.name,d.ngfName=b.ngfName,a._chunkSize&&(c.append("_chunkSize",a._chunkSize),c.append("_currentChunkSize",a._end-a._start),c.append("_chunkNumber",Math.floor(a._start/a._chunkSize)),c.append("_totalSize",a._file.size)),d}return b}function h(b,d,e){if(void 0!==d)if(angular.isDate(d)&&(d=d.toISOString()),angular.isString(d))b.append(e,d);else if(f.isFile(d)){var g=c(d,b),i=e.split(",");i[1]&&(g.ngfName=i[1].replace(/^\s+|\s+$/g,""),e=i[0]),a._fileKey=a._fileKey||e,b.append(e,g,g.ngfName||g.name)}else if(angular.isObject(d)){if(d.$$ngfCircularDetection)throw"ngFileUpload: Circular reference in config.data. Make sure specified data for Upload.upload() has no circular reference: "+e;d.$$ngfCircularDetection=!0;try{for(var j in d)if(d.hasOwnProperty(j)&&"$$ngfCircularDetection"!==j){var k=null==a.objectKey?"[i]":a.objectKey;d.length&&parseInt(j)>-1&&(k=null==a.arrayKey?k:a.arrayKey),h(b,d[j],e+k.replace(/[ik]/g,j))}}finally{delete d.$$ngfCircularDetection}}else b.append(e,d)}function i(){a._chunkSize=f.translateScalars(a.resumeChunkSize),a._chunkSize=a._chunkSize?parseInt(a._chunkSize.toString()):null,a.headers=a.headers||{},a.headers["Content-Type"]=void 0,a.transformRequest=a.transformRequest?angular.isArray(a.transformRequest)?a.transformRequest:[a.transformRequest]:[],a.transformRequest.push(function(b){var c,d=new window.FormData;b=b||a.fields||{},a.file&&(b.file=a.file);for(c in b)if(b.hasOwnProperty(c)){var e=b[c];a.formDataAppender?a.formDataAppender(d,c,e):h(d,e,c)}return d})}return b||(a=e(a)),a._isDigested||(a._isDigested=!0,i()),d(a)},this.http=function(b){return b=e(b),b.transformRequest=b.transformRequest||function(b){return window.ArrayBuffer&&b instanceof window.ArrayBuffer||b instanceof window.Blob?b:a.defaults.transformRequest[0].apply(this,arguments)},b._chunkSize=f.translateScalars(b.resumeChunkSize),b._chunkSize=b._chunkSize?parseInt(b._chunkSize.toString()):null,d(b)},this.translateScalars=function(a){if(angular.isString(a)){if(a.search(/kb/i)===a.length-2)return parseFloat(1024*a.substring(0,a.length-2));if(a.search(/mb/i)===a.length-2)return parseFloat(1048576*a.substring(0,a.length-2));if(a.search(/gb/i)===a.length-2)return parseFloat(1073741824*a.substring(0,a.length-2));if(a.search(/b/i)===a.length-1)return parseFloat(a.substring(0,a.length-1));if(a.search(/s/i)===a.length-1)return parseFloat(a.substring(0,a.length-1));if(a.search(/m/i)===a.length-1)return parseFloat(60*a.substring(0,a.length-1));if(a.search(/h/i)===a.length-1)return parseFloat(3600*a.substring(0,a.length-1))}return a},this.urlToBlob=function(c){var d=b.defer();return a({url:c,method:"get",responseType:"arraybuffer"}).then(function(a){var b=new Uint8Array(a.data),e=a.headers("content-type")||"image/WebP",f=new window.Blob([b],{type:e}),g=c.match(/.*\/(.+?)(\?.*)?$/);g.length>1&&(f.name=g[1]),d.resolve(f)},function(a){d.reject(a)}),d.promise},this.setDefaults=function(a){this.defaults=a||{}},this.defaults={},this.version=ngFileUpload.version}]),ngFileUpload.service("Upload",["$parse","$timeout","$compile","$q","UploadExif",function(a,b,c,d,e){function f(a,b,c){var e=[i.emptyPromise()];return angular.forEach(a,function(d,f){0===d.type.indexOf("image/jpeg")&&i.attrGetter("ngfFixOrientation",b,c,{$file:d})&&e.push(i.happyPromise(i.applyExifRotation(d),d).then(function(b){a.splice(f,1,b)}))}),d.all(e)}function g(a,b,c,e){var f=i.attrGetter("ngfResize",b,c);if(!f||!i.isResizeSupported()||!a.length)return i.emptyPromise();if(f instanceof Function){var g=d.defer();return f(a).then(function(d){h(d,a,b,c,e).then(function(a){g.resolve(a)},function(a){g.reject(a)})},function(a){g.reject(a)})}return h(f,a,b,c,e)}function h(a,b,c,e,f){function g(d,g){if(0===d.type.indexOf("image")){if(a.pattern&&!i.validatePattern(d,a.pattern))return;a.resizeIf=function(a,b){return i.attrGetter("ngfResizeIf",c,e,{$width:a,$height:b,$file:d})};var j=i.resize(d,a);h.push(j),j.then(function(a){b.splice(g,1,a)},function(a){d.$error="resize",(d.$errorMessages=d.$errorMessages||{}).resize=!0,d.$errorParam=(a?(a.message?a.message:a)+": ":"")+(d&&d.name),f.$ngfValidations.push({name:"resize",valid:!1}),i.applyModelValidation(f,b)})}}for(var h=[i.emptyPromise()],j=0;j-1:!0},i.emptyPromise=function(){var a=d.defer(),c=arguments;return b(function(){a.resolve.apply(a,c)}),a.promise},i.rejectPromise=function(){var a=d.defer(),c=arguments;return b(function(){a.reject.apply(a,c)}),a.promise},i.happyPromise=function(a,c){var e=d.defer();return a.then(function(a){e.resolve(a)},function(a){b(function(){throw a}),e.resolve(c)}),e.promise},i.updateModel=function(c,d,e,h,j,k,l){function m(f,g,j,l,m){d.$$ngfPrevValidFiles=f,d.$$ngfPrevInvalidFiles=g;var n=f&&f.length?f[0]:null,o=g&&g.length?g[0]:null;c&&(i.applyModelValidation(c,f),c.$setViewValue(m?n:f)),h&&a(h)(e,{$files:f,$file:n,$newFiles:j,$duplicateFiles:l,$invalidFiles:g,$invalidFile:o,$event:k});var p=i.attrGetter("ngfModelInvalid",d);p&&b(function(){a(p).assign(e,m?o:g)}),b(function(){})}function n(){function a(a,b){return a.name===b.name&&(a.$ngfOrigSize||a.size)===(b.$ngfOrigSize||b.size)&&a.type===b.type}function b(b){var c;for(c=0;c-1&&(v.splice(d,1),u.push(c)),a()}}})}var q,r,s,t=[],u=[],v=[];r=d.$$ngfPrevValidFiles||[],s=d.$$ngfPrevInvalidFiles||[],c&&c.$modelValue&&(r=o(c.$modelValue));var w=i.attrGetter("ngfKeep",d,e);q=(j||[]).slice(0),("distinct"===w||i.attrGetter("ngfKeepDistinct",d,e)===!0)&&n(d,e);var x=!w&&!i.attrGetter("ngfMultiple",d,e)&&!i.attrGetter("multiple",d);if(!w||q.length){i.attrGetter("ngfBeforeModelChange",d,e,{$files:j,$file:j&&j.length?j[0]:null,$newFiles:q,$duplicateFiles:t,$event:k});var y=i.attrGetter("ngfValidateAfterResize",d,e),z=i.attrGetter("ngfModelOptions",d,e);i.validate(q,w?r.length:0,c,d,e).then(function(a){l?m(q,[],j,t,x):(z&&z.allowInvalid||y?v=q:(v=a.validFiles,u=a.invalidFiles),i.attrGetter("ngfFixOrientation",d,e)&&i.isExifSupported()?f(v,d,e).then(function(){p()}):p())})}},i}]),ngFileUpload.directive("ngfSelect",["$parse","$timeout","$compile","Upload",function(a,b,c,d){function e(a){var b=a.match(/Android[^\d]*(\d+)\.(\d+)/);if(b&&b.length>2){var c=d.defaults.androidFixMinorVersion||4;return parseInt(b[1])<4||parseInt(b[1])===c&&parseInt(b[2])'),c=angular.element("");return c.css("visibility","hidden").css("position","absolute").css("overflow","hidden").css("width","0px").css("height","0px").css("border","none").css("margin","0px").css("padding","0px").attr("tabindex","-1"),n(a,c),g.push({el:b,ref:c}),document.body.appendChild(c.append(a)[0]),a}function p(c){if(b.attr("disabled"))return!1;if(!t("ngfSelectDisabled",a)){var d=q(c);if(null!=d)return d;r(c);try{k()||document.body.contains(x[0])||(g.push({el:b,ref:x.parent()}),document.body.appendChild(x.parent()[0]),x.bind("change",m))}catch(f){}return e(navigator.userAgent)?setTimeout(function(){x[0].click()},0):x[0].click(),!1}}function q(a){var b=a.changedTouches||a.originalEvent&&a.originalEvent.changedTouches;if(b){if("touchstart"===a.type)return w=b[0].clientX,v=b[0].clientY,!0;if("touchend"===a.type){var c=b[0].clientX,d=b[0].clientY;if(Math.abs(c-w)>20||Math.abs(d-v)>20)return a.stopPropagation(),a.preventDefault(),!1}return!0}}function r(b){j.shouldUpdateOn("click",c,a)&&x.val()&&(x.val(null),j.updateModel(d,c,a,l(),null,b,!0))}function s(a){if(x&&!x.attr("__ngf_ie10_Fix_")){if(!x[0].parentNode)return void(x=null);a.preventDefault(),a.stopPropagation(),x.unbind("click");var b=x.clone();return x.replaceWith(b),x=b,x.attr("__ngf_ie10_Fix_","true"),x.bind("change",m),x.bind("click",s),x[0].click(),!1}x.removeAttr("__ngf_ie10_Fix_")}var t=function(a,b){return j.attrGetter(a,c,b)};j.registerModelChangeValidator(d,c,a);var u=[];t("ngfMultiple")&&u.push(a.$watch(t("ngfMultiple"),function(){x.attr("multiple",t("ngfMultiple",a))})),t("ngfCapture")&&u.push(a.$watch(t("ngfCapture"),function(){x.attr("capture",t("ngfCapture",a))})),t("ngfAccept")&&u.push(a.$watch(t("ngfAccept"),function(){x.attr("accept",t("ngfAccept",a))})),u.push(c.$observe("accept",function(){x.attr("accept",t("accept"))}));var v=0,w=0,x=b;k()||(x=o()),x.bind("change",m),k()?b.bind("click",r):b.bind("click touchstart touchend",p),-1!==navigator.appVersion.indexOf("MSIE 10")&&x.bind("click",s),d&&d.$formatters.push(function(a){return(null==a||0===a.length)&&x.val()&&x.val(null),a}),a.$on("$destroy",function(){k()||x.parent().remove(),angular.forEach(u,function(a){a()})}),h(function(){for(var a=0;a-1&&l.height&&l.height.indexOf("px")>-1&&(k={width:parseInt(l.width.slice(0,-2)),height:parseInt(l.height.slice(0,-2))})}return angular.isString(c)?(e.removeClass("ng-hide"),i?e.css("background-image","url('"+c+"')"):e.attr("src",c)):void(!c||!c.type||0!==c.type.search(a(e[0]))||i&&0!==c.type.indexOf("image")?e.addClass("ng-hide"):k&&b.isResizeSupported()?(k.resizeIf=function(a,e){return b.attrGetter("ngfResizeIf",f,d,{$width:a,$height:e,$file:c})},b.resize(c,k).then(function(a){j(a)},function(a){throw a})):j(c))});d.$on("$destroy",function(){c()})})}ngFileUpload.service("UploadDataUrl",["UploadBase","$timeout","$q",function(a,b,c){var d=a;return d.base64DataUrl=function(a){if(angular.isArray(a)){var b=c.defer(),e=0;return angular.forEach(a,function(c){d.dataUrl(c,!0)["finally"](function(){if(e++,e===a.length){var c=[];angular.forEach(a,function(a){c.push(a.$ngfDataUrl)}),b.resolve(c,a)}})}),b.promise}return d.dataUrl(a,!0)},d.dataUrl=function(a,e){if(!a)return d.emptyPromise(a,a);if(e&&null!=a.$ngfDataUrl||!e&&null!=a.$ngfBlobUrl)return d.emptyPromise(e?a.$ngfDataUrl:a.$ngfBlobUrl,a);var f=e?a.$$ngfDataUrlPromise:a.$$ngfBlobUrlPromise;if(f)return f;var g=c.defer();return b(function(){if(window.FileReader&&a&&(!window.FileAPI||-1===navigator.userAgent.indexOf("MSIE 8")||a.size<2e4)&&(!window.FileAPI||-1===navigator.userAgent.indexOf("MSIE 9")||a.size<4e6)){var c=window.URL||window.webkitURL;if(c&&c.createObjectURL&&!e){var f;try{f=c.createObjectURL(a)}catch(h){return void b(function(){a.$ngfBlobUrl="",g.reject()})}b(function(){if(a.$ngfBlobUrl=f,f){g.resolve(f,a),d.blobUrls=d.blobUrls||[],d.blobUrlsTotalSize=d.blobUrlsTotalSize||0,d.blobUrls.push({url:f,size:a.size}),d.blobUrlsTotalSize+=a.size||0;for(var b=d.defaults.blobUrlsMaxMemory||268435456,e=d.defaults.blobUrlsMaxQueueSize||200;(d.blobUrlsTotalSize>b||d.blobUrls.length>e)&&d.blobUrls.length>1;){var h=d.blobUrls.splice(0,1)[0];c.revokeObjectURL(h.url),d.blobUrlsTotalSize-=h.size}}})}else{var i=new FileReader;i.onload=function(c){b(function(){a.$ngfDataUrl=c.target.result,g.resolve(c.target.result,a),b(function(){delete a.$ngfDataUrl},1e3)})},i.onerror=function(){b(function(){a.$ngfDataUrl="",g.reject()})},i.readAsDataURL(a)}}else b(function(){a[e?"$ngfDataUrl":"$ngfBlobUrl"]="",g.reject()})}),f=e?a.$$ngfDataUrlPromise=g.promise:a.$$ngfBlobUrlPromise=g.promise,f["finally"](function(){delete a[e?"$$ngfDataUrlPromise":"$$ngfBlobUrlPromise"]}),f},d}]),ngFileUpload.directive("ngfSrc",["Upload","$timeout",function(a,c){return{restrict:"AE",link:function(d,e,f){b(a,c,d,e,f,"ngfSrc",a.attrGetter("ngfResize",f,d),!1)}}}]),ngFileUpload.directive("ngfBackground",["Upload","$timeout",function(a,c){return{restrict:"AE",link:function(d,e,f){b(a,c,d,e,f,"ngfBackground",a.attrGetter("ngfResize",f,d),!0)}}}]),ngFileUpload.directive("ngfThumbnail",["Upload","$timeout",function(a,c){return{restrict:"AE",link:function(d,e,f){var g=a.attrGetter("ngfSize",f,d);b(a,c,d,e,f,"ngfThumbnail",g,a.attrGetter("ngfAsBackground",f,d))}}}]),ngFileUpload.config(["$compileProvider",function(a){a.imgSrcSanitizationWhitelist&&a.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/),a.aHrefSanitizationWhitelist&&a.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/)}]),ngFileUpload.filter("ngfDataUrl",["UploadDataUrl","$sce",function(a,b){return function(c,d,e){if(angular.isString(c))return b.trustAsResourceUrl(c);var f=c&&((d?c.$ngfDataUrl:c.$ngfBlobUrl)||c.$ngfDataUrl);return c&&!f?(!c.$ngfDataUrlFilterInProgress&&angular.isObject(c)&&(c.$ngfDataUrlFilterInProgress=!0,a.dataUrl(c,d)),""):(c&&delete c.$ngfDataUrlFilterInProgress,(c&&f?e?b.trustAsResourceUrl(f):f:c)||"")}}])}(),ngFileUpload.service("UploadValidate",["UploadDataUrl","$q","$timeout",function(a,b,c){function d(a){var b="",c=[];if(a.length>2&&"/"===a[0]&&"/"===a[a.length-1])b=a.substring(1,a.length-1);else{var e=a.split(",");if(e.length>1)for(var f=0;f|:\\-]","g"),"\\$&")+"$",b=b.replace(/\\\*/g,".*").replace(/\\\?/g,"."))}return{regexp:b,excludes:c}}function e(a,b){null==b||a.$dirty||(a.$setDirty?a.$setDirty():a.$dirty=!0)}var f=a;return f.validatePattern=function(a,b){if(!b)return!0;var c=d(b),e=!0;if(c.regexp&&c.regexp.length){var f=new RegExp(c.regexp,"i");e=null!=a.type&&f.test(a.type)||null!=a.name&&f.test(a.name)}for(var g=c.excludes.length;g--;){var h=new RegExp(c.excludes[g],"i");e=e&&(null==a.type||h.test(a.type))&&(null==a.name||h.test(a.name))}return e},f.ratioToFloat=function(a){var b=a.toString(),c=b.search(/[x:]/i);return b=c>-1?parseFloat(b.substring(0,c))/parseFloat(b.substring(c+1)):parseFloat(b)},f.registerModelChangeValidator=function(a,b,c){a&&a.$formatters.push(function(d){if(a.$dirty){var e=d;d&&!angular.isArray(d)&&(e=[d]),f.validate(e,0,a,b,c).then(function(){f.applyModelValidation(a,e)})}return d})},f.applyModelValidation=function(a,b){e(a,b),angular.forEach(a.$ngfValidations,function(b){a.$setValidity(b.name,b.valid)})},f.getValidationAttr=function(a,b,c,d,e){var g="ngf"+c[0].toUpperCase()+c.substr(1),h=f.attrGetter(g,a,b,{$file:e});if(null==h&&(h=f.attrGetter("ngfValidate",a,b,{$file:e}))){var i=(d||c).split(".");h=h[i[0]],i.length>1&&(h=h&&h[i[1]])}return h},f.validate=function(a,c,d,e,g){function h(b,c,h){if(a){for(var i=a.length,j=null;i--;){var n=a[i];if(n){var o=f.getValidationAttr(e,g,b,c,n);null!=o&&(h(n,o,i)||(-1===k.indexOf(b)?(n.$error=b,(n.$errorMessages=n.$errorMessages||{})[b]=!0,n.$errorParam=o,-1===m.indexOf(n)&&m.push(n),l||a.splice(i,1),j=!1):a.splice(i,1)))}}null!==j&&d.$ngfValidations.push({name:b,valid:j})}}function i(c,h,i,n,o){function p(b,d,e){function f(f){if(f())if(-1===k.indexOf(c)){if(d.$error=c,(d.$errorMessages=d.$errorMessages||{})[c]=!0,d.$errorParam=e,-1===m.indexOf(d)&&m.push(d),!l){var g=a.indexOf(d);g>-1&&a.splice(g,1)}b.resolve(!1)}else{var h=a.indexOf(d);h>-1&&a.splice(h,1),b.resolve(!0)}else b.resolve(!0)}null!=e?n(d,e).then(function(a){f(function(){return!o(a,e)})},function(){f(function(){return j("ngfValidateForce",{$file:d})})}):b.resolve(!0)}var q=[f.emptyPromise(!0)];a&&(a=void 0===a.length?[a]:a,angular.forEach(a,function(a){var d=b.defer();return q.push(d.promise),!i||null!=a.type&&0===a.type.search(i)?void("dimensions"===c&&null!=f.attrGetter("ngfDimensions",e)?f.imageDimensions(a).then(function(b){p(d,a,j("ngfDimensions",{$file:a,$width:b.width,$height:b.height}))},function(){d.resolve(!1)}):"duration"===c&&null!=f.attrGetter("ngfDuration",e)?f.mediaDuration(a).then(function(b){p(d,a,j("ngfDuration",{$file:a,$duration:b}))},function(){d.resolve(!1)}):p(d,a,f.getValidationAttr(e,g,c,h,a))):void d.resolve(!0)}));var r=b.defer();return b.all(q).then(function(a){for(var b=!0,e=0;e=f.translateScalars(b)}),h("maxSize","size.max",function(a,b){return a.size-.1<=f.translateScalars(b)});var n=0;if(h("maxTotalSize",null,function(b,c){return n+=b.size,n>f.translateScalars(c)?(a.splice(0,a.length),!1):!0}),h("validateFn",null,function(a,b){return b===!0||null===b||""===b}),!a.length)return f.emptyPromise({validFiles:[],invalidFiles:m});var o=b.defer(),p=[];return p.push(i("maxHeight","height.max",/image/,this.imageDimensions,function(a,b){return a.height<=b})),p.push(i("minHeight","height.min",/image/,this.imageDimensions,function(a,b){return a.height>=b})),p.push(i("maxWidth","width.max",/image/,this.imageDimensions,function(a,b){return a.width<=b})),p.push(i("minWidth","width.min",/image/,this.imageDimensions,function(a,b){return a.width>=b})),p.push(i("dimensions",null,/image/,function(a,b){return f.emptyPromise(b)},function(a){return a})),p.push(i("ratio",null,/image/,this.imageDimensions,function(a,b){for(var c=b.toString().split(","),d=!1,e=0;e-1e-4})),p.push(i("maxDuration","duration.max",/audio|video/,this.mediaDuration,function(a,b){return a<=f.translateScalars(b)})),p.push(i("minDuration","duration.min",/audio|video/,this.mediaDuration,function(a,b){return a>=f.translateScalars(b)})),p.push(i("duration",null,/audio|video/,function(a,b){return f.emptyPromise(b)},function(a){return a})),p.push(i("validateAsyncFn",null,null,function(a,b){return b},function(a){return a===!0||null===a||""===a})),b.all(p).then(function(){if(l)for(var b=0;bc+d}),o.resolve({validFiles:a,invalidFiles:m})}),o.promise},f.imageDimensions=function(a){if(a.$ngfWidth&&a.$ngfHeight){var d=b.defer();return c(function(){d.resolve({width:a.$ngfWidth,height:a.$ngfHeight})}),d.promise}if(a.$ngfDimensionPromise)return a.$ngfDimensionPromise;var e=b.defer();return c(function(){return 0!==a.type.indexOf("image")?void e.reject("not image"):void f.dataUrl(a).then(function(b){function d(){var b=h[0].naturalWidth||h[0].clientWidth,c=h[0].naturalHeight||h[0].clientHeight;h.remove(),a.$ngfWidth=b,a.$ngfHeight=c,e.resolve({width:b,height:c})}function f(){h.remove(),e.reject("load error")}function g(){c(function(){h[0].parentNode&&(h[0].clientWidth?d():i++>10?f():g())},1e3)}var h=angular.element("").attr("src",b).css("visibility","hidden").css("position","fixed").css("max-width","none !important").css("max-height","none !important");h.on("load",d),h.on("error",f);var i=0;g(),angular.element(document.getElementsByTagName("body")[0]).append(h)},function(){e.reject("load error")})}),a.$ngfDimensionPromise=e.promise,a.$ngfDimensionPromise["finally"](function(){delete a.$ngfDimensionPromise}),a.$ngfDimensionPromise},f.mediaDuration=function(a){if(a.$ngfDuration){var d=b.defer();return c(function(){d.resolve(a.$ngfDuration)}),d.promise}if(a.$ngfDurationPromise)return a.$ngfDurationPromise;var e=b.defer();return c(function(){return 0!==a.type.indexOf("audio")&&0!==a.type.indexOf("video")?void e.reject("not media"):void f.dataUrl(a).then(function(b){function d(){var b=h[0].duration;a.$ngfDuration=b,h.remove(),e.resolve(b)}function f(){h.remove(),e.reject("load error")}function g(){c(function(){h[0].parentNode&&(h[0].duration?d():i>10?f():g())},1e3)}var h=angular.element(0===a.type.indexOf("audio")?"