2   class="openchannelAccount-dialog"
 
   3   aria-label="New OpenchannelAccount"
 
   5   <form name="openchannelAccountForm" class="md-inline-form" novalidate>
 
   6     <md-toolbar class="md-accent md-hue-2">
 
   8         class="md-toolbar-tools"
 
  10         layout-align="space-between center"
 
  12         <span class="title">{{ vm.title | translate }}</span>
 
  13         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
 
  15             md-font-icon="icon-close"
 
  16             aria-label="Close dialog"
 
  22     <md-dialog-content ms-scroll>
 
  23       <div class="error-list">
 
  25           ng-repeat="error in vm.errors"
 
  28           layout-align="space-between center"
 
  31             <span class="message">{{error.message}}</span>
 
  32             <span class="type">({{error.type}})</span>
 
  34           <md-button class="md-icon-button">
 
  36               md-font-icon="icon-alert-box"
 
  37               aria-label="alert error"
 
  43       <md-input-container class="md-block">
 
  44         <label translate="OPENCHANNEL.NAME">Name</label>
 
  48           ng-model="vm.openchannelAccount.name"
 
  51           ng-disabled="!vm.newOpenchannelAccount"
 
  55           ng-messages="openchannelAccountForm['name'].$error"
 
  56           ng-show="openchannelAccountForm['name'].$touched"
 
  59           <div ng-message="required">
 
  60             <span translate="OPENCHANNEL.ERRORS.NAME_REQUIRED"
 
  61               >Name field is required</span
 
  66       <md-input-container class="md-block">
 
  67         <label translate="OPENCHANNEL.KEY">key</label>
 
  71           ng-model="vm.openchannelAccount.key"
 
  77           ng-messages="openchannelAccountForm['key'].$error"
 
  78           ng-show="openchannelAccountForm['key'].$touched"
 
  81           <div ng-message="required">
 
  82             <span translate="OPENCHANNEL.ERRORS.KEY_REQUIRED"
 
  83               >key field is required</span
 
  86           <div ng-message="md-maxlength">
 
  88               translate="OPENCHANNEL.ERRORS.KEY_MAX_LENGTH"
 
  89               translate-values="{max: 5}"
 
  90               >key must have a maximum length equal to 5</span
 
  95       <md-input-container class="md-block">
 
  96         <label translate="OPENCHANNEL.REPLYURI">replyUri</label>
 
 100           ng-model="vm.openchannelAccount.replyUri"
 
 104           <span translate="OPENCHANNEL.HELP.REPLYURI"></span>
 
 107           ng-messages="openchannelAccountForm['replyUri'].$error"
 
 108           ng-show="openchannelAccountForm['replyUri'].$touched"
 
 111           <div ng-message="required">
 
 112             <span translate="OPENCHANNEL.ERRORS.REPLYURI_REQUIRED"
 
 113               >replyUri field is required</span
 
 116           <div ng-message="url">
 
 117             <span translate="OPENCHANNEL.ERRORS.REPLYURI_MUST_VALID_URL"
 
 118               >replyUri must be a valid url http://www.xcally.com</span
 
 122       </md-input-container>
 
 123       <md-input-container class="md-block">
 
 124         <label translate="OPENCHANNEL.LIST">List</label>
 
 127           ng-model="vm.openchannelAccount.ListId"
 
 132             ng-repeat="ListId in vm.lists"
 
 133             ng-disabled="ListId.canSelect === false"
 
 134             >{{ ListId.name }}</md-option
 
 137         <div class="hint"><span translate="OPENCHANNEL.HELP.LIST"></span></div>
 
 139           ng-messages="openchannelAccountForm['ListId'].$error"
 
 140           ng-show="openchannelAccountForm['ListId'].$touched"
 
 143           <div ng-message="required">
 
 144             <span translate="OPENCHANNEL.ERRORS.LIST_REQUIRED"
 
 145               >List field is required</span
 
 149       </md-input-container>
 
 150       <md-input-container class="md-block">
 
 151         <label translate="OPENCHANNEL.DESCRIPTION">Description</label>
 
 155           ng-model="vm.openchannelAccount.description"
 
 159           ng-messages="openchannelAccountForm['description'].$error"
 
 160           ng-show="openchannelAccountForm['description'].$touched"
 
 163           <div ng-message="required">
 
 164             <span translate="OPENCHANNEL.ERRORS.DESCRIPTION_REQUIRED"
 
 165               >Description field is required</span
 
 169       </md-input-container>
 
 171       <div class="error-list">
 
 173           ng-repeat="error in vm.errors"
 
 176           layout-align="space-between center"
 
 179             <span class="message">{{error.message}}</span>
 
 180             <span class="type">({{error.type}})</span>
 
 182           <md-button class="md-icon-button">
 
 184               md-font-icon="icon-alert-box"
 
 185               aria-label="alert error"
 
 195       layout-align="space-between center"
 
 196       ng-if="!vm.crudPermissions.readOnly"
 
 198       <div layout="row" layout-align="start center">
 
 201           ng-if="vm.crudPermissions.canEdit && !vm.newOpenchannelAccount"
 
 202           ng-click="vm.saveOpenchannelAccount()"
 
 203           class="send-button md-accent md-raised"
 
 204           ng-disabled="openchannelAccountForm.$invalid || openchannelAccountForm.$pristine"
 
 206           translate="OPENCHANNEL.SAVE"
 
 207           translate-attr-aria-label="OPENCHANNEL.SAVE"
 
 214           ng-if="vm.crudPermissions.canEdit && vm.newOpenchannelAccount"
 
 215           ng-click="vm.addNewOpenchannelAccount()"
 
 216           class="send-button md-accent md-raised"
 
 217           ng-disabled="openchannelAccountForm.$invalid"
 
 219           translate="OPENCHANNEL.ADD_OPENCHANNELACCOUNT"
 
 220           translate-attr-aria-label="OPENCHANNEL.ADD_OPENCHANNELACCOUNT"
 
 222           ADD OPENCHANNELACCOUNT
 
 227           class="md-icon-button"
 
 228           ng-if="vm.crudPermissions.canDelete && !vm.newOpenchannelAccount"
 
 229           ng-click="vm.deleteOpenchannelAccount($event)"
 
 232           translate-attr-aria-label="OPENCHANNEL.DELETE"
 
 234           <md-icon md-font-icon="icon-delete"></md-icon>
 
 236             ><span translate="OPENCHANNEL.DELETE">DELETE</span></md-tooltip