1 <md-dialog class="md-phonebar-dialog" aria-label="{{vm.name}}">
2 <form name="settingsForm" class="md-inline-form" novalidate>
3 <md-toolbar class="md-accent md-hue-2">
5 class="md-toolbar-tools"
7 layout-align="space-between center"
9 <span class="title" translate="TOOLBAR.SETTINGS">Settings</span>
10 <md-button class="md-icon-button" ng-click="vm.closeDialog()">
12 md-font-icon="icon-close"
13 aria-label="Close dialog"
18 <md-dialog-content class="no-padding" ms-scroll>
19 <md-tabs md-no-pagination md-stretch-tabs="always">
20 <md-tab label="{{ 'TOOLBAR.PROFILE' | translate}}">
21 <md-content layout-padding layout="column">
23 ><span translate="TOOLBAR.FULLNAME">Fullname</span>:
24 {{vm.conf.fullname}}</span
27 ><span translate="TOOLBAR.NAME">Name</span>:
28 {{vm.conf.name}}</span
31 ><span translate="TOOLBAR.INTERNAL">Internal</span>:
32 {{vm.conf.internal}}</span
35 ><span translate="TOOLBAR.BROWSER">Browser</span>:
36 {{vm.conf.browserName}} {{vm.conf.browserVersion}}</span
39 ><span translate="TOOLBAR.OS">OS</span>: {{vm.conf.osName}}
40 {{vm.conf.osVersion}}</span
44 <md-tab label="{{ 'TOOLBAR.SERVICES' | translate}}">
45 <md-content layout-padding>
46 <md-input-container class="md-block">
47 <md-switch ng-model="vm.conf.autoAnswer" aria-label="Auto Answer">
48 <span translate="TOOLBAR.AUTOANSWER">Auto Answer</span>
49 <span>{{ vm.conf.autoAnswerDelay }} [s]</span>
54 <md-tab label="{{ 'TOOLBAR.AUDIO' | translate}}">
55 <md-content layout-padding>
56 <div class="border brad-5" layout-margin>
59 ng-if="(vm.devices | filter: { kind: 'audiooutput' }).length"
61 <label translate="TOOLBAR.RINGINGDEVICE">Ringing Device</label>
64 ng-model="vm.conf.ringingId"
68 ng-value="device.deviceId"
69 ng-repeat="device in vm.devices | filter: { kind: 'audiooutput' }"
70 >{{ device.label || ('Speaker ' + ($index + 1))
75 ng-messages="settingsForm['ringingDevice'].$error"
76 ng-show="settingsForm['ringingDevice'].$touched"
79 <div ng-message="required">
80 <span translate="TOOLBAR.ERRORS.FIELD_REQUIRED"
81 >Field is required</span
87 <div layout="row" layout-align="space-between center">
88 <md-switch ng-model="vm.conf.ringingMute" aria-label="Mute">
92 <md-slider-container flex="80">
98 ng-model="vm.conf.ringingVolume"
101 </md-slider-container>
105 <div class="border brad-5" layout-margin>
108 ng-if="(vm.devices | filter: { kind: 'audiooutput' }).length"
110 <label translate="TOOLBAR.SPEAKERDEVICE">Speaker Device</label>
113 ng-model="vm.conf.speakerId"
117 ng-value="device.deviceId"
118 ng-repeat="device in vm.devices | filter: { kind: 'audiooutput' }"
119 >{{ device.label || ('Speaker ' + ($index + 1))
124 ng-messages="settingsForm['speakerDevice'].$error"
125 ng-show="settingsForm['speakerDevice'].$touched"
128 <div ng-message="required">
129 <span translate="TOOLBAR.ERRORS.FIELD_REQUIRED"
130 >Field is required</span
134 </md-input-container>
136 <div layout="row" layout-align="space-between cetner">
137 <md-switch ng-model="vm.conf.speakerMute" aria-label="Mute">
141 <md-slider-container flex="80">
147 ng-model="vm.conf.speakerVolume"
150 </md-slider-container>
154 <div class="border brad-5" layout-margin>
157 ng-if="(vm.devices | filter: { kind: 'audioinput' }).length"
159 <label translate="TOOLBAR.MICROPHONEDEVICE"
160 >Microphone Device</label
163 name="microphoneDevice"
164 ng-model="vm.conf.microphoneId"
168 ng-value="device.deviceId"
169 ng-repeat="device in vm.devices | filter: { kind: 'audioinput' }"
170 >{{ device.label || ('Microphone ' + ($index +
175 ng-messages="settingsForm['microphoneDevice'].$error"
176 ng-show="settingsForm['microphoneDevice'].$touched"
179 <div ng-message="required">
180 <span translate="TOOLBAR.ERRORS.FIELD_REQUIRED"
181 >Field is required</span
185 </md-input-container>
187 <div layout="row" layout-align="space-between center">
188 <md-switch ng-model="vm.conf.microphoneMute" aria-label="Mute">
195 <md-tab label="{{ 'TOOLBAR.REQUIREMENTS' | translate}}">
196 <md-content layout-padding>
199 <h3 translate="TOOLBAR.LICENSE">License</h3>
202 ng-class="vm.conf.license ? 'green-fg' : 'red-fg'"
203 md-font-icon="{{vm.conf.license ? 'icon-check' : 'icon-close'}}"
207 <h3 translate="TOOLBAR.BROWSER_COMPATIBILITY">
208 Browser Compatibility
212 ng-class="vm.isCompatibleBrowser() ? 'green-fg' : 'red-fg'"
213 md-font-icon="{{vm.isCompatibleBrowser() ? 'icon-check' : 'icon-close'}}"
217 <h3 translate="TOOLBAR.HTTPS">HTTPS</h3>
220 ng-class="vm.conf.protocol === 'https' ? 'green-fg' : 'red-fg'"
221 md-font-icon="{{vm.conf.protocol === 'https' ? 'icon-check' : 'icon-close'}}"
225 <h3 translate="TOOLBAR.WEBRTCSUPPORT">WebRTC Support</h3>
228 ng-class="vm.conf.isWebRTCSupported ? 'green-fg' : 'red-fg'"
229 md-font-icon="{{vm.conf.isWebRTCSupported ? 'icon-check' : 'icon-close'}}"
233 <h3 translate="TOOLBAR.MICROPHONE">Microphone</h3>
236 ng-class="vm.conf.hasMicrophone ? 'green-fg' : 'red-fg'"
237 md-font-icon="{{vm.conf.hasMicrophone ? 'icon-check' : 'icon-close'}}"
241 <h3 translate="TOOLBAR.SPEAKER">Speaker</h3>
244 ng-class="vm.conf.hasSpeakers ? 'green-fg' : 'red-fg'"
245 md-font-icon="{{vm.conf.hasSpeakers ? 'icon-check' : 'icon-close'}}"
254 <md-dialog-actions layout="row" layout-align="space-between center">
255 <div layout="row" layout-align="start center">
258 ng-click="vm.saveSettings()"
259 class="send-button md-accent md-raised"
260 ng-disabled="settingsForm.$invalid || settingsForm.$pristine"
262 translate="TOOLBAR.SAVE"
263 translate-attr-aria-label="TOOLBAR.SAVE"