diff options
Diffstat (limited to 'd2ice.att.io/app/main/modals')
54 files changed, 4906 insertions, 0 deletions
diff --git a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js new file mode 100755 index 00000000..3c1226cb --- /dev/null +++ b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js @@ -0,0 +1,66 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('archiveEngagementModalController', ['$uibModalInstance','engagementDetails',archiveEngagementModalController]); + + function archiveEngagementModalController($uibModalInstance, engagementDetails) { + + var vm = this; + var init = function () { + if(engagementDetails) { + vm.engagement = engagementDetails; + } + }; + + vm.closeModal = function () { + $uibModalInstance.dismiss(); + }; + + vm.archiveEngagement = function() { + $uibModalInstance.close(vm.reason); + }; + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.html b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.html new file mode 100755 index 00000000..7d4b5b07 --- /dev/null +++ b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.html @@ -0,0 +1,56 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="archive-engagement-modal"> + <div class="modal-header row"> + <button type="button" ng-click="vm.closeModal()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <div id="archive-engagement-title" class="archive-engagement-title"><span>Archive Engagement</span></div> + <span class="archive-engagement-reason">Please provide a short reason for why you are archiving this engagement.</span> + </div> + <div class="modal-body row"> + <form name="archiveEngagementForm" ng-submit="vm.archiveEngagement()" novalidate="" class=""> + <div class="form-group" ng-class="{ 'has-error' : archiveEngagementForm.reason.$invalid && archiveEngagementForm.reason.$dirty }"> + <textarea type="text" name="reason" class="form-control" ng-model="vm.reason" required=""></textarea> + <div class="ice-form-error" data-ng-show="archiveEngagementForm.reason.$error"> + <span ng-show="archiveEngagementForm.reason.$error.required && archiveEngagementForm.reason.$dirty" class="help-block ng-hide" aria-hidden="true">Please enter a reason</span> + </div> + </div> + <button id="submit-modal" class="btn btn-primary col-md-12" data-ng-disabled="archiveEngagementForm.$invalid" type="submit">Submit</button> + </form> + </div> +</div> diff --git a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.less b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.less new file mode 100755 index 00000000..da2f8503 --- /dev/null +++ b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.less @@ -0,0 +1,54 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.archive-engagement-modal { + padding: 0px 15px 0px 15px; + + .archive-engagement-title { + .a_24_m;; + } + + .archive-engagement-reason { + .m_16_r; + } + + .modal-body { + top: 10px; + } +} + diff --git a/d2ice.att.io/app/main/modals/audit-log/audit-log.controller.js b/d2ice.att.io/app/main/modals/audit-log/audit-log.controller.js new file mode 100755 index 00000000..84e7fbc6 --- /dev/null +++ b/d2ice.att.io/app/main/modals/audit-log/audit-log.controller.js @@ -0,0 +1,95 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('AuditLogModalController', ['$rootScope', '$uibModalInstance', 'checklistService', 'wizardData', + 'toastService', '$log', AuditLogModalController]); + + function AuditLogModalController($rootScope, $uibModalInstance, checklistService, wizardData, toastService, $log) { + var vm = this; + + var init = function() + { + var arr = []; + var i; + var region = moment().tz( moment.tz.guess()).format('z'); + var dt = ""; + vm.name = wizardData.name; + vm.checklistAuditLogs = wizardData.checklistAuditLogs; + vm.checklistAuditLogs.forEach(function (cl) + { + dt = moment(cl.create_time).local().format('YYYY-MM-DD hh:mm:ss A') + " " + region; + arr.push({"name":cl.creator.full_name,"dt":dt,"desc":cl.description}); + }); + vm.checklistAuditLogs = arr; + } + + init(); + + vm.submitForm = function () + { + var jsonPost = {"description":vm.description}; + checklistService.createAuditlogChecklist(wizardData.uuid, jsonPost) + .then(function (response) { + if (response.status === 200) + { + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else + { + toastService.setToast(response.error, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $log.error(error.message); + }); + }; + + vm.closeModal = function(){ + toastService.clearToast(); + $uibModalInstance.close(); + }; + } +})(); diff --git a/d2ice.att.io/app/main/modals/audit-log/audit-log.html b/d2ice.att.io/app/main/modals/audit-log/audit-log.html new file mode 100755 index 00000000..a4ad06f7 --- /dev/null +++ b/d2ice.att.io/app/main/modals/audit-log/audit-log.html @@ -0,0 +1,76 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<ice-loader selector=".checkList-form"></ice-loader> + +<div class="modal-header checkList"> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <ice-toast is-modal="true"></ice-toast> + <div id="modal-title" class="row "> + <div class=" dash col-md-12 col-md-12 "> + <span class="font_header">Checklist: </span> + <span class="font_header_chk_name margin_btm italic">{{vm.name}}</span> + </div> + </div> +</div> + +<div class="modal-body checkList auditlog"> + <form name="AuditLogForm" ng-submit="vm.submitForm()" novalidate class="checkList-form"> + <div class=" margin_top"> + <h2>Audit Log</h2> + </div> + <div class="audit-log-items" id="audit-log-lines" data-ng-repeat="auditLog in vm.checklistAuditLogs"> + <div class="row" > + <span class="col-md-6 font_user_name"> + {{auditLog.name}} + </span> + <span class="col-md-6 text-right font_date"> + {{auditLog.dt}} + </span> + <div class=" col-md-12 font_desc margin_btm5" ng-bind-html="auditLog.desc"></div> + </div> + </div> + <textarea name="inputBox" rows="3" class="form-control col-md-12 margin_top textarea-checklist-audit" ng-model="vm.description" ng-trim="false" ng-pattern="/^[a-zA-Z0-9\&\,\.\ ]*$/"required ></textarea> + <div data-ng-show="AuditLogForm.inputBox.$error" class="ice-form-error"> + <span ng-show="AuditLogForm.inputBox.$error.required && !AuditLogForm.inputBox.$pristine">Please add a Description.</span> + <span ng-show="AuditLogForm.inputBox.$error.pattern">Inserted text should not include any special chars such as: \%_*."</span> + </div> + + <button type="submit" class="btn btn-primary margin_top" data-ng-disabled="!AuditLogForm.$valid">Add Log Entry</button> + </form> +</div> diff --git a/d2ice.att.io/app/main/modals/audit-log/audit-log.less b/d2ice.att.io/app/main/modals/audit-log/audit-log.less new file mode 100755 index 00000000..7ba728e6 --- /dev/null +++ b/d2ice.att.io/app/main/modals/audit-log/audit-log.less @@ -0,0 +1,49 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.auditlog { + + .audit-log-items { + border-bottom: 1px solid; + margin-bottom: 5px; + } + + .textarea-checklist-audit { + resize: none; + } +} diff --git a/d2ice.att.io/app/main/modals/change-date/change-date.controller.js b/d2ice.att.io/app/main/modals/change-date/change-date.controller.js new file mode 100755 index 00000000..35290c99 --- /dev/null +++ b/d2ice.att.io/app/main/modals/change-date/change-date.controller.js @@ -0,0 +1,75 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.modals') + .controller('ChangeDateModalController', ["$uibModalInstance", "completionDate", "engagementUuid", "vfService", "$rootScope", "toastService", changeDateModalController]); + + function changeDateModalController($uibModalInstance, completionDate, engagementUuid, vfService, $rootScope, toastService) { + + var vm = this; + //vm.completionDate = new Date(completionDate); + vm.completionDate = completionDate; + + vm.dateOptions = { + minDate: new Date(), + showWeeks: true + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.submitForm = function(){ + var postData={"target_date": moment(vm.completionDate).format("YYYY-MM-DD")}; + vfService.updateDaysLeft(engagementUuid, postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(postData); + } + }) + .catch(function (error) { + toastService.setToast(error.status + ': Error changing completion date!', 'danger'); + }); + }; + } +})(); diff --git a/d2ice.att.io/app/main/modals/change-date/change-date.html b/d2ice.att.io/app/main/modals/change-date/change-date.html new file mode 100755 index 00000000..4d3e0b59 --- /dev/null +++ b/d2ice.att.io/app/main/modals/change-date/change-date.html @@ -0,0 +1,62 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<form name="updateProgressForm" ng-submit="vm.submitForm()" novalidate class="update-progress-form"> + <div class="modal-header"> + <h3 class="modal-title" id="modal-title">Target Completion Date</h3> + <button type="button" ng-click="vm.closeModal()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + </div> + <div class="modal-body"> + <div class="form-group" ng-class="{ 'has-error' : updateProgressForm.date.$invalid && !updateProgressForm.date.$pristine }"> + + <!--<input type="text" name="date" class="form-control" ng-model="vm.completionDate" ng-minlength="1" ng-maxlength="2" maxlength="2" required>--> + + <div>{{vm.completionDate | date:'fullDate' }}</div> + + <div class="ice-form-error" data-ng-show="updateProgressForm.date.$error"> + <span ng-show="updateProgressForm.date.$error.required && !updateProgressForm.date.$pristine">Date is required field!</span> + </div> + </div> + + <uib-datepicker ng-model="vm.completionDate" class="well well-sm" datepicker-options="vm.dateOptions"></uib-datepicker> + + </div> + <div class="modal-footer"> + <button type="submit" class="btn btn-primary" data-ng-disabled="!updateProgressForm.$valid">Save</button> + </div> +</form> diff --git a/d2ice.att.io/app/main/modals/change-progress/change-progress.controller.js b/d2ice.att.io/app/main/modals/change-progress/change-progress.controller.js new file mode 100755 index 00000000..e28b2528 --- /dev/null +++ b/d2ice.att.io/app/main/modals/change-progress/change-progress.controller.js @@ -0,0 +1,71 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.modals',[]) + .controller('ChangeProgressModalController', ["$uibModalInstance", "progress", "engagementUuid", "vfService", + "$log", "toastService", ChangeProgressModalController]); + + function ChangeProgressModalController($uibModalInstance, progress, engagementUuid, vfService, $log, toastService) { + + var vm = this; + vm.progress = progress; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.submitForm = function(){ + var postData={"progress": vm.progress}; + vfService.updateProgress(engagementUuid, postData) + .then(function (response) { + if (response.status === 202) { + $uibModalInstance.close(postData); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + } +})(); diff --git a/d2ice.att.io/app/main/modals/change-progress/change-progress.html b/d2ice.att.io/app/main/modals/change-progress/change-progress.html new file mode 100755 index 00000000..adfb7e7a --- /dev/null +++ b/d2ice.att.io/app/main/modals/change-progress/change-progress.html @@ -0,0 +1,65 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<form name="updateProgressForm" ng-submit="vm.submitForm()" novalidate class="update-progress-form"> + <div class="modal-header"> + <h3 class="modal-title" id="modal-title">Specify Progress in %</h3> + <button type="button" ng-click="vm.closeModal()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + </div> + + <div class="modal-body"> + <div class="form-group" ng-class="{ 'has-error' : updateProgressForm.progress.$invalid && !updateProgressForm.progress.$pristine }"> + <input type="text" + name="progress" + class="form-control" + ng-model="vm.progress" + ng-minlength="1" + ng-maxlength="3" + maxlength="3" + ng-pattern="/^[1-9][0-9]?$|^100|^0$/" + required> + <div class="ice-form-error" data-ng-show="updateProgressForm.progress.$error"> + <span ng-show="updateProgressForm.progress.$error.required && !updateProgressForm.progress.$pristine">Progress is a required field!</span> + <span ng-show="updateProgressForm.progress.$error.pattern && !updateProgressForm.progress.$pristine">Progress value is not valid!</span> + </div> + </div> + </div> + <div class="modal-footer"> + <button type="submit" class="btn btn-primary" id="engagement-progress-submit" data-ng-disabled="!updateProgressForm.$valid">Save</button> + </div> +</form> diff --git a/d2ice.att.io/app/main/modals/checklist/checklist.controller.js b/d2ice.att.io/app/main/modals/checklist/checklist.controller.js new file mode 100755 index 00000000..4a20b53d --- /dev/null +++ b/d2ice.att.io/app/main/modals/checklist/checklist.controller.js @@ -0,0 +1,238 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('ChecklistModalController', ['toastService', '$rootScope', '$uibModalInstance', 'checklistService', + 'engagementUuid', 'modal_type', 'wizardData', '$log', ChecklistModalController]); + + function ChecklistModalController(toastService, $rootScope, $uibModalInstance, checklistService, engagementUuid, + modal_type, wizardData, $log) { + var vm = this; + vm.checkListAssociatedFiles = []; + vm.selectedCheckListAssociatedFiles = []; + vm.isDisabled = false; + + var init = function() { + switch(modal_type) { + case 'create': + vm.create = true; + vm.createUpadeTitle = "Create"; + vm.modalType = 'create'; + vm.modalTitle = "Create"; + checklistService.getDataForCreateChecklist(engagementUuid) + .then(function (response) { + if (response.status === 200) { + vm.checkListTemplatesLists = []; + vm.checkListTemplates = response.data.checkListTemplates; + angular.forEach(response.data.checkListAssociatedFiles, function (value, key) { + vm.checkListAssociatedFiles.push({File: value}); + }); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message); + }); + break; + case 'update': + vm.update = true; + vm.createUpadeTitle = "Update"; + vm.modalType = 'udpate'; + vm.modalTitle = "Update"; + vm.checklistUuid = wizardData.uuid; + vm.checkListName = wizardData.name; + checklistService.getDataForCreateChecklist(engagementUuid) + .then(function (response) { + if (response.status === 200) { + vm.checkListAssociatedFiles = [] + angular.forEach(response.data.checkListAssociatedFiles, function (value, key) { + vm.checkListAssociatedFiles.push({File: value}); + }); + $rootScope.ice.loader.show = false; + + vm.selectedCheckListAssociatedFiles =[] + + angular.forEach(wizardData.associatedFiles, function(val, key1) { + vm.selectedCheckListAssociatedFiles.push({File: val}); + }); + + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message); + }); + vm.selectedTemplateUuid = wizardData.selectedTemplateUuid; + vm.selectedTemplateName = wizardData.selectedTemplateName; + + break; + } + } + init(); + + vm.addFile = function () + { + var newItemNo = vm.selectedCheckListAssociatedFiles.length + 1; + vm.selectedCheckListAssociatedFiles.push({'id': newItemNo}); + }; + + vm.removeFile = function (index) + { + vm.selectedCheckListAssociatedFiles.splice(index,1); + }; + + vm.closeModal = function(){ + toastService.clearToast(); + $rootScope.$emit('onChecklistUpdate'); + $uibModalInstance.close(vm.checkListName); + $uibModalInstance.close(); + }; + + + vm.submitForm = function () + { + vm.isDisabled = true; + var checklist_files = []; + switch(modal_type){ + case 'create': + angular.forEach(vm.selectedCheckListAssociatedFiles, function(val, key1) { + checklist_files.push(val.File); + }); + var jsonPost = { + "checkListAssociatedFiles": checklist_files, + "checkListName": vm.checkListName, + "checkListTemplateUuid" : vm.selectedTemplateUuid + }; + + checklistService.createChecklist(engagementUuid, jsonPost) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + $rootScope.ice.loader.show = false; + vm.closeModal(); + } + }) + .catch(function (error) { + toastService.setToast(error.message || 'Error creating check list.', 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + vm.isDisabled = false; + $log.error(error.message); + }); + break; + case 'update': + + var updated_file_list = []; + angular.forEach(vm.selectedCheckListAssociatedFiles, function(val, key1) { + updated_file_list.push(val.File); + }); + $log.debug("update", updated_file_list); + var jsonPut = { + "checklistUuid": vm.checklistUuid, + "checkListAssociatedFiles": updated_file_list, + "checkListName": vm.checkListName, + "checkListTemplateUuid" : vm.selectedTemplateUuid + }; + checklistService.putDataForChecklist(vm.checklistUuid, jsonPut) + .then(function (response) { + if (response.status === 200) { + $rootScope.$broadcast('onUpdateEngagements',{select:{uuid: engagementUuid, view_type : 'checklist', sub_id: vm.checklistUuid}}); + $rootScope.ice.loader.show = false; + + var response_data = {}; + response_data.checklist_name = vm.checkListName; + response_data.associated_files = updated_file_list; + var array1 = vm.checkListAssociatedFiles.sort(); + var array2 = updated_file_list.sort(); + + var is_same_files = (array1.length == array2.length) && array1.every(function(element, index) { + return element === array2[index]; + }); + // if file list changed reject checklist + if (!is_same_files && wizardData.state != 'pending') + { + var postData = {}; + postData["description"] = "Rejected due to file list change"; + postData["decline"] = "True"; + + checklistService.setState(vm.checklistUuid, postData) + .then(function (response) { + if (response.status === 200) { + $rootScope.$broadcast('onUpdateEngagements'); + } + else { + toastService.setToast(response.error, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + vm.isDisabled = false; + return; + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + vm.isDisabled = false; + return; + }); + } + + $uibModalInstance.close(response_data); + vm.closeModal(); + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message); + vm.isDisabled = false; + + }); + break; + default: + $log.debug('no submit action found'); + vm.isDisabled = false; + break; + } + } + } +})(); diff --git a/d2ice.att.io/app/main/modals/checklist/checklist.html b/d2ice.att.io/app/main/modals/checklist/checklist.html new file mode 100755 index 00000000..d308c9d2 --- /dev/null +++ b/d2ice.att.io/app/main/modals/checklist/checklist.html @@ -0,0 +1,107 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<ice-toast is-modal="true"></ice-toast> +<ice-loader selector=".checkList-form"></ice-loader> +<div class="modal-header checkList"> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <div class="row margin_btm"> + <h2 id="modal-header-checklist-15">{{vm.createUpadeTitle}} Checklist</h2> + </div> +</div> +<div class="modal-body checkList"> + <form name="checkListForm" ng-submit="vm.submitForm()" novalidate class="checkList-form"> + + <div class="row margin_btm" ng-show ="vm.create" id="checklist-subject"> + Use the form below to create checklist. Please do note that if a file is already associated with another checklist you will need to remove it from that checklist first to be able to associate it. + </div> + <div class="row margin_btm" ng-show ="vm.update" id="checklist-subject-update"> + Use the form below to update the checklist. Please do note that if a file is already associated with another checklist you will need to remove it from that checklist first to be able to associate it. + </div> + <div class="row margin_btm"> + <div class="col-md-8 row"> + <h3 id="checklist-name-title" class="col-md-12">Name</h3> + <div class="col-md-12"><input type="text" placeholder="Checklist Name" name="checkListName" class="form-control" ng-model="vm.checkListName" maxlength="32" ng-trim="false" ng-pattern="/^[a-zA-Z0-9\&\ ]*$/" required></div> + </div> + <div class="col-md-4 row"> + <h3 id="checklist-template-title" class="col-md-12">Checklist Template</h3> + <div class="col-md-12"> + <select id="please-select" ng-model="vm.selectedTemplateUuid" class="form-control" ng-if="vm.modalType === 'create'" required > + <option value>Please Select</option> + <option id="{{dt.name}}" ng-repeat="dt in vm.checkListTemplates" value="{{dt.uuid}}" ng-selected="{{dt.Selected == true}}"> + {{dt.name}} + </option> + </select> + </div> + <div ng-if="vm.modalType != 'create'" class="col-md-12"> + <span class="fnt"> + <input type="text" ng-model="vm.selectedTemplateName" class="form-control" disabled="true" /> + </span> + </div> + </div> + </div> + <div class="row margin_btm"> + <h3 id="associated-files-title" class="col-md-12 col-no-top">Associate Files</h3> + + <multiselect + ng-model="vm.selectedCheckListAssociatedFiles" + options="file.File for file in vm.checkListAssociatedFiles" + data-multiple="true" + scroll-after-rows="5" + filter-after-rows="5" + class = "col-md-12 checklist-modal-multi-select" + ms-header = "Select all associated files for the checklist" + ms-selected="{{vm.selectedCheckListAssociatedFiles.length > 1 ? vm.selectedCheckListAssociatedFiles.length + ' Associated files' : vm.selectedCheckListAssociatedFiles.length + ' Associated file'}} selected" + id="select-associated-files" + tabindex="-1"> + </multiselect> + </div> + <div data-ng-show="checkListForm.checkListName.$error" class="ice-form-error"> + <span ng-show="checkListForm.checkListName.$error.required && !checkListForm.checkListName.$pristine">Name is a required field.</span> + <span ng-show="checkListForm.checkListName.$error.maxlength">Provided name is too long.</span> + <span ng-show="checkListForm.checkListName.$error.pattern">Name should not include any special chars such as: ,\%_*."</span> + </div> + <div class="row margin_btm"> + <div class="col-md-12"> + <button id="btn-create-checklist" type="submit" class="btn btn-primary" data-ng-disabled="!checkListForm.$valid || vm.isDisabled">{{vm.modalTitle}} Checklist</button> + </div> + </div> + </form> +</div> + + diff --git a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js new file mode 100755 index 00000000..160b57cc --- /dev/null +++ b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js @@ -0,0 +1,105 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('stateDecisionModalController', ['$rootScope','$uibModalInstance', 'checklistService', + 'toastService', 'action', 'checklist', '$log', stateDecisionModalController]); + + function stateDecisionModalController($rootScope, $uibModalInstance, checklistService, toastService, action, + checklist, $log) { + + var vm = this; + + var init = function () { + vm.description = null; + vm.checklist_name = checklist.name; + vm.state = checklist.state; + vm.action = action; + vm.modalText = (vm.state == 'pending') ? "Are you sure you want to move the checklist state to Automation?": + "Please use the button below to either approve or reject the " + + "checklist.<br>You can also add a log entry comment."; + }; + + vm.submitForm = function(decision) { + var postData = {}; + if (vm.description != null) { + postData["description"] = vm.description; + } + else{ + postData["description"] = ''; + } + + if (decision === true) { + postData["decline"] = "False"; + } + else { + postData["decline"] = "True"; + } + + + + checklistService.setState(checklist.uuid, postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + + }; + + vm.closeModal = function () { + $uibModalInstance.close(); + }; + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html new file mode 100755 index 00000000..4db81b1f --- /dev/null +++ b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html @@ -0,0 +1,58 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> + + <form name="approveOrRejectState" id="approve-or-reject-state" novalidate> + <div class="row modal-header "> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <span class="state-title"><span class="bold">Checklist:</span> {{vm.checklist_name}}</span> + <div class = "state-title-border"></div> + </div> + <div class = "row decision-modal-body"> + <div class = "modal-title" id="modal-title">{{vm.state.replace('_',' ') | capitalize}}</div> + <div class = "decision-comment"><div ng-bind-html="vm.modalText"></div></div> + <textarea name="entry_comment"rows="3" class = "col-md-12 comment-textarea" ng-model="vm.description" ng-trim="false" ng-pattern="/^[a-zA-Z0-9\&\,\.\ "></textarea> + </div> + <div data-ng-show="approveOrRejectState.entry_comment.$error" class="ice-form-error"> + <span ng-show="approveOrRejectState.entry_comment.$error.pattern">Inserted text should not include any special chars such as: \%_*."</span> + </div> + <div class = "row modal_buttons"> + <button id="approve-state" type="submit" class="col-md-12 btn btn-gradient-success" ng-if="vm.action == 'approve'" ng-click="vm.submitForm(true)">{{vm.state == 'pending' ? 'Automate' : 'Approve'}}</button> + <button id="reject-state" type="submit" class="col-md-12 btn btn-gradient-danger" ng-if="vm.action == 'reject'" ng-click="vm.submitForm(false)">Reject</button> + </div> + </form> diff --git a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less new file mode 100755 index 00000000..08bf14e9 --- /dev/null +++ b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less @@ -0,0 +1,173 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.modal-open .modal { + z-index: 30000 !important; +} + +#approve-or-reject-state { + + .modal-title { + .a_22_m; + } + + .decision-modal-body { + margin-bottom: 8px; + margin-top: 10px; + } + + .decision-comment { + .m_14_r;; + } + + .modal_buttons { + .custom-button { + position: relative; + width: 30%; + float: left; + display: inline-block; + } + .custom-space { + position: relative; + width: 5%; + float: left; + min-height: 1px; + } + } + + .state-title .bold { + .m_18_m; + } + .state-title { + .m_18_r; + } + .state-title-border { + border-bottom: dashed 1px; + border-color: @main_color_q; + margin-left: 0px; + } + + .comment-textarea { + resize: vertical; + } + + .btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; + } + + .btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; + } + + .btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; + } + +} diff --git a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.controller.js b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.controller.js new file mode 100755 index 00000000..09773283 --- /dev/null +++ b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.controller.js @@ -0,0 +1,92 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('cmsPostModalController', ['$uibModalInstance', 'cmsService','post', '$log', cmsPostModalController]); + + function cmsPostModalController($uibModalInstance, cmsService, post, $log) { + + var vm = this; + var init = function () { + if(post) { + vm.post = post; + } else { + cmsService.getLastAnnouncementPost() + .then(function(response) { + if(response && response.data && response.data.length === 1) { + vm.post = response.data[0]; + } + }) + .catch(function(error) { + $log.error(error); + }); + } + + loadRecentPosts(); + }; + + vm.closeModal = function (bool) { + $uibModalInstance.close(bool); + }; + + vm.loadSelectedPostData = function(post) { + if(post) { + vm.post = post; + } + }; + + function loadRecentPosts() { + var limit = 5; + var fromLastDays = ""; + + cmsService.getPosts(limit, fromLastDays, ['Announcement', 'News']) + .then(function(response) { + vm.recentPosts = response.data; + }) + .catch(function(error) { + $log.error(error); + }); + } + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.html b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.html new file mode 100755 index 00000000..cd51c5e3 --- /dev/null +++ b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.html @@ -0,0 +1,55 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="toast-read-more-container"> + <div class="modal-header row"> + <span class="toast-read-more-title" id="toast-title-id">{{vm.post.title}}</span> + <p class="toast-read-more-creation ng-binding">Posted at {{vm.post.publish_date | date2: 'EEEE MMMM doo yyyy'}} by {{vm.post.user.username}}</p> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + </div> + <div class="modal-body row toast-read-more-content" id="toast-description" ng-bind-html="vm.post.content"></div> + <div class="recent-cms-posts-container row"> + <div class="line-separator col-md-12"></div> + <span class="recent-cms-posts-title">Most recent news & announcements</span> + <ul class="recent-cms-posts"> + <li class="row" data-ng-repeat="post in vm.recentPosts track by post.id" ng-class="{'selected': (post.id === vm.post.id)}" ng-click="vm.loadSelectedPostData(post)"> + <span class="col-md-7">{{post.title}}</span><span class="col-md-5 post-creation">Posted at {{post.publish_date | date2: 'EEEE MMMM doo yyyy'}} by {{post.user.username}}</span> + </li> + </ul> + </div> +</div> diff --git a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.less b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.less new file mode 100755 index 00000000..832ef012 --- /dev/null +++ b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.less @@ -0,0 +1,106 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.toast-read-more-container { + padding: 0 20px; + word-wrap: break-word; + + .recent-cms-posts-container { + .line-separator { + border-bottom: solid 1px @main_color_m; + margin: 20px 0; + } + + .recent-cms-posts-title { + .a_16_m; + + } + + ul.recent-cms-posts { + margin-top: 3px; + + li { + .f-type._16_m; + list-style: none; + position: relative; + line-height: 28px; + cursor: pointer; + + .post-creation { + .f-type._12_r; + } + + &:before { + content: ''; + display: inline-block; + position: absolute; + top: 0; + } + } + + li.selected { + background-color: @func_color_r; + } + } + } +} + +.toast-read-more-title { + .a_26_m; + line-height: 26px; +} + +.toast-read-more-creation { + display: block; +} + +.toast-read-more-content { + .m_18_r; + line-height: 20px; + padding: 10px 20px 0; +} + +.modal-cms-post-read-more { + width: 70%; + margin: 0px auto; + height: 100%; + + .modal-content { + height: 100%; + } +} diff --git a/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js b/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js new file mode 100755 index 00000000..e14a9f88 --- /dev/null +++ b/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js @@ -0,0 +1,100 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('detailedViewDtsitesModalController', ["$rootScope", "$uibModalInstance", "$stateParams", + "dtsiteService", "toastService", "vf_uuid", "$log", detailedViewDtsitesModalController]); + + function detailedViewDtsitesModalController($rootScope, $uibModalInstance, $stateParams, dtsiteService, toastService, + vf_uuid, $log) { + + var vm = this; + + var init = function () { + if($stateParams.engagement != undefined) { + vm.vf = $stateParams.engagement.vf; + } + getDTsites(); + + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.json = ''; + + vm.submitForm = function(){ + var postData={ + "name": vm.json, + "vf_uuid": vf_uuid + }; + + dtsiteService.add(postData) + .then(function (response) { + $uibModalInstance.close(response.status); + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + + var getDTsites = function() { + $rootScope.ice.loader.show = true; + dtsiteService.get() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.dtsites = response.data; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + init(); + } + +})(); diff --git a/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html b/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html new file mode 100755 index 00000000..901cd624 --- /dev/null +++ b/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html @@ -0,0 +1,62 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<form name="addDTSite" ng-submit="vm.submitForm()" novalidate class="update-progress-form"> + <div class="modal-header"> + <h3 class="modal-title" id="modal-title">Add Deployment Target</h3> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + </div> + + <div class="modal-body"> + + <div class="table-col-general flex-item"> + <select ng-model="vm.json" class="form-control" required> + <option value>Please Select</option> + <option ng-repeat="site in vm.dtsites" value="{{site.name}}"> + {{site.name}} + </option> + </select> + + </div> + <br> + </div> + + <div class="modal-footer"> + <button type="submit" id="add-dt-save-button" class="btn btn-primary" data-ng-disabled="!addDTSite.$valid">Add Deployment Target</button> + </div> +</form> diff --git a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js new file mode 100755 index 00000000..983d8d99 --- /dev/null +++ b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js @@ -0,0 +1,124 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + + 'use strict'; + + angular + .module('ice.modals') + .controller('detailedViewVFCModalController', ["$rootScope", "$uibModalInstance", "vfcService", "toastService", + "vf_uuid", "usersService", "$log", detailedViewVFCModalController]); + + function detailedViewVFCModalController($rootScope, $uibModalInstance, vfcService, toastService, vf_uuid, usersService, $log) { + + var vm = this; + + var init = function () { + vm.me = usersService.getUserData(); + + getVendors() + }; + + vm.vfcs = [{name:'',external_ref_id:'',company:''}]; + vm.companies = []; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.addNewChoice = function () { + var newItemNo = vm.vfcs.length + 1; + vm.vfcs.push({'id': newItemNo}); + }; + + vm.removeChoice = function (index) { + vm.vfcs.splice(index,1); + }; + + vm.submitForm = function(){ + var jsonAddVfc = []; + angular.forEach(vm.vfcs, function (value, key) { + vm.item = []; + var jsonItem = new Object(); + jsonItem.name = value.name; + jsonItem.external_ref_id = value.external_ref_id; + jsonItem.company = value.company; + jsonAddVfc.push(jsonItem); + }); + + var postData={ + "vfcs": jsonAddVfc, + "vf_uuid": vf_uuid, + "creator": vm.me, + }; + + vfcService.add(postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.status); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + + var getVendors = function() { + $rootScope.ice.loader.show = true; + vfcService.getCompanies() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.companies = response.data; + if(vm.companies.length === 0 ){ + console.warn("No vendors pulled, request was successfull") + } + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html new file mode 100755 index 00000000..7ac2097f --- /dev/null +++ b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html @@ -0,0 +1,100 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> + +<div class="modal-header"> + <h3 class="modal-title" id="modal-title">Add Virtual Function Components (VFCs)</h3> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> +</div> + +<div class = "modal-body"> + + <div class = "vfc-explain">Please use the from below to associate the various VFCs to the virtual function + and engagement. You can either choose a company or create a new company if it is not listed.</div> + + <form name="addVfcForm" ng-submit="vm.submitForm()"> + + + <div data-ng-repeat="vfc in vm.vfcs" class="row"> + <!--<div class="flex-container data-row">--> + <ng-form name="vfcItemForm"> + <div class="col-md-6"> + <input type="text" name="name" placeholder="Name" class="form-control" ng-model="vfc.name" ng-trim="false" ng-pattern="/^[a-zA-Z0-9\&\ \-\_]*$/" maxlength="32" required> + </div> + <div class="col-md-6 "> + <input type="text" name="extRefID" placeholder="Ext. Ref ID" class="form-control" ng-model="vfc.external_ref_id" ng-pattern="/^[a-zA-Z0-9]*$/" maxlength="20" required><br> + </div> + + + <!-- Virtual Function Component's external ref id--> + <div class="col-md-6 flex-item"> + <select ng-model="vfc.company" id="add-vfc-choose-company" class="form-control" required> + <option value>Please Select</option> + <option ng-repeat="company in vm.companies" value="{{company.name}}"> + {{company.name}} + </option> + </select> + </div> + <div class="col-md-6 flex-item"> + <input type="text" name="newCompany" placeholder="or create a new company" id="add-vfc-manually-enter-company" class="form-control" ng-model="vfc.company" maxlength="32" ng-trim="false" ng-pattern="/^[a-zA-Z0-9\&\ \-\_]*$/" required> + </div> + <div class="head flex-container"> + <div id="add-vfc-remove-obj-from-list" class="vfc-remove-button" ng-if="vm.vfcs.length > 1" ng-click='vm.removeChoice($index)'> + <div class="remove-icon" ></div> + </div> + </div> + + <div class="ice-form-error col-md-12" ng-show="(vfcItemForm.name.$error || vfcItemForm.vfc_extRefID.$error || vfcItemForm.newCompany.$error)"> + <div ng-show="(vfcItemForm.name.$error.required && !vfcItemForm.name.$pristine) || (vfcItemForm.extRefID.$error.required && !(vfcItemForm.extRefID.$pristine)) || (vfcItemForm.newCompany.$error.required && !(vfcItemForm.newCompany.$pristine))">Please make sure to type a name and Ext. Ref ID for the VFC.</div> + <div ng-show="vfcItemForm.name.$error.maxlength || vfcItemForm.extRefID.$error.maxlength || vfcItemForm.newCompany.$error.maxlength"> Name / Ext. Ref ID / new company name is too long.</div> + <div ng-show="vfcItemForm.name.$error.pattern || vfcItemForm.extRefID.$error.pattern || vfcItemForm.newCompany.$error.pattern"> Name / Ext. Ref ID / new company name should not include any special chars such as: .,\%" </div> + </div> + </ng-form> + </div> + + <div data-ng-disabled="!addVfcForm.$valid"> + <a ng-if="!vm.isModal" id="add-vfc-modal" class="modal-add-vfc" ng-click='vm.addNewChoice()'> + <span class="add-icon"></span><span class="add-text">Add VFC</span> + </a> + </div> + <div class="modal-footer"> + <button type="submit" id="add-vfc-save-button" class="btn btn-primary" data-ng-disabled="!addVfcForm.$valid">Add VFCs</button> + </div> + + </form> +</div> diff --git a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less new file mode 100755 index 00000000..5ce9098d --- /dev/null +++ b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less @@ -0,0 +1,68 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.vfc-remove-button { + width: 20px; + height: 40px; + float: right; + .a_16_m; + cursor: pointer; + margin: 14px 0 0 0; + + .remove-icon { + .sprite; + .sprite.delete-circle; + cursor: pointer; + display: block; + } +} + +.modal-add-vfc { + margin-top: 8px; + display: block; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } +} diff --git a/d2ice.att.io/app/main/modals/feedback/feedback.controller.js b/d2ice.att.io/app/main/modals/feedback/feedback.controller.js new file mode 100755 index 00000000..acee617b --- /dev/null +++ b/d2ice.att.io/app/main/modals/feedback/feedback.controller.js @@ -0,0 +1,82 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('FeedbackModalController', ['$rootScope','$uibModalInstance', 'feedbackService', + 'action', 'toastService', '$log', FeedbackModalController]); + + function FeedbackModalController($rootScope, $uibModalInstance, feedbackService, action, toastService, $log) { + var vm = this; + + var init = function() { + vm.action = action; + vm.feedback_modal_description = ''; + }; + + init(); + + vm.submitForm = function () + { + var feedbackPostData = {"description":vm.feedback_modal_description}; + if (action == 'add') { + feedbackService.add(feedbackPostData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + toastService.setToast('Feedback was sent successfully.', 'success'); + } else { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + } +})(); diff --git a/d2ice.att.io/app/main/modals/feedback/feedback.html b/d2ice.att.io/app/main/modals/feedback/feedback.html new file mode 100755 index 00000000..88912c84 --- /dev/null +++ b/d2ice.att.io/app/main/modals/feedback/feedback.html @@ -0,0 +1,57 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="modal-header"> + <h3 class="modal-title">{{ 'Add' }} Feedback</h3> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> +</div> +<div class="modal-body feedback-modal-body"> + <span>Use the form below to {{'add' }} the current feedback.</span> + <form name="feedbackForm" ng-submit="vm.submitForm()" novalidate class="feedback-modal-form"> + <textarea class="col-sm-12 col-xs-12 col-md-12 feedback-modal-description" name="description" required ng-model="vm.feedback_modal_description"></textarea> + <div class="ice-form-error" data-ng-show="feedbackForm.description.$error"> + <span ng-show="feedbackForm.description.$error.required && !feedbackForm.description.$pristine">Description is a required field.</span> + </div> + + <div class="modal-footer"> + <button type="submit" id="add-feedback-save-button" class="btn btn-primary" data-ng-disabled="!feedbackForm.$valid">{{'Add'}} feedback</button> + </div> + </form> +</div> + + diff --git a/d2ice.att.io/app/main/modals/feedback/feedback.less b/d2ice.att.io/app/main/modals/feedback/feedback.less new file mode 100755 index 00000000..5d7fd8b3 --- /dev/null +++ b/d2ice.att.io/app/main/modals/feedback/feedback.less @@ -0,0 +1,44 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.feedback-modal-body { + .feedback-modal-description { + border-color: @main_color_q; + margin-bottom:15px; + } +} diff --git a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.controller.js b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.controller.js new file mode 100755 index 00000000..98fb2c14 --- /dev/null +++ b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.controller.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('GeneralLogModalController', ['$uibModalInstance', 'modalDetails', GeneralLogModalController]); + + function GeneralLogModalController($uibModalInstance, modalDetails) { + + var vm = this; + + var init = function() { + if(modalDetails) { + vm.headline = modalDetails.headline || 'General log modal'; + vm.body = modalDetails.body || 'There is no body'; + } + }; + + init(); + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + } +})(); diff --git a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.html b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.html new file mode 100755 index 00000000..f87a8ac7 --- /dev/null +++ b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.html @@ -0,0 +1,45 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="general-log-containter"> + <div class="modal-header row general-log-subtitle"> + <span class="general-log-modal-title" id="general-log-modal-title-id">{{vm.headline}}</span> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + </div> + <pre class="modal-body row general-log-body" id="general-log-modal-body-id" ng-bind-html="vm.body"></pre> +</div> diff --git a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.less b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.less new file mode 100755 index 00000000..e48ed525 --- /dev/null +++ b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.less @@ -0,0 +1,72 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + + +.general-log-containter { + height: inherit; + padding: 0 20px 30px; + word-wrap: break-word; + + .general-log-subtitle { + padding-bottom: 10px; + } + + .general-log-body { + height: inherit; + overflow:scroll; + padding: 0px 20px 0; + .m_18_r; + line-height: 20px; + } +} + +.general-log-modal-title { + .a_26_m; + line-height: 26px; +} + +.modal-general-log-modal { + width: 70%; + margin: 0px auto; + height: 100%; + + .modal-content { + height: 100%; + } +} diff --git a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js new file mode 100755 index 00000000..f887a5ee --- /dev/null +++ b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js @@ -0,0 +1,74 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('generalPromptModalController', ['$uibModalInstance','modalDetails',generalPromptModalController]); + + function generalPromptModalController($uibModalInstance, modalDetails) { + + var vm = this; + var init = function () { + if(modalDetails) { + vm.upper_headline = modalDetails.upper_headline; + vm.upper_headline_value = modalDetails.upper_headline_value; + vm.headline = modalDetails.headline || 'D2ICE'; + vm.message = modalDetails.message || 'Are you sure?'; + vm.closeCallback = modalDetails.closeCallback; + vm.approveText = modalDetails.approve || 'Approve'; + vm.cancelText = modalDetails.cancel || 'Cancel'; + vm.is_close_modal_button = modalDetails.is_close_modal_button; + vm.is_message = modalDetails.is_message; + } + }; + + vm.closeModal = function (bool) { + if(vm.closeCallback) { + vm.closeCallback(bool); + } + + $uibModalInstance.close(bool); + }; + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.html b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.html new file mode 100755 index 00000000..3bd31887 --- /dev/null +++ b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.html @@ -0,0 +1,52 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="modal-header"> + <button ng-if=vm.is_close_modal_button type="button" ng-click="vm.closeModal()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <div ng-if=vm.upper_headline class="general-prompt-upper-dash"> + <div id="general-prompt-upper-headline" class="general-prompt-upper-headline">{{vm.upper_headline}}<span ng-if=vm.upper_headline class="upper-headline-value">{{vm.upper_headline_value}}</span></div> + </div> + <div class="general-prompt-title"><span class="bold" id="general-prompt-title">{{vm.headline}}</span></div> +</div> +<div class="modal-body row general-prompt-body"> + <div ng-if=vm.is_message class="general-prompt-text-details" ng-bind-html="vm.message"></div> + <div ng-if=!vm.is_message> </div> + <button id="general-prompt-approve-btn" type="submit" class="col-md-5 btn btn-gradient-success" ng-click="vm.closeModal(true)">{{vm.approveText}}</button> + <span class="col-md-2"></span> + <button id="general-prompt-cancel-btn" type="submit" class="col-md-5 btn btn-gradient-danger" ng-click="vm.closeModal(false)">{{vm.cancelText}}</button> +</div> diff --git a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.less b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.less new file mode 100755 index 00000000..d367cdaa --- /dev/null +++ b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.less @@ -0,0 +1,151 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.general-prompt-text-details { + .l_14_r; + padding: 3% 0% 3% 0%; +} + +.general-prompt-upper-headline { + .l_14_m; +} +.general-prompt-upper-dash { + border-bottom: dashed 1px #5a5a5a; + margin-bottom: 15px; +} +.upper-headline-value{ + .l_14_i; +} + +.general-prompt-body{ + margin: 0px; +} + +.general-prompt-title { + .m_18_r; + + .bold { + .a_18_m; + } + +} + + +.btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} + +.btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} + +.btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; +} diff --git a/d2ice.att.io/app/main/modals/next-steps/next-steps.controller.js b/d2ice.att.io/app/main/modals/next-steps/next-steps.controller.js new file mode 100755 index 00000000..b90921ff --- /dev/null +++ b/d2ice.att.io/app/main/modals/next-steps/next-steps.controller.js @@ -0,0 +1,278 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('NextStepsModalController', ['$rootScope', '$uibModalInstance', 'stepsService', 'engagement_team', + 'title', 'associated_files', 'engagement_uuid', 'checklist', 'nextstep', 'toastService', '$log', NextStepsModalController]); + + function NextStepsModalController($rootScope, $uibModalInstance, stepsService, engagement_team, title, + associated_files, engagement_uuid, checklist, nextstep, toastService, $log) { + + var vm = this; + vm.nextSteps = [{assigneesUuids: '',description: '', files: '', duedate: ''}]; + + var init = function() { + + vm.myDate = new Date(); + vm.minDate = new Date( + vm.myDate.getFullYear(), + vm.myDate.getMonth(), + vm.myDate.getDate()); + vm.maxDate = new Date( + vm.myDate.getFullYear() + 2, + vm.myDate.getMonth(), + vm.myDate.getDate()); + vm.onlyWeekendsPredicate = function (date) { + var day = date.getDay(); + return day === 0 || day === 6; + }; + + vm.wysiwyg_menu = [ + ['bold', 'italic', 'strikethrough', 'underline'], + ['unordered-list', 'ordered-list', 'outdent', 'indent'] + ]; + vm.select_str = {File: 'Select All'}; + vm.select_all_flag = false; + vm.associated_files = []; + vm.associated_files.push( vm.select_str); + vm.assigness = []; + vm.title = title; + if (checklist == undefined) + { + vm.checklist = {}; + vm.checklist.uuid = undefined; + } else { + vm.checklist = checklist; + } + + var unique_files = []; + angular.forEach(associated_files, function (value, key) { + if (unique_files.indexOf(value) == -1) { + unique_files.push(value); + vm.associated_files.push({File: value}); + } + }); + angular.forEach(engagement_team, function (value, key) { + vm.assigness.push({name: value.full_name, id: value.uuid}); + }); + vm.edit = false; + + if (nextstep != undefined) + { + vm.edit = true; + var current = {}; + current.description = nextstep.description; + current.files = []; + current.duedate = new Date(nextstep.due_date); + var unique_files = []; + angular.forEach(nextstep.files, function(val, key1) { + if (unique_files.indexOf(value) == -1) { + unique_files.push(value); + current.files.push({File: val}); + } + }); + + current.assigneesUuids = []; + angular.forEach(nextstep.assignees, function(val, key1) { + current.assigneesUuids.push({name : val.full_name, id :val.uuid}); + + }); + vm.nextSteps = [current]; + } + }; + + init(); + + vm.get_chosen_files_num = function(ns){ + if (ns.files.length == associated_files.length+1) { + return ns.files.length - 1; + } + return ns.files.length + } + + vm.add_all_associated_files = function (ns , choose_option){ + if (choose_option == true) { + ns.files = []; + ns.files.push({File: 'Select All'}); + _.forEach(associated_files, function (value, key) { + ns.files.push({File: value}); + }); + } + else { + vm.select_all_flag = false; + ns.files = []; + } + return; + } + + vm.pull_select_all_from_list = function(ns){ + var shortened_files_list = []; + _.forEach(ns.files, function(item) { + if (!_.isEqual(item, vm.select_str)) { + shortened_files_list.push(item); + } + }); + ns.files = shortened_files_list; + } + + vm.verify_files_choice = function(ns){ + _.forEach(ns.files, function(item) { + if (ns.files.length == associated_files.length && vm.select_all_flag) { + if (item === vm.select_str) { + vm.select_all_flag = false; + vm.pull_select_all_from_list(ns); + } + else { + vm.add_all_associated_files(ns, false) + } + } + else if (ns.files.length == associated_files.length && !vm.select_all_flag) { + ns.files.push({File: 'Select All'}); + vm.select_all_flag = true; + } + else if (item === vm.select_str) { + vm.select_all_flag = true; + vm.add_all_associated_files(ns, true) + } + }) + } + + vm.addNewStep = function () { + var newItemNo = vm.nextSteps.length + 1; + vm.nextSteps.push({'id': newItemNo}); + }; + + vm.removeStep = function (index) { + vm.nextSteps.splice(index,1); + }; + + vm.closeModal = function(){ + $rootScope.ice.loader.show = false; + toastService.clearToast(); + $uibModalInstance.close(); + }; + + vm.submitForm = function () { + + var jsonNextSteps = []; + + var objDate; + var strDate; + angular.forEach(vm.nextSteps, function(value, key) { + var next_step = {}; + next_step.files = []; + if (value.files.length > associated_files.length) { + vm.pull_select_all_from_list(value); + } + angular.forEach(value.files, function(val, key1) { + next_step.files.push(val.File); + }); + next_step.assigneesUuids = []; + angular.forEach(value.assigneesUuids, function(val, key1) { + next_step.assigneesUuids.push(val.id); + }); + + // TODO exho correct format in one command + objDate = new Date(Date.parse((value.duedate) + moment().format("z"))); + next_step.duedate = objDate.getFullYear() + "-" + addZero(objDate.getMonth()+1) + "-" + addZero(objDate.getDate()); + next_step.description = value.description; + jsonNextSteps.push(next_step); + }); + var checklist_uuid = vm.checklist.uuid; + var engUuid = engagement_uuid; + if (vm.edit){ + stepsService.edit(engagement_uuid, nextstep.uuid,jsonNextSteps[0]) + .then(function (response) { + if (response.status === 202) { + $uibModalInstance.close(response.data); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error adding next step!', 'danger', {displayFor: 'modal'}); + }); + } else if (vm.checklist.uuid == undefined) { + + stepsService.add(engagement_uuid, jsonNextSteps) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error adding next step!', 'danger', {displayFor: 'modal'}); + }); + } else { + stepsService.createChecklistNextStep(checklist_uuid, engUuid, jsonNextSteps) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.status); + vm.closeModal(); + } + else + { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error); + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + }; + + var addZero = function(x) + { + if (x<10) + { + return("0"+x); + } else + { + return(x); + } + } + } +})(); diff --git a/d2ice.att.io/app/main/modals/next-steps/next-steps.html b/d2ice.att.io/app/main/modals/next-steps/next-steps.html new file mode 100755 index 00000000..588247e8 --- /dev/null +++ b/d2ice.att.io/app/main/modals/next-steps/next-steps.html @@ -0,0 +1,138 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<ice-toast is-modal="true"></ice-toast> +<div class="modal-header next-steps"> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <div class="data-row-wrapper col-md-12 checklist-name" > + <span class="font_header"> + {{vm.checklist.uuid == undefined && 'Engagement' || 'Checklist' }}: + </span> + <span class="font_header_chk_name margin_btm"> + {{vm.title}} + </span> + </div> +</div> +<div class="modal-body next-steps"> + <form name="nextStepsForm" ng-submit="vm.submitForm()" novalidate class="checkList-form" style="position:relative"> + <div class="data-row-wrapper addNextSteps"> + <div class="row"> + <div class="col-md-12"> + <span class="font_header_add_next"> + <h2>{{vm.edit ? 'Edit' : 'Add'}} Next Steps</h2> + </span> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <span class="m_18_r">Use the form below to {{vm.edit ? 'edit next step' : 'add next steps'}}. You will need to specify assignees, which files it applies to and the due date.</span> + </div> + </div> + </div> + <div data-ng-repeat="nextStep in vm.nextSteps" ng-class="{lineColor: ($index % 2 != 0)}" class="data-row-wrapper repeaterNextStep"> + <div class="form-group row posRelative"> + <span class="remove-icon posAbsDelBtn" ng-if="vm.nextSteps.length > 1" ng-click='vm.removeStep($index)'></span> + <div class="col-md-12"> + <wysiwyg textarea-id="description" + textarea-class="form-control" + textarea-name="description" + name="description" + textarea-height="160px" + ng-required="true" + ng-model="nextStep.description" + class="ice-wysiwyg" + enable-bootstrap-title="true" + textarea-menu="vm.wysiwyg_menu" + required> + </wysiwyg> + </div> + <div class="col-md-12 padTop4"> + <multiselect + ng-model="nextStep.files" + options="c.File for c in vm.associated_files" + name="{{vm.associated_files}}" + data-multiple="true" + scroll-after-rows="5" + filter-after-rows="5" + ng-required='vm.checklist.uuid != undefined' + ms-selected="{{nextStep.files.length > 1 ? vm.get_chosen_files_num(nextStep) + ' files' : nextStep.files.length + ' file'}} selected" + class = "ms" + ms-header = "Select all associated files to this next step" + id="associated-files-list" + tabindex="-1" + change="vm.verify_files_choice(nextStep)" + > + </multiselect> + </div> + <div class="col-md-6 padTop10"> + <multiselect + ng-model="nextStep.assigneesUuids" + options="c.name for c in vm.assigness" + data-multiple="true" + scroll-after-rows="5" + filter-after-rows="5" + ng-required='vm.checklist.uuid != undefined' + ms-header = "Select assignees" + ms-selected="{{nextStep.assigneesUuidss.length > 1 ? nextStep.assigneesUuidss.length + ' assignees' : nextStep.assigneesUuidss.length + ' assignee'}} selected" + id="select-assigness" + tabindex="-1"> + </multiselect> + </div> + <div class="col-md-6 padTop10"> + <div flex-gt-xs> + <md-datepicker ng-model-options="{timezone: 'gmt'}" md-min-date="vm.minDate" class="btn btn-default" ng-model="nextStep.duedate" md-placeholder="Add a Due Date" data-ng-required="true" ></md-datepicker> + </div> + </div> + </div> + </div> + <div class="data-row-wrapper " ng-if="!vm.edit"> + <div class="col-md-12 padLeft0"> + <a class="add-button" ng-click='vm.addNewStep()'> + <span class="add-icon"></span> + <span class="add-text" >Add Another Next Step</span> + </a> + </div> + </div> + <div class="data-row-wrapper "> + <button type="submit" id="btn-submit" class="btn btn-primary" data-ng-disabled="!nextStepsForm.$valid">Submit Next Steps</button> + </div> + <div class="data-row-wrapper text-right font-deco" ng-click="vm.closeModal()"> + Skip for now + </div> + </form> +</div> diff --git a/d2ice.att.io/app/main/modals/next-steps/next-steps.less b/d2ice.att.io/app/main/modals/next-steps/next-steps.less new file mode 100755 index 00000000..faf3eb9e --- /dev/null +++ b/d2ice.att.io/app/main/modals/next-steps/next-steps.less @@ -0,0 +1,307 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.md-datepicker-calendar-pane { + z-index:30001; +} +md-datepicker.btn { + width:100%; + padding: 0px; + position: relative; + + .md-button.md-icon-button.md-datepicker-button { + float:left; + min-height: 0px; + height: 32px; + z-index: 2; + width: 100%; + padding: 0px; + margin: 0px; + md-icon { + display:none; + } + } + + .md-datepicker-input-container{ + + line-height: 28px; + border-bottom:none; + margin-left: 0px; + position: absolute; + left: 0px; + padding-left: 0px; + width: 100% + } + + .md-datepicker-input { + width: 100%; + text-align: left; + line-height: 32px; + padding-left: 10px; + margin: 0px; + } + .md-datepicker-input::-webkit-input-placeholder { + color: #555; + } + .md-datepicker-triangle-button { + top: 7px; + } + .md-datepicker-triangle-button .md-datepicker-expand-triangle { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + } + + .md-datepicker-triangle-button .md-datepicker-expand-triangle:before { + position: absolute; + top: -13px; + left: -3px; + display: inline-block; + border-left: 3.8px solid transparent; + border-right: 3.8px solid transparent; + border-top: 7px solid transparent; + border-bottom: 5.9px solid #555555; + content: ''; + } + + .md-datepicker-triangle-button .md-datepicker-expand-triangle:after { + position: absolute; + top: 1px; + left: -3px; + display: inline-block; + border-left: 3.8px solid transparent; + border-right: 3.8px solid transparent; + border-top: 5.9px solid #555555; + border-bottom: 7px solid transparent; + content: ''; + } + +} + +.dropdown-menu li[data-ng-if="modelValue().length > 0"] { + display:none; +} +.next-steps +{ + md-datepicker .md-datepicker-input { + text-align: center; + } + +} + +.next-steps { + + .checklist-name + { + padding-left:0px; + border-bottom:1px dashed; + } + + .addNextSteps + { + + margin-bottom:10px;margin-top:10px; + } + + .repeaterNextStep + { + + margin-bottom:10px; + padding-left:10px; + padding-right:10px; + padding-left:10px; + padding-top:10px; + padding-bottom:10px; + border:1px solid; + border-color:#CCCCCC; + } + + .padTop4 + { + padding-top:4px; + } + + .padTop10 + { + padding-top:10px; + } + + .padLeft0 + { + padding-left:0px; + } + + .add-header + { + .a_16_m; + } + + .ice-wysiwyg { + height: 200px; + .wysiwyg-menu > div { + background-color: #f1f1f1; + padding: 2px; + } + } + + .font-deco { + text-decoration-line: underline; + text-decoration-style: dashed; + } + + .text-right + { + text-align:right; + } + + .font_header + { + margin_top:0px; + .m_18_m; + } + + .font_header_add_next + { + .a_24_m; + } + + .font_header_chk_name + { + .m_18_r; + } + + .margin_btm + { + margin-bottom:12px; + } + + .ms + { + background-color:yellow; + } + + multiselect > .btn-group + { + width:100%; + } + multiselect > .btn-group > .btn + { + width:100%; + } + multiselect > .btn-group > .dropdown-menu + { + width:100%; + } + + form > .lineColor + { + background-color:#F6F3F3; + } + + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } + + .add-button { + margin-top: 8px; + display: block; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + } + + .remove-icon { + cursor: pointer; + vertical-align: text-top; + //.sprite; + //.sprite.delete;//-circle; + .actions-sprite; + .actions-sprite.delete_large; + + display:block; + position:relative; + top:11px; + } + + .posRelative + { + position:relative; + } + + .posAbsDelBtn + { + position:absolute; + top:10px; + right:20px; + z-index:40000; + } + + #btn-submit { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + + + .datepickerdemoBasicUsage { + /** Demo styles for mdCalendar. */ } + .datepickerdemoBasicUsage md-content { + padding-bottom: 200px; } + .datepickerdemoBasicUsage .validation-messages { + font-size: 12px; + color: #dd2c00; + margin-left: 15px; } + + + + +} diff --git a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.controller.js b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.controller.js new file mode 100755 index 00000000..9b73e706 --- /dev/null +++ b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.controller.js @@ -0,0 +1,78 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('selectELModalController', ['$uibModalInstance', 'excludeUuids', 'selectedOption', 'usersService', + '_', '$log', selectELModalController]); + + function selectELModalController($uibModalInstance, excludeUuids, selectedOption, usersService, _, $log) { + var vm = this; + vm.show_warning = false; + var init = function () { + usersService.getEngagementLeads() + .then(function(response) { + vm.engagementLeads = _.filter(response.data, function(el) { + return el.uuid; + }); + + vm.selectedUserUuid = _.find(vm.engagementLeads, ['uuid', selectedOption]); + }) + .catch(function(error) { + $log.error(error); + vm.closeModal(); + }); + }; + + vm.closeModal = function () { + $uibModalInstance.dismiss(); + }; + + vm.onUserSelect = function() { + if(vm.selectedUserUuid) { + $uibModalInstance.close(vm.selectedUserUuid); + } + }; + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.html b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.html new file mode 100755 index 00000000..fa285a6d --- /dev/null +++ b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.html @@ -0,0 +1,56 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="select-engagement-lead-modal"> + <div class="modal-header row"> + <button type="button" ng-click="vm.closeModal()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <div id="archive-engagement-title" class="select-engagement-lead-title"><span>Select Engagement Lead</span></div> + <span class="select-engagement-lead-description">Please select engagement lead from the list below.</span> + </div> + <div class="modal-body row"> + <div class="form-group"> + <select style="width:100%" name="selected-user" ng-model="vm.selectedUserUuid" ng-change="vm.onUserSelect()" + ng-options="el.uuid as el.full_name for el in vm.engagementLeads track by el.uuid" class="form-control"> + </select> + </div> + <div class="modal-body"> + Engagement lead cannot be both reviewer and peer reviewer.<br> + If you assign the same user to two roles, we will automatically switch the other users' role. + </div> + </div> +</div> diff --git a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.less b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.less new file mode 100755 index 00000000..6371cf7e --- /dev/null +++ b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.less @@ -0,0 +1,54 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.select-engagement-lead-modal { + padding: 0px 15px 0px 15px; + + .select-engagement-lead-title { + .a_24_m;; + } + + .select-engagement-lead-description { + .m_16_r; + } + + .modal-body { + top: 10px; + } +} + diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js new file mode 100755 index 00000000..3824870d --- /dev/null +++ b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('setEngStageModalController', ['$rootScope','$uibModalInstance','stage','eng_name','current_stage', setEngStageModalController]); + + function setEngStageModalController($rootScope, $uibModalInstance,stage, eng_name, current_stage) { + + var vm = this; + var init = function () { + vm.stage = stage; + vm.current_stage = current_stage; + vm.modalText = "Are you sure you want to set the Engagement's stage to "+vm.stage+"?"; + vm.eng_name = eng_name; + } + + vm.closeModal = function (bool) { + $uibModalInstance.close(bool); + }; + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.html b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.html new file mode 100755 index 00000000..362eb93b --- /dev/null +++ b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.html @@ -0,0 +1,49 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="modal-header row"> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <div class="set-stage-title"><span class="bold">Engagement:</span> {{vm.eng_name}}</div> +</div> +<div class="modal-body row"> + <span class="set-stage-title"><span class="bold">Current stage:</span> {{vm.current_stage.replace('_',' ') | capitalize}}</span> + <div class="set-stage-modal-text-details" id="modal-message-{{vm.stage}}" ng-bind-html="vm.modalText"></div> + <button type="submit" class="col-md-5 btn btn-gradient-success" ng-click="vm.closeModal(true)">Approve</button> + <span class="col-md-2"></span> + <button type="submit" class="col-md-5 btn btn-gradient-danger" ng-click="vm.closeModal(false)">Cancel</button> +</div> diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.less b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.less new file mode 100755 index 00000000..af7d5ba1 --- /dev/null +++ b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.less @@ -0,0 +1,135 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.set-stage-modal-text-details { + .m_18_r; + padding: 3% 0% 3% 0%; +} + +.set-stage-title { + .m_18_r; + + .bold { + .a_18_m; + } + +} + +.btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} + +.btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} + +.btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; +} diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set_eng_stage_modal.html b/d2ice.att.io/app/main/modals/set-eng-stage/set_eng_stage_modal.html new file mode 100755 index 00000000..adf81be3 --- /dev/null +++ b/d2ice.att.io/app/main/modals/set-eng-stage/set_eng_stage_modal.html @@ -0,0 +1,58 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> + +<form name="approveOrRejectStage" id="approve-or-reject-stage" novalidate> + <div class="row modal-header "> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <span class="state-title bold"><span class="bold">Engagement:</span> {{vm.engagement_name}}</span> + <div class="state-title-border"></div> + </div> + + + <div class = "row decision-modal-body"> + <div class = "modal-title">Current stage: {{vm.stage.replace('_',' ') | capitalize}}</div> + <div class = "decision-comment" id="stage-{{vm.stage}}"><div ng-bind-html="vm.modalText"></div></div> + </div> + <div class = "row modal_buttons"> + <button type="submit" class="col-md-5 btn btn-gradient-success" ng-click="vm.closeModal(true)">Approve</button> + <span class="col-md-2"></span> + <button type="submit" class="col-md-5 btn btn-gradient-danger" ng-click="vm.closeModal(false)">Reject</button> + </div> + +</form> diff --git a/d2ice.att.io/app/main/modals/status/status.controller.js b/d2ice.att.io/app/main/modals/status/status.controller.js new file mode 100755 index 00000000..9a90ec52 --- /dev/null +++ b/d2ice.att.io/app/main/modals/status/status.controller.js @@ -0,0 +1,125 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('StatusModalController', ['$rootScope', '$uibModalInstance', 'statusService', 'engagement_uuid', + 'action', 'toastService', '$log', StatusModalController]); + + function StatusModalController($rootScope, $uibModalInstance, statusService, engagement_uuid, action, toastService, $log) { + var vm = this; + + var init = function() { + vm.engagement_uuid = engagement_uuid; + vm.action = action; + if (action == 'edit') { + statusService.get(engagement_uuid) + .then(function (response) { + if (response.status === 200) + { + vm.status = response.data; + vm.status_modal_description = vm.status.description; + vm.eng_status_uuid = vm.status.uuid; + } else + { + $log.error(response); + } + }) + .catch(function (error) { + vm.status = false; + $log.error(error.message); + }); + } else { + vm.status_modal_description = ''; + } + }; + + init(); + + vm.submitForm = function () + { + var jsonPost = {"description":vm.status_modal_description}; + if (action == 'edit') { + jsonPost.eng_status_uuid = vm.eng_status_uuid; + statusService.update(vm.engagement_uuid, jsonPost) + .then(function (response) { + if (response.status === 200) + { + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else + { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } else { + statusService.add(vm.engagement_uuid, jsonPost) + .then(function (response) { + if (response.status === 200) + { + + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else + { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + } +})(); diff --git a/d2ice.att.io/app/main/modals/status/status.html b/d2ice.att.io/app/main/modals/status/status.html new file mode 100755 index 00000000..83c50d2b --- /dev/null +++ b/d2ice.att.io/app/main/modals/status/status.html @@ -0,0 +1,59 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="modal-header"> + <h3 class="modal-title" id="modal-title">{{vm.action == 'edit' && 'Current' || 'Add' }} Status</h3> + <button type="button" ng-click="vm.closeModal()" id="close-modal-button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> +</div> +<div class="modal-body status-modal-body"> + <span>Use the form below to {{vm.action == 'edit' && 'update' || 'add' }} the current status of the engagement.</span> + <form name="statusForm" ng-submit="vm.submitForm()" novalidate class="status-modal-form"> + <textarea class="col-sm-12 col-xs-12 col-md-12 status-modal-description" name="description" ng-maxlength="256" required ng-model="vm.status_modal_description" ng-pattern="/^[a-zA-Z0-9\&\,\.\ ]*$/"></textarea> + <div class="ice-form-error" data-ng-show="statusForm.description.$error"> + <span ng-show="statusForm.description.$error.required && !statusForm.description.$pristine">Description is a required field.</span> + <span ng-show="statusForm.description.$error.maxlength">Description is too long.</span> + <span ng-show="statusForm.description.$error.pattern">Description should not include any special chars such as: *^-\%_"</span> + </div> + + <div class="modal-footer"> + <button type="submit" id="add-vfc-save-button" class="btn btn-primary" data-ng-disabled="!statusForm.$valid">{{vm.action == 'edit' && 'Update current' || 'Add' }} status</button> + </div> + </form> +</div> + + diff --git a/d2ice.att.io/app/main/modals/status/status.less b/d2ice.att.io/app/main/modals/status/status.less new file mode 100755 index 00000000..ae5f7945 --- /dev/null +++ b/d2ice.att.io/app/main/modals/status/status.less @@ -0,0 +1,44 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.status-modal-body { + .status-modal-description { + border-color: @main_color_q; + margin-bottom:15px; + } +} diff --git a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js new file mode 100755 index 00000000..a300d3da --- /dev/null +++ b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js @@ -0,0 +1,78 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.modals') + .controller('ChangeLabEntryDateModalController', ["$uibModalInstance", "targetLabDate", "engagementUuid", "vfService", "$rootScope", "toastService", changeLabEntryDateModalController]); + + function changeLabEntryDateModalController($uibModalInstance, targetLabDate, engagementUuid, vfService, $rootScope, toastService) { + + var vm = this; + //vm.completionDate = new Date(completionDate); + vm.targetLabDate = targetLabDate; + vm.dateOptions = { + minDate: new Date(), + showWeeks: true + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.myDate = new Date(); + vm.minDate = moment(vm.myDate).format("YYYY-MM-DD") + vm.maxDate = moment(vm.myDate).add(2, 'years').format("YYYY-MM-DD"); + + vm.submitForm = function(){ + var postData={"target_date": moment(vm.targetLabDate).format("YYYY-MM-DD")}; + vfService.updateLabEntryDaysLeft(engagementUuid, postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(postData); + } + }) + .catch(function (error) { + toastService.setToast(error.status + ': Error changing completion date!', 'danger'); + }); + }; + } +})(); diff --git a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.html b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.html new file mode 100755 index 00000000..cfd30f79 --- /dev/null +++ b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.html @@ -0,0 +1,55 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<form name="updateTargetLabDate" ng-submit="vm.submitForm()" novalidate class="update-target-lab-form"> + <div class="modal-header"> + <h3 class="modal-title" id="modal-title">Target Lab Entry</h3> + <button type="button" ng-click="vm.closeModal()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + </div> + <div class="modal-body"> + <div class="form-group" ng-class="{ 'has-error' : updateTargetLabDate.date.$invalid && !updateTargetLabDate.date.$pristine }"> + <md-datepicker id="lab-entry-date" md-min-date="vm.minDate" ng-click="ctrl.openCalendarPane($event)" ng-model-options="{timezone: 'gmt'}" class="btn btn-default datepicker_btn edit-target-lab-date-modal" ng-model="vm.targetLabDate" md-placeholder="Choose Lab Entry Date"></md-datepicker> + <input type="hidden" id="input-lab-entry-date" value="{{vm.targetLabDate }}"/> + <span ng-show="updateTargetLabDate.date.$error.required && !updateTargetLabDate.date.$pristine">Date is required field!</span> + </div> + </div> + </div> + <div class="modal-footer"> + <button type="submit" class="btn btn-primary" data-ng-disabled="!updateTargetLabDate.$valid">Save</button> + </div> +</form> diff --git a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.less b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.less new file mode 100755 index 00000000..8aa6f3be --- /dev/null +++ b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.less @@ -0,0 +1,49 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + .edit-target-lab-date-modal { + .md-datepicker-input-container { + .md-datepicker-input { + width: 100%; + text-align: left; + line-height: 32px; + padding-left: 95px; + margin: 0px; + } + } + }
\ No newline at end of file diff --git a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js new file mode 100755 index 00000000..f9afa320 --- /dev/null +++ b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js @@ -0,0 +1,73 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('updateEngagementStatusModalController', ['$uibModalInstance', 'engagement', updateEngagementStatusModalController]); + + function updateEngagementStatusModalController($uibModalInstance, engagement) { + var vm = this; + var init = function () { + vm.engagement = engagement; + formatDates(); + }; + + vm.closeModal = function () { + $uibModalInstance.dismiss(); + }; + + vm.updateEngagement = function() { + formatDates(); + $uibModalInstance.close({"engagement": vm.engagement, "status": vm.status}); + }; + + var formatDates = function() { + if(vm.engagement.target_completion_date){ vm.engagement.target_completion_date = new Date(vm.engagement.target_completion_date); } + if(vm.engagement.heat_validated_time){ vm.engagement.heat_validated_time = new Date(vm.engagement.heat_validated_time); } + if(vm.engagement.image_scan_time){ vm.engagement.image_scan_time = new Date(vm.engagement.image_scan_time); } + if(vm.engagement.aic_instantiation_time){ vm.engagement.aic_instantiation_time = new Date(vm.engagement.aic_instantiation_time); } + if(vm.engagement.asdc_onboarding_time){ vm.engagement.asdc_onboarding_time = new Date(vm.engagement.asdc_onboarding_time); } + }; + + init(); + } +})(); diff --git a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html new file mode 100755 index 00000000..29abb24e --- /dev/null +++ b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html @@ -0,0 +1,97 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="update-engagement-status-modal"> + <div class="modal-header row"> + <button type="button" ng-click="vm.closeModal()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <div id="update-engagement-status-title" class="update-engagement-status-title"><span>Update Status</span></div> + <span class="update-engagement-status-description">Use the form below to update status details of the engagement.</span> + </div> + <div class="modal-body row"> + <form name="updateEngagementStatusForm" ng-submit="vm.updateEngagement()" novalidate="" class=""> + <div class="form-group" ng-class="{ 'has-error' : updateEngagementStatusForm.progress.$invalid && updateEngagementStatusForm.progress.$dirty }"> + <span class="form-field-title">Progress in %</span> + <input type="number" name="progress" class="form-control" ng-model="vm.engagement.progress" required="" min="0" max="100"/> + <div class="ice-form-error" data-ng-show="updateEngagementStatusForm.progress.$error"> + <span ng-show="updateEngagementStatusForm.progress.$error.required && updateEngagementStatusForm.progress.$dirty" class="help-block ng-hide" aria-hidden="true">Please enter progress</span> + </div> + </div> + <div class="form-group" ng-class="{ 'has-error' : updateEngagementStatusForm.targetCompletion.$invalid && updateEngagementStatusForm.targetCompletion.$dirty }"> + <span class="form-field-title">Target Completion Date</span> + <md-datepicker ng-click="ctrl.openCalendarPane($event)" class="btn btn-default" ng-model="vm.engagement.target_completion_date"></md-datepicker> + <input type="hidden" name="targetCompletion" class="form-control" ng-model="vm.engagement.target_completion_date" required=""/> + <div class="ice-form-error" data-ng-show="updateEngagementStatusForm.targetCompletion.$error"> + <span ng-show="updateEngagementStatusForm.targetCompletion.$error.date && updateEngagementStatusForm.targetCompletion.$dirty" class="help-block ng-hide" aria-hidden="true">Please enter target completion date</span> + </div> + </div> + <div class="panel panel-default"> + <div class="panel-heading">Validation Criteria</div> + <div class="panel-body"> + <div class="form-group"> + <span class="form-field-title">HEAT Validated</span> + <md-datepicker ng-click="ctrl.openCalendarPane($event)" class="btn btn-default" ng-model="vm.engagement.heat_validated_time"></md-datepicker> + <input type="hidden" name="heatValidated" class="form-control" ng-model="vm.engagement.heat_validated_time"/> + </div> + <div class="form-group"> + <span class="form-field-title">Image Scan</span> + <md-datepicker ng-click="ctrl.openCalendarPane($event)" class="btn btn-default" ng-model="vm.engagement.image_scan_time"></md-datepicker> + <input type="hidden" name="imageScan" class="form-control" ng-model="vm.engagement.image_scan_time"/> + </div> + <div class="form-group"> + <span class="form-field-title">AIC Instantiation</span> + <md-datepicker ng-click="ctrl.openCalendarPane($event)" class="btn btn-default" ng-model="vm.engagement.aic_instantiation_time"></md-datepicker> + <input type="hidden" name="aicInstantiation" class="form-control" ng-model="vm.engagement.aic_instantiation_time"/> + </div> + <div class="form-group"> + <span class="form-field-title">ASDC Onboarding</span> + <md-datepicker ng-click="ctrl.openCalendarPane($event)" class="btn btn-default" ng-model="vm.engagement.asdc_onboarding_time"></md-datepicker> + <input type="hidden" name="asdcOnboarding" class="form-control" ng-model="vm.engagement.asdc_onboarding_time"/> + </div> + </div> + </div> + <div class="form-group" ng-class="{ 'has-error' : updateEngagementStatusForm.status.$invalid && updateEngagementStatusForm.status.$dirty }"> + <span class="form-field-title">Status</span> + <textarea type="text" name="status" class="form-control" ng-model="vm.status" required=""></textarea> + <div class="ice-form-error" data-ng-show="updateEngagementStatusForm.status.$error"> + <span ng-show="updateEngagementStatusForm.status.$error.required && updateEngagementStatusForm.status.$dirty" class="help-block ng-hide" aria-hidden="true">Please enter status</span> + </div> + </div> + <button class="btn btn-primary col-md-12" data-ng-disabled="updateEngagementStatusForm.$invalid" type="submit">Submit</button> + </form> + </div> +</div> diff --git a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less new file mode 100755 index 00000000..8bce9da3 --- /dev/null +++ b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less @@ -0,0 +1,61 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.update-engagement-status-modal { + padding: 0px 15px 0px 15px; + + .update-engagement-status-title { + .a_24_m;; + } + + .update-engagement-status-description { + .m_16_r; + } + + .form-field-title{ + .m_16_r; + } + + .modal-body { + top: 10px; + } + + .md-datepicker-input { + max-width: none; + } +} diff --git a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js new file mode 100755 index 00000000..1370e367 --- /dev/null +++ b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js @@ -0,0 +1,202 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + + 'use strict'; + + angular + .module('ice.modals') + .controller('validationDetailsModalController', ["$rootScope", "$uibModalInstance", "vfcService", "vfService", "$stateParams", "toastService", "vf_uuid", "usersService", "$log", "_", validationDetailsModalController]); + + function validationDetailsModalController($rootScope, $uibModalInstance, vfcService,vfService, $stateParams,toastService, vf_uuid, usersService,$log,_) { + + var vm = this; + var init = function () { + if($stateParams.engagement) { + vm.engagement = $stateParams.engagement; + } + vm.me = usersService.getUserData(); + vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + + if (response.status === 200 && response.data && response.data !== '') { + var vf_data = response.data; + vm.engagement_manual_id = vf_data.engagement.engagement_manual_id; + vm.vf_name = vf_data.name; + vm.vf_uuid = vf_data.uuid; + vm.ecomp_release = vf_data.ecomp_release; + vm.target_lab = new Date(vf_data.target_lab_entry_date); + vm.dtversion = vf_data.deployment_target; + vm.selected_dt_uuid = vm.dtversion.uuid; + vm.selected_ecomp_uuid = vm.ecomp_release.uuid; + vm.me = usersService.getUserData(); + vm.name = vm.engagement.name; + vm.isEngagementEL = usersService.isEngagementEL(vf_data.engagement.engagement_team); + vm.isAdmin = usersService.isAdmin(vm.me); + vm.choices = [{TargetLab: '', TargetAic: ''}]; + getDeployTargets(); + getECOMPReleases(); + getVFVersion(); + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.addNewChoice = function () { + var newItemNo = vm.choices.length + 1; + vm.choices.push({'id': newItemNo}); + }; + + function getDeployTargets() { + vfService.getDeployTargets() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.deployTargets = response.data; + if (_.filter(vm.deployTargets, {'uuid': vm.dtversion.uuid}).length === 0) { + vm.dtversion.disabled = true; + vm.deployTargets.push(vm.dtversion); + } + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + function getECOMPReleases(){ + vfService.getECOMPReleases() + .then(function (response) { + if (response.status === 200) { + vm.ECOMPReleases = response.data; + if (_.filter(vm.ECOMPReleases, {'uuid':vm.ecomp_release.uuid}).length === 0) { + vm.ecomp_release.disabled = true; + vm.ECOMPReleases.push(vm.ecomp_release); + } + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + function getVFVersion(){ + vfService.getVFVersion(vf_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.VFVersion = response.data; + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.debug(error); + }); + } + vm.removeChoice = function (index) { + vm.choices.splice(index,1); + }; + + vm.submitForm = function(){ + var validationDetailsSelection = { + "vf_uuid": vm.vf_uuid, + "version": vm.VFVersion, + "target_aic_uuid": vm.TargetAic, + "ecomp_release": vm.ECOMPRelease + }; + + vfService.updateVfs(validationDetailsSelection,vm.vf_uuid) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.status); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + + vm.update_deployment_target = function(){ + if(vm.dtversion.uuid == vm.selected_dt_uuid){ + return + } + angular.forEach(vm.dt_AIC_versions, function (value, key) { + if (value.uuid === vm.selected_dt_uuid) { + vm.dtversion = value; + }; + }); + vfService.updateDeployTargets(vm.engagement.uuid, vm.selected_dt_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + vm.set_edit_mode('aic'); + }; + vm.update_ECOMP_release = function(){ + if( vm.ecomp_release.uuid == vm.selected_ecomp_uuid){ + return; + } + _.each(vm.ECOMPReleases, function (value, key) { + if (value.uuid === vm.selected_ecomp_uuid) { + vm.ecomp_release = value; + }; + }); + vfService.updateECOMPReleases(vm.engagement.uuid, vm.selected_ecomp_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + vm.set_edit_mode('ecomp'); + }; + + init(); + } + +})(); diff --git a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.html b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.html new file mode 100755 index 00000000..48e3fe2a --- /dev/null +++ b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.html @@ -0,0 +1,101 @@ +<!-- +============LICENSE_START========================================== +org.onap.vvp/portal +=================================================================== +Copyright © 2017 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the “License”); +you may not use this software 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. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +you may not use this documentation except in compliance with the License. +You may obtain a copy of the License at + + https:creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +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============================================ + +ECOMP is a trademark and service mark of AT&T Intellectual Property.--> +<div class="modal-header"> + <h3 class="modal-title" id="modal-title">Validation Details (ECOMP, AIC, VF Version)</h3> + <button type="button" ng-click="vm.closeModal()" + id="close-modal-button" class="close" data-dismiss="modal" + aria-label="Close"> + <span aria-hidden="true">×</span> + </button> +</div> +<div class="modal-body"> + + <form name="ValidationDetailsForm" id="validation-details-form" ng-submit="vm.submitForm()"> + + <ng-form name="vfcItemForm"> + <div class="row"> + <div class="col-md-12 field-title" id="vf-version">VF Version</div> + <div class="col-md-12"> + <input type="text" name="VFversion" id="id-vf-version" + ng-model="vm.VFVersion" maxlength="32" + class="form-control" > + </div> + <div class="ice-form-error" + data-ng-show="vfItemForm.VFVersion.$error"> + <span ng-show="vfItemForm.VFVersion.$error.pattern">VF + Version can be alphanumeric or/and Hyphen</span> + </div> + </div> + <div class="row"> + <div class="col-md-12 field-title" id="target-aic-version-headline">Target AIC Version</div> + <div class="col-md-12"> + <select id="aic-version-select" ng-model="vm.TargetAic" + class="form-control"> + <option value="" selected disabled>AIC Version</option> + <option meta-order="{{$index}}" + ng-repeat="dt in vm.deployTargets" + id="aic_select_options_{{dt.version}}" value="{{dt.uuid}}" + ng-disabled="dt.disabled">{{dt.name}} {{dt.version}} + {{dt.disabled ? "- Deprecated" : ""}}</option> + </select> + </div> + </div> + <div class="row"> + <div class="field-title col-md-12">ECOMP Release</div> + <div class="col-md-12"> + <select id="ecomp-release-select" ng-model="vm.ECOMPRelease" + class="form-control"> + <option value="" selected disabled>ECOMP Release</option> + <option meta-order="{{$index}}" + ng-repeat="dt in vm.ECOMPReleases" + id="ecomp-select-options-{{dt.name}}" value="{{dt.uuid}}" + ng-disabled="dt.disabled">{{dt.name}} {{dt.disabled ? + "- Deprecated" : ""}}</option> + </select> + </div> + </div> + </ng-form> + <div class="modal-footer"> + <button type="submit" id="edit-validation-setails-save-button" + class="btn btn-primary" data-ng-disabled="!ValidationDetailsForm.$valid">Save + Validation Details</button> + </div> + + </form> +</div> diff --git a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.less b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.less new file mode 100755 index 00000000..08fd5ea8 --- /dev/null +++ b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.less @@ -0,0 +1,49 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software 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. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// 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============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +#validation-details-form { + #edit-validation-setails-save-button { + margin-top: 15px; + } + + .field-title { + .m_16_m; + margin-bottom: 2px; + margin-top: 5px; + } +} |