2   ============LICENSE_START==========================================
 
   4   ===================================================================
 
   5   Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 
   6   ===================================================================
 
   8   Unless otherwise specified, all software contained herein is licensed
 
   9   under the Apache License, Version 2.0 (the "License");
 
  10   you may not use this software except in compliance with the License.
 
  11   You may obtain a copy of the License at
 
  13               http://www.apache.org/licenses/LICENSE-2.0
 
  15   Unless required by applicable law or agreed to in writing, software
 
  16   distributed under the License is distributed on an "AS IS" BASIS,
 
  17   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  18   See the License for the specific language governing permissions and
 
  19   limitations under the License.
 
  21   Unless otherwise specified, all documentation contained herein is licensed
 
  22   under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 
  23   you may not use this documentation except in compliance with the License.
 
  24   You may obtain a copy of the License at
 
  26               https://creativecommons.org/licenses/by/4.0/
 
  28   Unless required by applicable law or agreed to in writing, documentation
 
  29   distributed under the License is distributed on an "AS IS" BASIS,
 
  30   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  31   See the License for the specific language governing permissions and
 
  32   limitations under the License.
 
  34   ============LICENSE_END============================================
 
  36   ECOMP is a trademark and service mark of AT&T Intellectual Property.
 
  38   <div class="functionalMenu-details-modal">
 
  40                 <div class="b2b-modal-header">
 
  41                         <h2 class="titles" id="microservice-add-details-title">{{ngDialogData.title}}</h2>
 
  43                         <div class="corner-button in">
 
  44                                 <button type="button" class="close" aria-label="Close"
 
  45                                         ng-click="$dismiss('cancel')"></button>
 
  49                 <div class="b2b-modal-body">
 
  50                     <div class="functionalMenu-properties-main" scroll-top="functionalMenuDetails.scrollApi">
 
  52                    <form name="functionalMenuForm">
 
  55                                         <div class="item-label">Parent</div>
 
  56                                         <input id="input-parent" ddh-reset class="functionalMenu-height"
 
  57                                                  ng-model="functionalMenuDetails.menuLocation"
 
  58                                                 type="text"     name="menuItem"  readonly="readonly"  />
 
  62                 <div class="item-label">Title</div>
 
  63                 <input id="input-title" ddh-reset ng-readonly="!functionalMenuDetails.formEditable ? 'checked':'' " placeholder="Enter text"class="functionalMenu-height" ng-model="functionalMenuDetails.menutitle" type="text" name="text" maxlength="100"/>
 
  64                 <div id="div-error-conflict" class="error-container" ng-show="functionalMenuDetails.conflictMessages.text">
 
  65                     <small id="msg-error-conflict" id="functionalMenuDetails-input-title-conflict" class="err-message" ng-bind="functionalMenuDetails.conflictMessages.text"></small>
 
  71                 <div class="left-item">
 
  72                    <div class="item-label">URL</div>
 
  73                     <input id="input-url" ddh-reset ng-readonly="!functionalMenuDetails.formEditable ? 'checked':'' " class="functionalMenu-height" placeholder="http://" class="input-field" ng-model="functionalMenuDetails.menuItem.menu.url" type="url" name="url"/>
 
  74                                         <div id="error-url-conflict" ng-show="functionalMenuForm.url.$error.url">
 
  75                                         <small class="err-message error-msg-txt">Not valid URL!</small>
 
  79                  <div class="right-item">
 
  80                     <div class="item-label">App</div>
 
  81                  <div class="custom-select-wraps" ng-readonly="checked">
 
  82                                                 <div id='ecomp-small-spinner' class="ecomp-small-spinner"
 
  83                                                                                         ng-if="isAllApplications"></div>
 
  84                                                 <div ng-if="!isAllApplications">
 
  86                          <div class="table-dropdown" >
 
  87                                                         <select id="select-app" b2b-dropdown placeholder-text="Select Application" ng-model="functionalMenuDetails.selectedAppIndex" ng-change="functionalMenuDetails.updateSelectedApp(functionalMenuDetails.selectedAppIndex);">
 
  88                                                 <option b2b-dropdown-list option-repeat="app in functionalMenuDetails.availableApps track by app.index" value="{{app.index}}">{{app.title}}</option>
 
  95                     <!--<span class="err-message" ng-show="functionalMenuForm.app.$dirty && functionalMenuForm.app.$error.required"> Please select App!</span>-->
 
  96                  <!--   <pre>{{functionalMenuDetails.menuItem | json}}</pre> -->
 
 100                                 ng-show="functionalMenuDetails.displayRoles==true">
 
 101                                 <div class="item-label">Roles</div>
 
 103                                         <multiple-select id="dropdown-roles" unique-data="{{$index}}"
 
 104                                                 placeholder="Select Roles"
 
 105                                                 on-change="functionalMenuDetails.preSelectedRoles.roles"
 
 106                                                 ng-model="functionalMenuDetails.availableRoles" name-attr="rolename"
 
 107                                                 value-attr="isApplied"> </multiple-select>
 
 110             <div ng-show="functionalMenuDetails.selectedApp && functionalMenuDetails.selectedApp.isDisabled" class="err-message">Application is disabled</div>
 
 117                         <div class="b2b-modal-footer">
 
 118                                  <div class="dialog-control">
 
 119         <div ng-if="ngDialogData.source!='view'">
 
 120             <span class="ecomp-save-spinner" ng-show="functionalMenuDetails.isSaving"></span>
 
 121             <span ng-if="ngDialogData.source=='edit' && functionalMenuDetails.isLeafMenuItem()">
 
 122                 <button class="btn btn-alt btn-small" id="add-menu-button-save"
 
 123                         ng-show="!functionalMenuDetails.menuItem.menu.url ||
 
 124                         !(functionalMenuDetails.selectedApp.index>0) ||
 
 125                         functionalMenuDetails.displayRoles"
 
 126                         ng-disabled="!functionalMenuForm.text.$valid"
 
 127                         ng-click="functionalMenuDetails.saveChanges()">Save</button>
 
 128                 <button class="btn btn-alt btn-small" id="add-menu-button-continue"
 
 129                         ng-show="!!functionalMenuDetails.menuItem.menu.url &&
 
 130                         functionalMenuDetails.selectedApp.index>0 &&
 
 131                         functionalMenuDetails.menutitle &&
 
 132                         !functionalMenuDetails.displayRoles"
 
 133                         ng-disabled="!functionalMenuForm.url.$valid" ng-click="functionalMenuDetails.continue()">Continue</button>
 
 135             <span ng-if="ngDialogData.source=='add' || (ngDialogData.source=='edit' && !functionalMenuDetails.isLeafMenuItem())">
 
 136                 <button id="button-save-add"
 
 137                         class="btn btn-alt btn-small" ng-show="!functionalMenuDetails.menuItem.menu.url || !(functionalMenuDetails.selectedApp.index>0)
 
 138                 || functionalMenuDetails.isRoleSelected() || !functionalMenuDetails.menutitle" ng-disabled="!functionalMenuForm.text.$valid || !functionalMenuDetails.menutitle"
 
 139                         ng-click="functionalMenuDetails.saveChanges()">Save</button>
 
 140                 <button id="button-save-continue" class="btn btn-alt btn-small" ng-show="!!functionalMenuDetails.menuItem.menu.url && functionalMenuDetails.selectedApp.index>0 && functionalMenuDetails.menutitle
 
 141                 && !functionalMenuDetails.isRoleSelected()" ng-disabled="!functionalMenuForm.url.$valid"
 
 142                         ng-click="functionalMenuDetails.continue()">Continue</button>
 
 144             <button id="button-cancel-close-dialog" class="btn btn-alt btn-small" ng-click="$dismiss('cancel')">Cancel</button>
 
 146         <div ng-if="ngDialogData.source=='view'">
 
 147             <div  id="div-close-dialog"  class="btn btn-alt btn-small" ng-click="$dismiss('cancel')">Close</div>