1 <div id="chat-chatWebsite" class="page-layout simple tabbed" layout="column">
3 <div class="header md-accent-bg" layout="row" layout-align="start center">
4 <div class="white-fg" layout="row" layout-align="start center" flex>
6 class="goto-chatWebsites-button md-icon-button"
7 aria-label="Go to chatWebsites"
8 ng-click="vm.gotoChatWebsites()"
10 translate-attr-aria-label="CHAT.GO_TO_CHATWEBSITES"
12 <md-icon md-font-icon="icon-arrow-left"></md-icon>
15 <div layout="row" layout-align="start center">
16 <div class="chatWebsite-image" hide-xs>
17 <img ng-src="assets/images/business/chatWebsites.jpg" />
20 <div layout="column" layout-align="start start">
22 #{{vm.chatWebsite.id}}
23 <span ng-if="vm.chatWebsite.name">{{vm.chatWebsite.name}}</span>
25 <div class="subtitle secondary-text">
26 <span translate="CHAT.CREATED_AT"></span>
27 <span>{{vm.chatWebsite.createdAt | date:'medium'}}</span>
35 ng-click="vm.agentadddialog(vm.chatWebsite, $event)"
36 class="md-fab md-warn md-icon-button"
40 ><span translate="CHAT.AGENTADD_CHATWEBSITE"></span
42 <md-icon md-font-icon="icon-account-multiple-plus"></md-icon>
48 ng-click="vm.saveChatWebsite()"
49 ng-if="vm.crudPermissions.canEdit"
50 class="send-button md-accent md-raised"
51 ng-disabled="(generalForm.$invalid) || (notificationForm.$invalid) || (transferForm.$invalid) || (scriptForm.$invalid) || (intervalForm.$invalid) || (dispositionForm.$invalid) || (appearanceForm.$invalid) || (onlinestatusForm.$invalid) || (offlinestatusForm.$invalid) || (closingformForm.$invalid) || (unmanagedstatusForm.$invalid) || (interactionForm.$invalid) || (whitelabelForm.$invalid) || (logoForm.$invalid) || (agentAvatarForm.$invalid) || (customerAvatarForm.$invalid) || (systemAvatarForm.$invalid) || (chatFormOnlineForm.$invalid) || (chatFormOfflineForm.$invalid) || (proactiveForm.$invalid) || (chatDispositionsForm.$invalid) || (chatCannedAnswersForm.$invalid) || (vidaooForm.$invalid) || (actionsForm.$invalid) || (interactionsForm.$invalid) || (offlineMessagesForm.$invalid)"
53 translate-attr-aria-label="CHAT.SAVE"
64 md-selected="vm.selectedTab"
65 md-stretch-tabs="always"
72 <span translate="CHAT.SETTINGS">SETTINGS</span>
76 class="chatWebsite-detail-form-container general md-background-bg md-whiteframe-1dp"
78 <div class="pb-16" layout="row" layout-align="start center">
79 <div class="h2 secondary-text" translate="CHAT.GENERAL">
83 <form name="generalForm" novalidate>
84 <md-input-container class="md-block">
85 <label translate="CHAT.NAME">Name</label>
89 ng-model="vm.chatWebsite.name"
96 ng-messages="generalForm['name'].$error"
97 ng-show="generalForm['name'].$touched"
100 <div ng-message="required">
101 <span translate="CHAT.ERRORS.NAME_REQUIRED"
102 >Name field is required</span
106 </md-input-container>
107 <md-input-container class="md-block">
108 <label translate="CHAT.KEY">key</label>
112 ng-model="vm.chatWebsite.key"
115 ng-disabled="!vm.crudPermissions.canEdit"
119 ng-messages="generalForm['key'].$error"
120 ng-show="generalForm['key'].$touched"
123 <div ng-message="required">
124 <span translate="CHAT.ERRORS.KEY_REQUIRED"
125 >key field is required</span
128 <div ng-message="md-maxlength">
130 translate="CHAT.ERRORS.KEY_MAX_LENGTH"
131 translate-values="{max: 5}"
132 >key must have a maximum length equal to 5</span
136 </md-input-container>
137 <md-input-container class="md-block">
138 <label translate="CHAT.MOTIONADDRESS">MotionAddress</label>
142 ng-model="vm.chatWebsite.address"
145 ng-disabled="!vm.crudPermissions.canEdit"
149 ng-messages="generalForm['address'].$error"
150 ng-show="generalForm['address'].$touched"
153 <div ng-message="required">
154 <span translate="CHAT.ERRORS.MOTIONADDRESS_REQUIRED"
155 >MotionAddress field is required</span
158 <div ng-message="url">
159 <span translate="CHAT.ERRORS.MOTIONADDRESS_MUST_VALID_URL"
160 >MotionAddress must be a valid url
161 http://www.xcally.com</span
164 <div ng-message="md-maxlength">
166 translate="CHAT.ERRORS.MOTIONADDRESS_MAX_LENGTH"
167 translate-values="{max: 255}"
168 >MotionAddress must have a maximum length equal to
173 </md-input-container>
174 <md-input-container class="md-block">
175 <label translate="CHAT.LIST">List</label>
178 ng-model="vm.chatWebsite.ListId"
180 ng-disabled="!vm.crudPermissions.canEdit"
184 ng-repeat="ListId in vm.lists"
185 ng-disabled="ListId.canSelect === false"
186 >{{ ListId.name }}</md-option
189 <div class="hint"><span translate="CHAT.HELP.LIST"></span></div>
191 ng-messages="generalForm['ListId'].$error"
192 ng-show="generalForm['ListId'].$touched"
195 <div ng-message="required">
196 <span translate="CHAT.ERRORS.LIST_REQUIRED"
197 >List field is required</span
201 </md-input-container>
203 ng-if="vm.chatWebsite.fidelity"
206 <label translate="CHAT.TIMEOUT">Timeout</label>
210 ng-model="vm.chatWebsite.timeout"
212 ng-disabled="!vm.crudPermissions.canEdit"
216 ng-messages="generalForm['timeout'].$error"
217 ng-show="generalForm['timeout'].$touched"
220 <div ng-message="required">
221 <span translate="CHAT.ERRORS.TIMEOUT_REQUIRED"
222 >Timeout field is required</span
226 </md-input-container>
227 <md-input-container class="md-block">
228 <label translate="CHAT.WAITFORTHEASSIGNEDAGENT"
229 >WaitForTheAssignedAgent</label
233 name="waitForTheAssignedAgent"
234 ng-model="vm.chatWebsite.waitForTheAssignedAgent"
239 ng-disabled="!vm.crudPermissions.canEdit"
243 ng-messages="generalForm['waitForTheAssignedAgent'].$error"
244 ng-show="generalForm['waitForTheAssignedAgent'].$touched"
247 <div ng-message="required">
249 translate="CHAT.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
250 >WaitForTheAssignedAgent field is required</span
253 <div ng-message="min">
255 translate="CHAT.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
256 >WaitForTheAssignedAgent must be a valid greater or equal
261 <div ng-message="max">
263 translate="CHAT.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
264 >WaitForTheAssignedAgent must be a valid greater or equal
270 </md-input-container>
271 <md-input-container class="md-block">
272 <label translate="CHAT.DESCRIPTION">Description</label>
276 ng-model="vm.chatWebsite.description"
277 ng-disabled="!vm.crudPermissions.canEdit"
281 ng-messages="generalForm['description'].$error"
282 ng-show="generalForm['description'].$touched"
285 <div ng-message="required">
286 <span translate="CHAT.ERRORS.DESCRIPTION_REQUIRED"
287 >Description field is required</span
291 </md-input-container>
295 class="chatWebsite-detail-form-container notification md-background-bg md-whiteframe-1dp"
297 <div class="pb-16" layout="row" layout-align="start center">
298 <div class="h2 secondary-text" translate="CHAT.NOTIFICATION">
302 <form name="notificationForm" novalidate>
303 <md-input-container class="md-block">
305 ng-model="vm.chatWebsite.notificationSound"
306 aria-label="notificationSound"
307 ng-disabled="!vm.crudPermissions.canEdit"
308 ><span translate="CHAT.NOTIFICATIONSOUND"
309 >notificationSound</span
312 </md-input-container>
313 <md-input-container class="md-block">
315 ng-model="vm.chatWebsite.notificationShake"
316 aria-label="notificationShake"
317 ng-disabled="!vm.crudPermissions.canEdit"
318 ><span translate="CHAT.NOTIFICATIONSHAKE"
319 >notificationShake</span
322 </md-input-container>
323 <div class="md-block">
325 class="md-caption grey-fg"
326 translate="CHAT.NOTIFICATIONTEMPLATE"
327 >notificationTemplate</label
330 aria-label="notificationTemplate notificationTemplate"
331 ckeditor="{ skin: 'office2013', language: 'en', allowedContent: true, extraPlugins: 'font,colorbutton,autoembed,autocorrect,googlethisterm,pastebase64', toolbarGroups: [{ name: 'styles', groups: ['styles'] }, { name: 'clipboard', groups: ['undo'] }, { name: 'colors', groups: ['colors'] }, { name: 'basicstyles', groups: ['basicstyles'] }, { name: 'paragraph', groups: ['list', 'indent', 'align'] }, { name: 'mode' }], autocorrect_enabled: true, disableNativeSpellChecker: false, fontSize_sizes: '8/8pt;9/9pt;10/10pt;11/11pt;12/12pt;14/14pt;16/16pt;18/18pt;20/20pt;22/22pt;24/24pt;26/26pt;28/28pt;36/36pt;48/48pt;72/72pt', removePlugins: 'magicline' }"
332 ng-model="vm.chatWebsite.notificationTemplate"
338 class="chatWebsite-detail-form-container transfer md-background-bg md-whiteframe-1dp"
340 <div class="pb-16" layout="row" layout-align="start center">
341 <div class="h2 secondary-text" translate="CHAT.TRANSFER">
345 <form name="transferForm" novalidate>
346 <md-input-container class="md-block">
348 ng-model="vm.chatWebsite.queueTransfer"
349 aria-label="queueTransfer"
350 ng-disabled="!vm.crudPermissions.canEdit"
351 ><span translate="CHAT.QUEUETRANSFER"
355 </md-input-container>
357 ng-if="vm.chatWebsite.queueTransfer == true"
360 <label translate="CHAT.QUEUETRANSFERTIMEOUT"
361 >queueTransferTimeout</label
365 name="queueTransferTimeout"
366 ng-model="vm.chatWebsite.queueTransferTimeout"
371 ng-disabled="!vm.crudPermissions.canEdit"
375 ng-messages="transferForm['queueTransferTimeout'].$error"
376 ng-show="transferForm['queueTransferTimeout'].$touched"
379 <div ng-message="required">
380 <span translate="CHAT.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
381 >queueTransferTimeout field is required</span
384 <div ng-message="min">
386 translate="CHAT.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
387 >queueTransferTimeout must be a valid greater or equal
392 <div ng-message="max">
394 translate="CHAT.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
395 >queueTransferTimeout must be a valid greater or equal
401 </md-input-container>
402 <md-input-container class="md-block">
404 ng-model="vm.chatWebsite.agentTransfer"
405 aria-label="agentTransfer"
406 ng-disabled="!vm.crudPermissions.canEdit"
407 ><span translate="CHAT.AGENTTRANSFER"
411 </md-input-container>
413 ng-if="vm.chatWebsite.agentTransfer == true"
416 <label translate="CHAT.AGENTTRANSFERTIMEOUT"
417 >agentTransferTimeout</label
421 name="agentTransferTimeout"
422 ng-model="vm.chatWebsite.agentTransferTimeout"
427 ng-disabled="!vm.crudPermissions.canEdit"
431 ng-messages="transferForm['agentTransferTimeout'].$error"
432 ng-show="transferForm['agentTransferTimeout'].$touched"
435 <div ng-message="required">
436 <span translate="CHAT.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
437 >agentTransferTimeout field is required</span
440 <div ng-message="min">
442 translate="CHAT.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
443 >agentTransferTimeout must be a valid greater or equal
448 <div ng-message="max">
450 translate="CHAT.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
451 >agentTransferTimeout must be a valid greater or equal
457 </md-input-container>
464 <span translate="CHAT.ADVANCED">ADVANCED</span>
468 class="chatWebsite-detail-form-container script md-background-bg md-whiteframe-1dp"
471 ng-controller="ChatWebsiteScriptController as vm_ac"
472 ng-init="vm_ac.init(vm.chatWebsite)"
476 <div class="pb-16" layout="row" layout-align="start center">
477 <div class="h2 secondary-text" translate="CHAT.SCRIPT">
482 <form name="scriptForm" flex="100" novalidate>
483 <md-input-container class="md-block">
484 <label translate="CHAT.TOKEN">Token</label>
488 ng-model="vm_ac.chatWebsite.token"
492 </md-input-container>
493 <md-input-container class="md-block">
494 <label translate="CHAT.MOTIONPROXY">MotionProxy</label>
498 ng-model="vm_ac.chatWebsite.remote"
502 <span translate="CHAT.HELP.MOTIONPROXY"></span>
505 ng-messages="scriptForm['remote'].$error"
506 ng-show="scriptForm['remote'].$touched"
509 <div ng-message="required">
510 <span translate="CHAT.ERRORS.MOTIONPROXY_REQUIRED"
511 >Motion Proxy field is required</span
514 <div ng-message="url">
515 <span translate="CHAT.ERRORS.MOTIONPROXY_MUST_VALID_URL"
516 >Motion Proxy must be a valid url e.g.:
517 http://www.xcally.com</span
521 </md-input-container>
522 <md-input-container class="md-block">
523 <label translate="CHAT.WEBSITESCRIPT">WebsiteScript</label>
525 <pre style="font-size: 13px">
526 {{vm_ac.start}} {{vm_ac.script}} {{vm_ac.end}}
531 <span translate="CHAT.HELP.COPYSCRIPTTOCLIPBOARD"></span>
533 </md-input-container>
538 class="chatWebsite-detail-form-container interval md-background-bg md-whiteframe-1dp"
540 <div class="pb-16" layout="row" layout-align="start center">
541 <div class="h2 secondary-text" translate="CHAT.INTERVAL">
545 <form name="intervalForm" novalidate>
546 <md-input-container class="md-block">
547 <label translate="CHAT.INTERVAL">Interval</label>
550 ng-model="vm.chatWebsite.IntervalId"
552 ng-disabled="!vm.crudPermissions.canEdit"
554 <md-option ng-value="null">Always</md-option>
556 ng-value="IntervalId.id"
557 ng-repeat="IntervalId in vm.interval"
558 ng-disabled="IntervalId.canSelect === false"
559 >{{ IntervalId.name }}</md-option
563 ng-messages="intervalForm['IntervalId'].$error"
564 ng-show="intervalForm['IntervalId'].$touched"
567 <div ng-message="required">
568 <span translate="CHAT.ERRORS.INTERVAL_REQUIRED"
569 >Interval field is required</span
573 </md-input-container>
574 <md-input-container class="md-block">
575 <label translate="CHAT.TIMEZONE">Timezone</label>
578 ng-model="vm.chatWebsite.timezone"
579 ng-disabled="!vm.crudPermissions.canEdit"
582 <span translate="CHAT.HELP.TIMEZONE"></span>
585 ng-messages="intervalForm['timezone'].$error"
586 ng-show="intervalForm[timezone].$touched"
589 <div ng-message="required">
590 <span translate="CHAT.ERRORS.TIMEZONE_REQUIRED"
591 >Timezone field is required</span
595 </md-input-container>
599 class="chatWebsite-detail-form-container disposition md-background-bg md-whiteframe-1dp"
601 <div class="pb-16" layout="row" layout-align="start center">
602 <div class="h2 secondary-text" translate="CHAT.DISPOSITION">
606 <form name="dispositionForm" novalidate>
607 <md-input-container class="md-block">
609 ng-model="vm.chatWebsite.mandatoryDisposition"
610 aria-label="MandatoryDisposition"
611 ng-disabled="!vm.crudPermissions.canEdit"
612 ><span translate="CHAT.MANDATORYDISPOSITION"
613 >MandatoryDisposition</span
616 </md-input-container>
618 ng-if="vm.chatWebsite.mandatoryDisposition"
621 <label translate="CHAT.MANDATORYDISPOSITIONPAUSEID"
622 >MandatoryDispositionPauseId</label
625 name="mandatoryDispositionPauseId"
626 ng-model="vm.chatWebsite.mandatoryDispositionPauseId"
628 ng-disabled="!vm.crudPermissions.canEdit"
631 ng-value="mandatoryDispositionPauseId.id"
632 ng-repeat="mandatoryDispositionPauseId in vm.pauses"
633 ng-disabled="mandatoryDispositionPauseId.canSelect === false"
634 >{{ mandatoryDispositionPauseId.name }}</md-option
639 translate="CHAT.HELP.MANDATORYDISPOSITIONPAUSEID"
643 ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
644 ng-show="dispositionForm['mandatoryDispositionPauseId'].$touched"
647 <div ng-message="required">
649 translate="CHAT.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
650 >MandatoryDispositionPauseId field is required</span
654 </md-input-container>
661 <span translate="CHAT.SNIPPET">SNIPPET</span>
665 class="chatWebsite-detail-form-container appearance md-background-bg md-whiteframe-1dp"
667 <div class="pb-16" layout="row" layout-align="start center">
668 <div class="h2 secondary-text" translate="CHAT.APPEARANCE">
672 <form name="appearanceForm" novalidate>
676 ng-model="vm.chatWebsite.color"
677 label="{{'CHAT.MAINCOLOR' | translate}}"
681 md-color-history="false"
682 md-color-material-palette="false"
683 md-color-alpha-channel="false"
689 ng-model="vm.chatWebsite.color_button"
690 label="{{'CHAT.BUTTONCOLOR' | translate}}"
694 md-color-history="false"
695 md-color-material-palette="false"
696 md-color-alpha-channel="false"
702 ng-model="vm.chatWebsite.textColor"
703 label="{{'CHAT.TEXTCOLOR' | translate}}"
707 md-color-history="false"
708 md-color-material-palette="false"
709 md-color-alpha-channel="false"
715 ng-model="vm.chatWebsite.backgroundColor"
716 label="{{'CHAT.BACKGROUNDCOLOR' | translate}}"
720 md-color-history="false"
721 md-color-material-palette="false"
722 md-color-alpha-channel="false"
725 <md-input-container class="md-block">
726 <label translate="CHAT.FONTSIZE">fontSize</label>
730 ng-model="vm.chatWebsite.fontSize"
733 ng-disabled="!vm.crudPermissions.canEdit"
737 ng-messages="appearanceForm['fontSize'].$error"
738 ng-show="appearanceForm['fontSize'].$touched"
741 <div ng-message="required">
742 <span translate="CHAT.ERRORS.FONTSIZE_REQUIRED"
743 >fontSize field is required</span
746 <div ng-message="min">
748 translate="CHAT.ERRORS.FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
749 >fontSize must be a valid greater or equal than</span
754 </md-input-container>
755 <md-input-container class="md-block">
756 <label translate="CHAT.HEADERSHAPE">headershape</label>
759 ng-model="vm.chatWebsite.header_shape"
760 ng-disabled="!vm.crudPermissions.canEdit"
762 <md-option ng-value="'rounded'">
763 {{ 'CHAT.ROUNDED' | translate }}
766 <md-option ng-value="'squared'">
767 {{ 'CHAT.SQUARED' | translate }}
771 ng-messages="appearanceForm['header_shape'].$error"
772 ng-show="appearanceForm['header_shape'].$touched"
775 <div ng-message="required">
776 <span translate="CHAT.ERRORS.HEADERSHAPE_REQUIRED"
777 >headershape field is required</span
781 </md-input-container>
782 <md-input-container class="md-block">
784 ng-model="vm.chatWebsite.showAgentAvatar"
785 aria-label="ShowAgentAvatar"
786 ng-disabled="!vm.crudPermissions.canEdit"
787 ><span translate="CHAT.SHOWAGENTAVATAR"
788 >ShowAgentAvatar</span
791 </md-input-container>
792 <md-input-container class="md-block">
794 ng-model="vm.chatWebsite.showCustomerAvatar"
795 aria-label="showCustomerAvatar"
796 ng-disabled="!vm.crudPermissions.canEdit"
797 ><span translate="CHAT.SHOWCUSTOMERAVATAR"
798 >showCustomerAvatar</span
801 </md-input-container>
802 <md-input-container class="md-block">
803 <label translate="CHAT.SNIPPETSWIPEOUT">snippetSwipeOut</label>
806 ng-model="vm.chatWebsite.alignment"
807 ng-disabled="!vm.crudPermissions.canEdit"
809 <md-option ng-value="'bottom_right'">
810 {{ 'CHAT.BOTTOM_RIGHT' | translate }}
813 <md-option ng-value="'right'">
814 {{ 'CHAT.RIGHT' | translate }}
817 <md-option ng-value="'left'">
818 {{ 'CHAT.LEFT' | translate }}
822 ng-messages="appearanceForm['alignment'].$error"
823 ng-show="appearanceForm['alignment'].$touched"
826 <div ng-message="required">
827 <span translate="CHAT.ERRORS.SNIPPETSWIPEOUT_REQUIRED"
828 >snippetSwipeOut field is required</span
832 </md-input-container>
834 ng-if="vm.chatWebsite.alignment !== 'bottom_right'"
837 <label translate="CHAT.VERTICALPOSITION"
838 >verticalPosition</label
842 name="verticalAlignment"
843 ng-model="vm.chatWebsite.verticalAlignment"
848 ng-disabled="!vm.crudPermissions.canEdit"
852 <span translate="CHAT.HELP.VERTICALPOSITION"></span>
855 ng-messages="appearanceForm['verticalAlignment'].$error"
856 ng-show="appearanceForm['verticalAlignment'].$touched"
859 <div ng-message="required">
860 <span translate="CHAT.ERRORS.VERTICALPOSITION_REQUIRED"
861 >verticalPosition field is required</span
864 <div ng-message="min">
866 translate="CHAT.ERRORS.VERTICALPOSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
867 >verticalPosition must be a valid greater or equal
872 <div ng-message="max">
874 translate="CHAT.ERRORS.VERTICALPOSITION_MUST_BE_LESS_THAN_OR_EQUAL_TO"
875 >verticalPosition must be a valid greater or equal
881 </md-input-container>
882 <md-input-container class="md-block">
883 <label translate="CHAT.MESSAGESALIGNMENT"
884 >messagesAlignment</label
887 name="messagesAlignment"
888 ng-model="vm.chatWebsite.messagesAlignment"
889 ng-disabled="!vm.crudPermissions.canEdit"
891 <md-option ng-value="'alternate'">
892 {{ 'CHAT.ALTERNATE' | translate }}
895 <md-option ng-value="'centered'">
896 {{ 'CHAT.CENTERED' | translate }}
900 ng-messages="appearanceForm['messagesAlignment'].$error"
901 ng-show="appearanceForm['messagesAlignment'].$touched"
904 <div ng-message="required">
905 <span translate="CHAT.ERRORS.MESSAGESALIGNMENT_REQUIRED"
906 >messagesAlignment field is required</span
910 </md-input-container>
911 <md-input-container class="md-block">
912 <label translate="CHAT.DEFAULTTITLE">defaultTitle</label>
916 ng-model="vm.chatWebsite.defaultTitle"
918 ng-disabled="!vm.crudPermissions.canEdit"
922 ng-messages="appearanceForm['defaultTitle'].$error"
923 ng-show="appearanceForm['defaultTitle'].$touched"
926 <div ng-message="required">
927 <span translate="CHAT.ERRORS.DEFAULTTITLE_REQUIRED"
928 >defaultTitle field is required</span
931 <div ng-message="md-maxlength">
933 translate="CHAT.ERRORS.DEFAULTTITLE_MAX_LENGTH"
934 translate-values="{max: 255}"
935 >defaultTitle must have a maximum length equal to
940 </md-input-container>
944 class="chatWebsite-detail-form-container onlinestatus md-background-bg md-whiteframe-1dp"
946 <div class="pb-16" layout="row" layout-align="start center">
947 <div class="h2 secondary-text" translate="CHAT.ONLINESTATUS">
951 <form name="onlinestatusForm" novalidate>
952 <md-input-container class="md-block">
953 <label translate="CHAT.HEADER_ONLINE">header_online</label>
957 ng-model="vm.chatWebsite.header_online"
960 ng-disabled="!vm.crudPermissions.canEdit"
964 ng-messages="onlinestatusForm['header_online'].$error"
965 ng-show="onlinestatusForm['header_online'].$touched"
968 <div ng-message="required">
969 <span translate="CHAT.ERRORS.HEADER_ONLINE_REQUIRED"
970 >header_online field is required</span
973 <div ng-message="md-maxlength">
975 translate="CHAT.ERRORS.HEADER_ONLINE_MAX_LENGTH"
976 translate-values="{max: 255}"
977 >header_online must have a maximum length equal to
982 </md-input-container>
983 <md-input-container class="md-block">
984 <label translate="CHAT.START_CHAT_BUTTON"
985 >start_chat_button</label
989 name="start_chat_button"
990 ng-model="vm.chatWebsite.start_chat_button"
992 ng-disabled="!vm.crudPermissions.canEdit"
996 ng-messages="onlinestatusForm['start_chat_button'].$error"
997 ng-show="onlinestatusForm['start_chat_button'].$touched"
1000 <div ng-message="required">
1001 <span translate="CHAT.ERRORS.START_CHAT_BUTTON_REQUIRED"
1002 >start_chat_button field is required</span
1005 <div ng-message="md-maxlength">
1007 translate="CHAT.ERRORS.START_CHAT_BUTTON_MAX_LENGTH"
1008 translate-values="{max: 255}"
1009 >start_chat_button must have a maximum length equal to
1014 </md-input-container>
1018 class="chatWebsite-detail-form-container offlinestatus md-background-bg md-whiteframe-1dp"
1020 <div class="pb-16" layout="row" layout-align="start center">
1021 <div class="h2 secondary-text" translate="CHAT.OFFLINESTATUS">
1025 <form name="offlinestatusForm" novalidate>
1026 <md-input-container class="md-block">
1028 ng-model="vm.chatWebsite.hideWhenOffline"
1029 aria-label="hideWhenOffline"
1030 ng-disabled="!vm.crudPermissions.canEdit"
1031 ><span translate="CHAT.HIDEWHENOFFLINE"
1032 >hideWhenOffline</span
1037 <span translate="CHAT.HELP.HIDEWHENOFFLINE"></span>
1039 </md-input-container>
1040 <md-input-container class="md-block">
1041 <label translate="CHAT.HEADER_OFFLINE">header_offline</label>
1044 name="header_offline"
1045 ng-model="vm.chatWebsite.header_offline"
1047 ng-disabled="!vm.crudPermissions.canEdit"
1051 ng-messages="offlinestatusForm['header_offline'].$error"
1052 ng-show="offlinestatusForm['header_offline'].$touched"
1055 <div ng-message="required">
1056 <span translate="CHAT.ERRORS.HEADER_OFFLINE_REQUIRED"
1057 >header_offline field is required</span
1060 <div ng-message="md-maxlength">
1062 translate="CHAT.ERRORS.HEADER_OFFLINE_MAX_LENGTH"
1063 translate-values="{max: 255}"
1064 >header_offline must have a maximum length equal to
1069 </md-input-container>
1070 <md-input-container class="md-block">
1071 <label translate="CHAT.OFFLINE_CHAT_BUTTON"
1072 >offline_chat_button</label
1076 name="offline_chat_button"
1077 ng-model="vm.chatWebsite.offline_chat_button"
1079 ng-disabled="!vm.crudPermissions.canEdit"
1083 ng-messages="offlinestatusForm['offline_chat_button'].$error"
1084 ng-show="offlinestatusForm['offline_chat_button'].$touched"
1087 <div ng-message="required">
1088 <span translate="CHAT.ERRORS.OFFLINE_CHAT_BUTTON_REQUIRED"
1089 >offline_chat_button field is required</span
1092 <div ng-message="md-maxlength">
1094 translate="CHAT.ERRORS.OFFLINE_CHAT_BUTTON_MAX_LENGTH"
1095 translate-values="{max: 255}"
1096 >offline_chat_button must have a maximum length equal to
1101 </md-input-container>
1102 <md-input-container class="md-block">
1103 <label translate="CHAT.OFFLINEMESSAGESUBJECT"
1104 >offlineMessageSubject</label
1108 name="offlineMessageSubject"
1109 ng-model="vm.chatWebsite.offlineMessageSubject"
1111 ng-disabled="!vm.crudPermissions.canEdit"
1115 ng-messages="offlinestatusForm['offlineMessageSubject'].$error"
1116 ng-show="offlinestatusForm['offlineMessageSubject'].$touched"
1119 <div ng-message="required">
1120 <span translate="CHAT.ERRORS.OFFLINEMESSAGESUBJECT_REQUIRED"
1121 >offlineMessageSubject field is required</span
1124 <div ng-message="md-maxlength">
1126 translate="CHAT.ERRORS.OFFLINEMESSAGESUBJECT_MAX_LENGTH"
1127 translate-values="{max: 255}"
1128 >offlineMessageSubject must have a maximum length equal to
1133 </md-input-container>
1134 <md-input-container class="md-block">
1135 <label translate="CHAT.OFFLINEMESSAGEBODY"
1136 >offlineMessageBody</label
1140 name="offlineMessageBody"
1141 ng-model="vm.chatWebsite.offlineMessageBody"
1143 ng-disabled="!vm.crudPermissions.canEdit"
1147 ng-messages="offlinestatusForm['offlineMessageBody'].$error"
1148 ng-show="offlinestatusForm['offlineMessageBody'].$touched"
1151 <div ng-message="required">
1152 <span translate="CHAT.ERRORS.OFFLINEMESSAGEBODY_REQUIRED"
1153 >offlineMessageBody field is required</span
1156 <div ng-message="md-maxlength">
1158 translate="CHAT.ERRORS.OFFLINEMESSAGEBODY_MAX_LENGTH"
1159 translate-values="{max: 255}"
1160 >offlineMessageBody must have a maximum length equal to
1165 </md-input-container>
1169 class="chatWebsite-detail-form-container closingform md-background-bg md-whiteframe-1dp"
1171 <div class="pb-16" layout="row" layout-align="start center">
1172 <div class="h2 secondary-text" translate="CHAT.CLOSINGFORM">
1176 <form name="closingformForm" novalidate>
1177 <md-input-container class="md-block">
1178 <label translate="CHAT.CLOSINGMESSAGE">closingMessage</label>
1180 name="closingMessage"
1181 ng-model="vm.chatWebsite.closingMessage"
1188 ng-messages="closingformForm['closingMessage'].$error"
1189 ng-show="closingformForm['closingMessage'].$touched"
1192 <div ng-message="required">
1193 <span translate="CHAT.ERRORS.CLOSINGMESSAGE_REQUIRED"
1194 >closingMessage field is required</span
1198 <div ng-message="md-maxlength">
1200 translate="CHAT.ERRORS.CLOSINGMESSAGE_MAX_LENGTH"
1201 translate-values="{max: 255}"
1202 >closingMessage must have a maximum length equal to
1207 </md-input-container>
1208 <md-input-container class="md-block">
1209 <label translate="CHAT.SKIPMESSAGEBUTTON"
1210 >skipMessageButton</label
1214 name="skipMessageButton"
1215 ng-model="vm.chatWebsite.skipMessageButton"
1217 ng-disabled="!vm.crudPermissions.canEdit"
1221 ng-messages="closingformForm['skipMessageButton'].$error"
1222 ng-show="closingformForm['skipMessageButton'].$touched"
1225 <div ng-message="required">
1226 <span translate="CHAT.ERRORS.SKIPMESSAGEBUTTON_REQUIRED"
1227 >skipMessageButton field is required</span
1230 <div ng-message="md-maxlength">
1232 translate="CHAT.ERRORS.SKIPMESSAGEBUTTON_MAX_LENGTH"
1233 translate-values="{max: 255}"
1234 >skipMessageButton must have a maximum length equal to
1239 </md-input-container>
1240 <md-input-container class="md-block">
1242 ng-model="vm.chatWebsite.enableRating"
1243 aria-label="enableRating"
1244 ng-disabled="!vm.crudPermissions.canEdit"
1245 ><span translate="CHAT.ENABLERATING"
1249 </md-input-container>
1251 ng-if="vm.chatWebsite.enableRating"
1254 <label translate="CHAT.RATINGTYPE">ratingType</label>
1257 ng-model="vm.chatWebsite.ratingType"
1258 ng-disabled="!vm.crudPermissions.canEdit"
1260 <md-option ng-value="'star'">Star</md-option>
1261 <md-option ng-value="'thumb'">Thumb</md-option>
1264 ng-messages="closingformForm['ratingType'].$error"
1265 ng-show="closingformForm['ratingType'].$touched"
1268 <div ng-message="required">
1269 <span translate="CHAT.ERRORS.RATINGTYPE_REQUIRED"
1270 >ratingType field is required</span
1274 </md-input-container>
1276 ng-if="vm.chatWebsite.enableRating && vm.chatWebsite.ratingType === 'star'"
1279 <label translate="CHAT.RATINGSTARSNUMBER"
1280 >ratingStarsNumber</label
1284 name="ratingStarsNumber"
1285 ng-model="vm.chatWebsite.ratingStarsNumber"
1289 ng-disabled="!vm.crudPermissions.canEdit"
1293 ng-messages="closingformForm['ratingStarsNumber'].$error"
1294 ng-show="closingformForm['ratingStarsNumber'].$touched"
1297 <div ng-message="required">
1298 <span translate="CHAT.ERRORS.RATINGSTARSNUMBER_REQUIRED"
1299 >ratingStarsNumber field is required</span
1302 <div ng-message="min">
1304 translate="CHAT.ERRORS.RATINGSTARSNUMBER_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
1305 >ratingStarsNumber must be a valid greater or equal
1310 <div ng-message="max">
1312 translate="CHAT.ERRORS.RATINGSTARSNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO"
1313 >ratingStarsNumber must be a valid greater or equal
1319 </md-input-container>
1320 <md-input-container class="md-block">
1322 ng-model="vm.chatWebsite.enableFeedback"
1323 aria-label="enableFeedback"
1324 ng-disabled="!vm.crudPermissions.canEdit"
1325 ><span translate="CHAT.ENABLEFEEDBACK"
1326 >enableFeedback</span
1329 </md-input-container>
1331 ng-if="vm.chatWebsite.enableFeedback"
1334 <label translate="CHAT.FEEDBACKTITLE">feedbackTitle</label>
1337 name="feedbackTitle"
1338 ng-model="vm.chatWebsite.feedbackTitle"
1340 ng-disabled="!vm.crudPermissions.canEdit"
1344 ng-messages="closingformForm['feedbackTitle'].$error"
1345 ng-show="closingformForm['feedbackTitle'].$touched"
1348 <div ng-message="required">
1349 <span translate="CHAT.ERRORS.FEEDBACKTITLE_REQUIRED"
1350 >feedbackTitle field is required</span
1353 <div ng-message="md-maxlength">
1355 translate="CHAT.ERRORS.FEEDBACKTITLE_MAX_LENGTH"
1356 translate-values="{max: 255}"
1357 >feedbackTitle must have a maximum length equal to
1362 </md-input-container>
1363 <md-input-container class="md-block">
1365 ng-model="vm.chatWebsite.forwardTranscript"
1366 aria-label="forwardTranscript"
1367 ng-disabled="!vm.crudPermissions.canEdit"
1368 ><span translate="CHAT.FORWARDTRANSCRIPT"
1369 >forwardTranscript</span
1372 </md-input-container>
1374 ng-if="vm.chatWebsite.forwardTranscript"
1377 <label translate="CHAT.FORWARDTRANSCRIPTMESSAGE"
1378 >forwardTranscriptMessage</label
1382 name="forwardTranscriptMessage"
1383 ng-model="vm.chatWebsite.forwardTranscriptMessage"
1385 ng-disabled="!vm.crudPermissions.canEdit"
1389 ng-messages="closingformForm['forwardTranscriptMessage'].$error"
1390 ng-show="closingformForm['forwardTranscriptMessage'].$touched"
1393 <div ng-message="required">
1395 translate="CHAT.ERRORS.FORWARDTRANSCRIPTMESSAGE_REQUIRED"
1396 >forwardTranscriptMessage field is required</span
1399 <div ng-message="md-maxlength">
1401 translate="CHAT.ERRORS.FORWARDTRANSCRIPTMESSAGE_MAX_LENGTH"
1402 translate-values="{max: 255}"
1403 >forwardTranscriptMessage must have a maximum length equal
1408 </md-input-container>
1409 <md-input-container class="md-block">
1410 <label translate="CHAT.CLOSINGMESSAGEBUTTON"
1411 >closingMessageButton</label
1415 name="closingMessageButton"
1416 ng-model="vm.chatWebsite.closingMessageButton"
1419 ng-disabled="!vm.crudPermissions.canEdit"
1423 ng-messages="closingformForm['closingMessageButton'].$error"
1424 ng-show="closingformForm['closingMessageButton'].$touched"
1427 <div ng-message="required">
1428 <span translate="CHAT.ERRORS.CLOSINGMESSAGEBUTTON_REQUIRED"
1429 >closingMessageButton field is required</span
1432 <div ng-message="md-maxlength">
1434 translate="CHAT.ERRORS.CLOSINGMESSAGEBUTTON_MAX_LENGTH"
1435 translate-values="{max: 255}"
1436 >closingMessageButton must have a maximum length equal to
1441 </md-input-container>
1445 class="chatWebsite-detail-form-container unmanagedstatus md-background-bg md-whiteframe-1dp"
1447 <div class="pb-16" layout="row" layout-align="start center">
1448 <div class="h2 secondary-text" translate="CHAT.UNMANAGEDSTATUS">
1452 <form name="unmanagedstatusForm" novalidate>
1453 <md-input-container class="md-block">
1455 ng-model="vm.chatWebsite.autoclose"
1456 aria-label="autoclose"
1457 ng-disabled="!vm.crudPermissions.canEdit"
1458 ><span translate="CHAT.AUTOCLOSE">autoclose</span></md-switch
1460 </md-input-container>
1461 <md-input-container class="md-block">
1463 ng-model="vm.chatWebsite.enableUnmanagedNote"
1464 aria-label="enableUnmanagedNote"
1465 ng-disabled="!vm.crudPermissions.canEdit"
1466 ><span translate="CHAT.ENABLEUNMANAGEDNOTE"
1467 >enableUnmanagedNote</span
1470 </md-input-container>
1471 <md-input-container class="md-block">
1472 <label translate="CHAT.UNMANAGEDMESSAGE"
1473 >unmanagedMessage</label
1477 name="unmanagedMessage"
1478 ng-model="vm.chatWebsite.unmanagedMessage"
1480 ng-disabled="!vm.crudPermissions.canEdit"
1484 ng-messages="unmanagedstatusForm['unmanagedMessage'].$error"
1485 ng-show="unmanagedstatusForm['unmanagedMessage'].$touched"
1488 <div ng-message="required">
1489 <span translate="CHAT.ERRORS.UNMANAGEDMESSAGE_REQUIRED"
1490 >unmanagedMessage field is required</span
1493 <div ng-message="md-maxlength">
1495 translate="CHAT.ERRORS.UNMANAGEDMESSAGE_MAX_LENGTH"
1496 translate-values="{max: 255}"
1497 >unmanagedMessage must have a maximum length equal to
1502 </md-input-container>
1503 <md-input-container class="md-block">
1504 <label translate="CHAT.SKIPUNMANAGED">skipUnmanaged</label>
1507 name="skipUnmanaged"
1508 ng-model="vm.chatWebsite.skipUnmanaged"
1510 ng-disabled="!vm.crudPermissions.canEdit"
1514 ng-messages="unmanagedstatusForm['skipUnmanaged'].$error"
1515 ng-show="unmanagedstatusForm['skipUnmanaged'].$touched"
1518 <div ng-message="required">
1519 <span translate="CHAT.ERRORS.SKIPUNMANAGED_REQUIRED"
1520 >skipUnmanaged field is required</span
1523 <div ng-message="md-maxlength">
1525 translate="CHAT.ERRORS.SKIPUNMANAGED_MAX_LENGTH"
1526 translate-values="{max: 255}"
1527 >skipUnmanaged must have a maximum length equal to
1532 </md-input-container>
1534 ng-if="vm.chatWebsite.enableUnmanagedNote"
1537 <label translate="CHAT.SENDUNMANAGED">sendUnmanaged</label>
1540 name="sendUnmanaged"
1541 ng-model="vm.chatWebsite.sendUnmanaged"
1544 ng-disabled="!vm.crudPermissions.canEdit"
1548 ng-messages="unmanagedstatusForm['sendUnmanaged'].$error"
1549 ng-show="unmanagedstatusForm['sendUnmanaged'].$touched"
1552 <div ng-message="required">
1553 <span translate="CHAT.ERRORS.SENDUNMANAGED_REQUIRED"
1554 >sendUnmanaged field is required</span
1557 <div ng-message="md-maxlength">
1559 translate="CHAT.ERRORS.SENDUNMANAGED_MAX_LENGTH"
1560 translate-values="{max: 255}"
1561 >sendUnmanaged must have a maximum length equal to
1566 </md-input-container>
1568 ng-if="vm.chatWebsite.enableUnmanagedNote"
1571 <label translate="CHAT.NOTETITLE">noteTitle</label>
1575 ng-model="vm.chatWebsite.noteTitle"
1577 ng-disabled="!vm.crudPermissions.canEdit"
1581 ng-messages="unmanagedstatusForm['noteTitle'].$error"
1582 ng-show="unmanagedstatusForm['noteTitle'].$touched"
1585 <div ng-message="required">
1586 <span translate="CHAT.ERRORS.NOTETITLE_REQUIRED"
1587 >noteTitle field is required</span
1590 <div ng-message="md-maxlength">
1592 translate="CHAT.ERRORS.NOTETITLE_MAX_LENGTH"
1593 translate-values="{max: 255}"
1594 >noteTitle must have a maximum length equal to 255</span
1598 </md-input-container>
1602 class="chatWebsite-detail-form-container interaction md-background-bg md-whiteframe-1dp"
1604 <div class="pb-16" layout="row" layout-align="start center">
1605 <div class="h2 secondary-text" translate="CHAT.INTERACTION">
1609 <form name="interactionForm" novalidate>
1610 <md-input-container class="md-block">
1611 <label translate="CHAT.AGENTIDENTIFIER">agentIdentifier</label>
1613 name="agentIdentifier"
1614 ng-model="vm.chatWebsite.agentIdentifier"
1616 ng-disabled="!vm.crudPermissions.canEdit"
1618 <md-option ng-value="'website_alias'">
1619 {{ 'CHAT.WEBSITEALIAS' | translate }}
1622 <md-option ng-value="'agent_alias'">
1623 {{ 'CHAT.AGENTALIAS' | translate }}
1626 <md-option ng-value="'agent_fullname'">
1627 {{ 'CHAT.AGENTFULLNAME' | translate }}
1631 <span translate="CHAT.HELP.AGENTIDENTIFIER"></span>
1634 ng-messages="interactionForm['agentIdentifier'].$error"
1635 ng-show="interactionForm['agentIdentifier'].$touched"
1638 <div ng-message="required">
1639 <span translate="CHAT.ERRORS.AGENTIDENTIFIER_REQUIRED"
1640 >agentIdentifier field is required</span
1644 </md-input-container>
1645 <md-input-container class="md-block">
1646 <label translate="CHAT.CUSTOMERALIAS">customerAlias</label>
1649 name="customerAlias"
1650 ng-model="vm.chatWebsite.customerAlias"
1653 ng-disabled="!vm.crudPermissions.canEdit"
1657 ng-messages="interactionForm['customerAlias'].$error"
1658 ng-show="interactionForm['customerAlias'].$touched"
1661 <div ng-message="required">
1662 <span translate="CHAT.ERRORS.CUSTOMERALIAS_REQUIRED"
1663 >customerAlias field is required</span
1666 <div ng-message="md-maxlength">
1668 translate="CHAT.ERRORS.CUSTOMERALIAS_MAX_LENGTH"
1669 translate-values="{max: 255}"
1670 >customerAlias must have a maximum length equal to
1675 </md-input-container>
1676 <md-input-container class="md-block">
1677 <label translate="CHAT.MESSAGEFONTSIZE">messageFontSize</label>
1680 name="messageFontSize"
1681 ng-model="vm.chatWebsite.messageFontSize"
1685 ng-disabled="!vm.crudPermissions.canEdit"
1689 ng-messages="interactionForm['messageFontSize'].$error"
1690 ng-show="interactionForm['messageFontSize'].$touched"
1693 <div ng-message="required">
1694 <span translate="CHAT.ERRORS.MESSAGEFONTSIZE_REQUIRED"
1695 >messageFontSize field is required</span
1698 <div ng-message="min">
1700 translate="CHAT.ERRORS.MESSAGEFONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
1701 >messageFontSize must be a valid greater or equal
1706 <div ng-message="max">
1708 translate="CHAT.ERRORS.MESSAGEFONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO"
1709 >messageFontSize must be a valid greater or equal
1715 </md-input-container>
1717 ng-if="vm.chatWebsite.agentIdentifier === 'website_alias'"
1720 <label translate="CHAT.WEBSITEALIAS">WebsiteAlias</label>
1724 ng-model="vm.chatWebsite.agentAlias"
1727 ng-disabled="!vm.crudPermissions.canEdit"
1731 <span translate="CHAT.HELP.WEBSITEALIAS"></span>
1734 ng-messages="interactionForm['agentAlias'].$error"
1735 ng-show="interactionForm['agentAlias'].$touched"
1738 <div ng-message="required">
1739 <span translate="CHAT.ERRORS.WEBSITEALIAS_REQUIRED"
1740 >WebsiteAlias field is required</span
1743 <div ng-message="md-maxlength">
1745 translate="CHAT.ERRORS.WEBSITEALIAS_MAX_LENGTH"
1746 translate-values="{max: 255}"
1747 >WebsiteAlias must have a maximum length equal to
1752 </md-input-container>
1753 <md-input-container class="md-block">
1754 <label translate="CHAT.CLOSINGQUESTION">closingQuestion</label>
1757 name="closingQuestion"
1758 ng-model="vm.chatWebsite.closingQuestion"
1760 ng-disabled="!vm.crudPermissions.canEdit"
1764 ng-messages="interactionForm['closingQuestion'].$error"
1765 ng-show="interactionForm['closingQuestion'].$touched"
1768 <div ng-message="required">
1769 <span translate="CHAT.ERRORS.CLOSINGQUESTION_REQUIRED"
1770 >closingQuestion field is required</span
1773 <div ng-message="md-maxlength">
1775 translate="CHAT.ERRORS.CLOSINGQUESTION_MAX_LENGTH"
1776 translate-values="{max: 255}"
1777 >closingQuestion must have a maximum length equal to
1782 </md-input-container>
1783 <md-input-container class="md-block">
1784 <label translate="CHAT.FORMSUBMITSUCCESSMESSAGE"
1785 >formSubmitSuccessMessage</label
1789 name="formSubmitSuccessMessage"
1790 ng-model="vm.chatWebsite.formSubmitSuccessMessage"
1792 ng-disabled="!vm.crudPermissions.canEdit"
1796 ng-messages="interactionForm['formSubmitSuccessMessage'].$error"
1797 ng-show="interactionForm['formSubmitSuccessMessage'].$touched"
1800 <div ng-message="required">
1802 translate="CHAT.ERRORS.FORMSUBMITSUCCESSMESSAGE_REQUIRED"
1803 >formSubmitSuccessMessage field is required</span
1806 <div ng-message="md-maxlength">
1808 translate="CHAT.ERRORS.FORMSUBMITSUCCESSMESSAGE_MAX_LENGTH"
1809 translate-values="{max: 255}"
1810 >formSubmitSuccessMessage must have a maximum length equal
1815 </md-input-container>
1816 <md-input-container class="md-block">
1817 <label translate="CHAT.FORMSUBMITFAILUREMESSAGE"
1818 >formSubmitFailureMessage</label
1822 name="formSubmitFailureMessage"
1823 ng-model="vm.chatWebsite.formSubmitFailureMessage"
1825 ng-disabled="!vm.crudPermissions.canEdit"
1829 ng-messages="interactionForm['formSubmitFailureMessage'].$error"
1830 ng-show="interactionForm['formSubmitFailureMessage'].$touched"
1833 <div ng-message="required">
1835 translate="CHAT.ERRORS.FORMSUBMITFAILUREMESSAGE_REQUIRED"
1836 >formSubmitFailureMessage field is required</span
1839 <div ng-message="md-maxlength">
1841 translate="CHAT.ERRORS.FORMSUBMITFAILUREMESSAGE_MAX_LENGTH"
1842 translate-values="{max: 255}"
1843 >formSubmitFailureMessage must have a maximum length equal
1848 </md-input-container>
1849 <md-input-container class="md-block">
1851 ng-model="vm.chatWebsite.enableCustomerWriting"
1852 aria-label="enableCustomerWriting"
1853 ng-disabled="!vm.crudPermissions.canEdit"
1854 ><span translate="CHAT.ENABLECUSTOMERWRITING"
1855 >enableCustomerWriting</span
1858 </md-input-container>
1860 ng-if="!vm.chatWebsite.enableCustomerWriting"
1863 <label translate="CHAT.WAITINGTITLE">waitingTitle</label>
1867 ng-model="vm.chatWebsite.waitingTitle"
1870 ng-disabled="!vm.crudPermissions.canEdit"
1874 ng-messages="interactionForm['waitingTitle'].$error"
1875 ng-show="interactionForm['waitingTitle'].$touched"
1878 <div ng-message="required">
1879 <span translate="CHAT.ERRORS.WAITINGTITLE_REQUIRED"
1880 >waitingTitle field is required</span
1883 <div ng-message="md-maxlength">
1885 translate="CHAT.ERRORS.WAITINGTITLE_MAX_LENGTH"
1886 translate-values="{max: 255}"
1887 >waitingTitle must have a maximum length equal to
1892 </md-input-container>
1894 ng-if="!vm.chatWebsite.enableCustomerWriting"
1897 <label translate="CHAT.WAITINGMESSAGE">waitingMessage</label>
1899 name="waitingMessage"
1900 ng-model="vm.chatWebsite.waitingMessage"
1906 ng-messages="interactionForm['waitingMessage'].$error"
1907 ng-show="interactionForm['waitingMessage'].$touched"
1910 <div ng-message="required">
1911 <span translate="CHAT.ERRORS.WAITINGMESSAGE_REQUIRED"
1912 >waitingMessage field is required</span
1916 <div ng-message="md-maxlength">
1918 translate="CHAT.ERRORS.WAITINGMESSAGE_MAX_LENGTH"
1919 translate-values="{max: 255}"
1920 >waitingMessage must have a maximum length equal to
1925 </md-input-container>
1926 <md-input-container class="md-block">
1927 <label translate="CHAT.PLACEHOLDERMESSAGE"
1928 >placeholderMessage</label
1932 name="placeholderMessage"
1933 ng-model="vm.chatWebsite.placeholderMessage"
1935 ng-disabled="!vm.crudPermissions.canEdit"
1939 ng-messages="interactionForm['placeholderMessage'].$error"
1940 ng-show="interactionForm['placeholderMessage'].$touched"
1943 <div ng-message="required">
1944 <span translate="CHAT.ERRORS.PLACEHOLDERMESSAGE_REQUIRED"
1945 >placeholderMessage field is required</span
1948 <div ng-message="md-maxlength">
1950 translate="CHAT.ERRORS.PLACEHOLDERMESSAGE_MAX_LENGTH"
1951 translate-values="{max: 255}"
1952 >placeholderMessage must have a maximum length equal to
1957 </md-input-container>
1958 <md-input-container class="md-block">
1960 ng-model="vm.chatWebsite.download_transcript"
1961 aria-label="downloadTranscript"
1962 ng-disabled="!vm.crudPermissions.canEdit"
1963 ><span translate="CHAT.DOWNLOADTRANSCRIPT"
1964 >downloadTranscript</span
1967 </md-input-container>
1968 <md-input-container class="md-block">
1970 ng-model="vm.chatWebsite.enableCustomerAttachment"
1971 aria-label="enableCustomerAttachment"
1972 ng-disabled="!vm.crudPermissions.canEdit"
1973 ><span translate="CHAT.ENABLECUSTOMERATTACHMENT"
1974 >enableCustomerAttachment</span
1977 </md-input-container>
1978 <md-input-container class="md-block">
1980 ng-model="vm.chatWebsite.enableSendButton"
1981 aria-label="enableSendButton"
1982 ng-disabled="!vm.crudPermissions.canEdit"
1983 ><span translate="CHAT.ENABLESENDBUTTON"
1984 >enableSendButton</span
1987 </md-input-container>
1988 <md-input-container class="md-block">
1990 ng-model="vm.chatWebsite.enableCustomerCheckmarks"
1991 aria-label="enableCustomerCheckmarks"
1992 ng-disabled="!vm.crudPermissions.canEdit"
1993 ><span translate="CHAT.ENABLECUSTOMERCHECKMARKS"
1994 >enableCustomerCheckmarks</span
1997 </md-input-container>
1998 <md-input-container class="md-block">
1999 <label translate="CHAT.SYSTEMALIAS">systemAlias</label>
2003 ng-model="vm.chatWebsite.systemAlias"
2006 ng-disabled="!vm.crudPermissions.canEdit"
2010 ng-messages="interactionForm['systemAlias'].$error"
2011 ng-show="interactionForm['systemAlias'].$touched"
2014 <div ng-message="required">
2015 <span translate="CHAT.ERRORS.SYSTEMALIAS_REQUIRED"
2016 >systemAlias field is required</span
2019 <div ng-message="md-maxlength">
2021 translate="CHAT.ERRORS.SYSTEMALIAS_MAX_LENGTH"
2022 translate-values="{max: 255}"
2023 >systemAlias must have a maximum length equal to 255</span
2027 </md-input-container>
2031 ng-if="vm.license.custom"
2032 class="chatWebsite-detail-form-container whitelabel md-background-bg md-whiteframe-1dp"
2034 <div class="pb-16" layout="row" layout-align="start center">
2035 <div class="h2 secondary-text" translate="CHAT.WHITELABEL">
2039 <form name="whitelabelForm" novalidate>
2040 <md-input-container class="md-block">
2042 ng-model="vm.chatWebsite.defaultWhiteLabel"
2043 aria-label="default"
2044 ng-disabled="!vm.crudPermissions.canEdit"
2045 ><span translate="CHAT.DEFAULT">default</span></md-switch
2047 </md-input-container>
2049 ng-if="!vm.chatWebsite.defaultWhiteLabel"
2052 <label translate="CHAT.WHITELABEL">whiteLabel</label>
2055 ng-model="vm.chatWebsite.whiteLabel"
2061 ng-messages="whitelabelForm['whiteLabel'].$error"
2062 ng-show="whitelabelForm['whiteLabel'].$touched"
2065 <div ng-message="required">
2066 <span translate="CHAT.ERRORS.WHITELABEL_REQUIRED"
2067 >whiteLabel field is required</span
2071 <div ng-message="md-maxlength">
2073 translate="CHAT.ERRORS.WHITELABEL_MAX_LENGTH"
2074 translate-values="{max: 255}"
2075 >whiteLabel must have a maximum length equal to 255</span
2079 </md-input-container>
2083 ng-if="vm.license.custom"
2084 class="chatWebsite-detail-form-container logo md-background-bg md-whiteframe-1dp"
2086 <div class="pb-16" layout="row" layout-align="start center">
2087 <div class="h2 secondary-text" translate="CHAT.LOGO">LOGO</div>
2090 ng-controller="ChatWebsitelogoController as vm_ca"
2091 ng-init="vm_ca.init(vm.chatWebsite, vm.crudPermissions)"
2092 class="chatWebsite-detail-form-container md-background-bg md-whiteframe-1dp"
2095 id="chatWebsite-image-uploader"
2096 flow-init="vm_ca.ngFlowOptions"
2097 flow-name="vm_ca.ngFlow.flow"
2098 flow-files-submitted="vm_ca.upload()"
2099 flow-file-added="vm_ca.fileAdded($file)"
2100 flow-file-success="vm_ca.fileSuccess($file, $message)"
2101 flow-complete="vm_ca.uploadComplete()"
2103 flow-drag-enter="vm_ca.dropping=true"
2104 flow-drag-leave="vm_ca.dropping=false"
2105 ng-class="{'dropping':vm.dropping}"
2108 class="drop-text hint-text"
2110 layout-align="center center"
2112 <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
2116 class="upload-button"
2118 layout-align="center center"
2121 class="md-accent md-raised"
2123 ng-disabled="!vm_ca.crudPermissions.canEdit"
2127 <span class="secondary-text mt-8"
2128 >You can also drop images here to upload. Only PNG, JPG -
2133 <div layout="row" layout-align="start start" layout-wrap>
2135 ng-repeat="logoimage in vm_ca.chatWebsite.images"
2136 ng-switch="logoimage.type"
2139 class="chatWebsite-image uploading"
2140 ng-switch-when="uploading"
2142 layout-align="center center"
2147 layout-align="center center"
2150 md-mode="determinate"
2151 value="{{logoimage.file.progress() * 100}}"
2153 </md-progress-linear>
2155 <img class="media" flow-img="logoimage.file" />
2159 class="chatWebsite-image"
2160 ng-switch-when="image"
2162 layout-align="center center"
2164 <img class="media" ng-src="{{logoimage.url}}" />
2172 class="chatWebsite-detail-form-container agentavatar md-background-bg md-whiteframe-1dp"
2174 <div class="pb-16" layout="row" layout-align="start center">
2175 <div class="h2 secondary-text" translate="CHAT.AGENTAVATAR">
2180 ng-controller="ChatWebsiteagentAvatarController as vm_ca"
2181 ng-init="vm_ca.init(vm.chatWebsite, vm.crudPermissions)"
2182 class="chatWebsite-detail-form-container md-background-bg md-whiteframe-1dp"
2185 id="chatWebsite-image-uploader"
2186 flow-init="vm_ca.ngFlowOptions"
2187 flow-name="vm_ca.ngFlow.flow"
2188 flow-files-submitted="vm_ca.upload()"
2189 flow-file-added="vm_ca.fileAdded($file)"
2190 flow-file-success="vm_ca.fileSuccess($file, $message)"
2191 flow-complete="vm_ca.uploadComplete()"
2193 flow-drag-enter="vm_ca.dropping=true"
2194 flow-drag-leave="vm_ca.dropping=false"
2195 ng-class="{'dropping':vm.dropping}"
2198 class="drop-text hint-text"
2200 layout-align="center center"
2202 <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
2206 class="upload-button"
2208 layout-align="center center"
2211 class="md-accent md-raised"
2213 ng-disabled="!vm_ca.crudPermissions.canEdit"
2217 <span class="secondary-text mt-8"
2218 >You can also drop images here to upload. Only PNG, JPG -
2223 <div layout="row" layout-align="start start" layout-wrap>
2225 ng-repeat="agentAvatarimage in vm_ca.chatWebsite.images"
2226 ng-switch="agentAvatarimage.type"
2229 class="chatWebsite-image uploading"
2230 ng-switch-when="uploading"
2232 layout-align="center center"
2237 layout-align="center center"
2240 md-mode="determinate"
2241 value="{{agentAvatarimage.file.progress() * 100}}"
2243 </md-progress-linear>
2245 <img class="media" flow-img="agentAvatarimage.file" />
2249 class="chatWebsite-image"
2250 ng-switch-when="image"
2252 layout-align="center center"
2254 <img class="media" ng-src="{{agentAvatarimage.url}}" />
2262 class="chatWebsite-detail-form-container customeravatar md-background-bg md-whiteframe-1dp"
2264 <div class="pb-16" layout="row" layout-align="start center">
2265 <div class="h2 secondary-text" translate="CHAT.CUSTOMERAVATAR">
2270 ng-controller="ChatWebsitecustomerAvatarController as vm_ca"
2271 ng-init="vm_ca.init(vm.chatWebsite, vm.crudPermissions)"
2272 class="chatWebsite-detail-form-container md-background-bg md-whiteframe-1dp"
2275 id="chatWebsite-image-uploader"
2276 flow-init="vm_ca.ngFlowOptions"
2277 flow-name="vm_ca.ngFlow.flow"
2278 flow-files-submitted="vm_ca.upload()"
2279 flow-file-added="vm_ca.fileAdded($file)"
2280 flow-file-success="vm_ca.fileSuccess($file, $message)"
2281 flow-complete="vm_ca.uploadComplete()"
2283 flow-drag-enter="vm_ca.dropping=true"
2284 flow-drag-leave="vm_ca.dropping=false"
2285 ng-class="{'dropping':vm.dropping}"
2288 class="drop-text hint-text"
2290 layout-align="center center"
2292 <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
2296 class="upload-button"
2298 layout-align="center center"
2301 class="md-accent md-raised"
2303 ng-disabled="!vm_ca.crudPermissions.canEdit"
2307 <span class="secondary-text mt-8"
2308 >You can also drop images here to upload. Only PNG, JPG -
2313 <div layout="row" layout-align="start start" layout-wrap>
2315 ng-repeat="customerAvatarimage in vm_ca.chatWebsite.images"
2316 ng-switch="customerAvatarimage.type"
2319 class="chatWebsite-image uploading"
2320 ng-switch-when="uploading"
2322 layout-align="center center"
2327 layout-align="center center"
2330 md-mode="determinate"
2331 value="{{customerAvatarimage.file.progress() * 100}}"
2333 </md-progress-linear>
2335 <img class="media" flow-img="customerAvatarimage.file" />
2339 class="chatWebsite-image"
2340 ng-switch-when="image"
2342 layout-align="center center"
2344 <img class="media" ng-src="{{customerAvatarimage.url}}" />
2352 class="chatWebsite-detail-form-container systemavatar md-background-bg md-whiteframe-1dp"
2354 <div class="pb-16" layout="row" layout-align="start center">
2355 <div class="h2 secondary-text" translate="CHAT.SYSTEMAVATAR">
2360 ng-controller="ChatWebsitesystemAvatarController as vm_ca"
2361 ng-init="vm_ca.init(vm.chatWebsite, vm.crudPermissions)"
2362 class="chatWebsite-detail-form-container md-background-bg md-whiteframe-1dp"
2365 id="chatWebsite-image-uploader"
2366 flow-init="vm_ca.ngFlowOptions"
2367 flow-name="vm_ca.ngFlow.flow"
2368 flow-files-submitted="vm_ca.upload()"
2369 flow-file-added="vm_ca.fileAdded($file)"
2370 flow-file-success="vm_ca.fileSuccess($file, $message)"
2371 flow-complete="vm_ca.uploadComplete()"
2373 flow-drag-enter="vm_ca.dropping=true"
2374 flow-drag-leave="vm_ca.dropping=false"
2375 ng-class="{'dropping':vm.dropping}"
2378 class="drop-text hint-text"
2380 layout-align="center center"
2382 <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
2386 class="upload-button"
2388 layout-align="center center"
2391 class="md-accent md-raised"
2393 ng-disabled="!vm_ca.crudPermissions.canEdit"
2397 <span class="secondary-text mt-8"
2398 >You can also drop images here to upload. Only PNG, JPG -
2403 <div layout="row" layout-align="start start" layout-wrap>
2405 ng-repeat="systemAvatarimage in vm_ca.chatWebsite.images"
2406 ng-switch="systemAvatarimage.type"
2409 class="chatWebsite-image uploading"
2410 ng-switch-when="uploading"
2412 layout-align="center center"
2417 layout-align="center center"
2420 md-mode="determinate"
2421 value="{{systemAvatarimage.file.progress() * 100}}"
2423 </md-progress-linear>
2425 <img class="media" flow-img="systemAvatarimage.file" />
2429 class="chatWebsite-image"
2430 ng-switch-when="image"
2432 layout-align="center center"
2434 <img class="media" ng-src="{{systemAvatarimage.url}}" />
2445 <span translate="CHAT.ONLINE">ONLINE</span>
2449 class="chatWebsite-detail-form-container chatformonline md-background-bg md-whiteframe-1dp"
2452 ng-controller="ChatWebsiteonlineFormController as vm_fonc"
2453 ng-init="vm_fonc.init(vm.chatWebsite)"
2459 <!-- START Buttons -->
2461 aria-label="comment"
2462 class="md-fab md-mini"
2463 ng-click="vm_fonc.add(button.type)"
2464 ng-repeat="button in vm_fonc.buttons"
2466 <md-tooltip md-direction="top">{{button.name}}</md-tooltip>
2467 <md-icon md-font-icon="{{button.icon}}"></md-icon>
2469 <!-- END Buttons -->
2472 <div layout="row" flex>
2476 <md-card-title-text>
2480 layout-align="start center"
2483 class="h2 secondary-text"
2484 translate="CHAT.BUILDER"
2489 </md-card-title-text>
2492 <form name="onlineForm" novalidate>
2493 <!-- START MapKey -->
2496 ng-if="vm_fonc.chatWebsite.onlineForm.items.length"
2498 <label translate="CHAT.HELP.MAPKEY">MapKey</label>
2499 <md-select ng-model="vm_fonc.chatWebsite.mapKey">
2500 <md-option ng-value="null">None</md-option>
2502 <md-optgroup label="standard">
2504 ng-repeat="field in vm_fonc.fields"
2505 ng-value="field.key"
2506 >{{ field.value }}</md-option
2512 ng-if="vm_fonc.customFields.length"
2515 ng-repeat="field in vm_fonc.customFields"
2516 ng-value="field.key"
2517 >{{ field.value }}</md-option
2521 </md-input-container>
2524 <!-- START FromKey -->
2527 ng-if="vm_fonc.chatWebsite.onlineForm.items.length"
2529 <label translate="CHAT.HELP.FROMKEY">FromKey</label>
2531 ng-model="vm_fonc.chatWebsite.onlineForm.fromKey"
2532 md-selected-text="vm_fonc.chatWebsite.onlineForm.fromKey != null ? vm_fonc.chatWebsite.onlineForm.items[vm_fonc.chatWebsite.onlineForm.fromKey].props.title : 'None'"
2534 <md-option ng-value="null">None</md-option>
2536 ng-repeat="item in vm_fonc.chatWebsite.onlineForm.items"
2537 ng-if="item.props.title"
2539 >{{ item.props.title }}</md-option
2542 </md-input-container>
2543 <!-- END FromKey -->
2545 <!-- START EXPANSION PANELS -->
2547 ng-repeat="item in vm_fonc.chatWebsite.onlineForm.items track by $index"
2548 md-component-id="{{'onlinePanel' + $index}}"
2550 <md-expansion-panel-collapsed md-no-sticky="true">
2552 class="md-icon-button"
2554 ng-click="vm_fonc.down(item, $index); $event.stopPropagation()"
2557 md-font-icon="icon-arrow-down-bold-circle-outline"
2561 class="md-icon-button"
2563 ng-click="vm_fonc.up(item, $index); $event.stopPropagation()"
2566 md-font-icon="icon-arrow-up-bold-circle-outline"
2570 <div class="md-title">
2571 {{item.props.title || item.type}}
2576 class="md-icon-button"
2577 aria-label="Collapse"
2578 ng-click="$panel.collapse()"
2581 md-font-icon="icon-chevron-down"
2584 </md-expansion-panel-collapsed>
2586 <md-expansion-panel-expanded>
2587 <md-expansion-panel-header>
2589 class="md-icon-button"
2591 ng-click="vm_fonc.down(item, $index)"
2594 md-font-icon="icon-arrow-down-bold-circle-outline"
2598 class="md-icon-button"
2600 ng-click="vm_fonc.up(item, $index)"
2603 md-font-icon="icon-arrow-up-bold-circle-outline"
2607 <div class="md-title">
2608 {{item.props.title || item.type}}
2614 class="md-icon-button md-warn"
2616 ng-click="vm_fonc.remove($index)"
2618 <md-icon md-font-icon="icon-delete"></md-icon>
2621 class="md-icon-button"
2622 aria-label="Collapse"
2623 ng-click="$panel.collapse()"
2626 md-font-icon="icon-chevron-up"
2629 </md-expansion-panel-header>
2631 <md-expansion-panel-content>
2633 type="{{item.type}}"
2638 <md-input-container class="md-block">
2639 <label translate="CHAT.VARIABLE"
2642 <md-select ng-model="item.variable">
2643 <md-option ng-value="null">None</md-option>
2645 ng-repeat="variable in vm_fonc.variables"
2646 ng-value="variable.name"
2647 >{{ variable.name }}</md-option
2650 </md-input-container>
2652 <md-input-container class="md-block">
2653 <label translate="CHAT.CM_FIELD"
2654 >Contact Manager Field</label
2656 <md-select ng-model="item.cmField">
2657 <md-option ng-value="null">None</md-option>
2659 <md-optgroup label="standard">
2661 ng-repeat="field in vm_fonc.fields"
2662 ng-value="field.key"
2663 >{{ field.value }}</md-option
2669 ng-if="vm_fonc.customFields.length"
2672 ng-repeat="field in vm_fonc.customFields"
2673 ng-value="field.key"
2674 >{{ field.value }}</md-option
2678 </md-input-container>
2679 </md-expansion-panel-content>
2680 </md-expansion-panel-expanded>
2681 </md-expansion-panel>
2682 <!-- END EXPANSION PANELS -->
2690 <md-card-title-text>
2694 layout-align="start center"
2697 class="h2 secondary-text"
2698 translate="CHAT.PREVIEW"
2703 </md-card-title-text>
2705 <md-card-content flex>
2707 form="vm_fonc.chatWebsite.onlineForm"
2720 <span translate="CHAT.OFFLINE">OFFLINE</span>
2724 class="chatWebsite-detail-form-container chatformoffline md-background-bg md-whiteframe-1dp"
2727 ng-controller="ChatWebsiteofflineFormController as vm_fonc"
2728 ng-init="vm_fonc.init(vm.chatWebsite)"
2734 <!-- START Buttons -->
2736 aria-label="comment"
2737 class="md-fab md-mini"
2738 ng-click="vm_fonc.add(button.type)"
2739 ng-repeat="button in vm_fonc.buttons"
2741 <md-tooltip md-direction="top">{{button.name}}</md-tooltip>
2742 <md-icon md-font-icon="{{button.icon}}"></md-icon>
2744 <!-- END Buttons -->
2747 <div layout="row" flex>
2751 <md-card-title-text>
2755 layout-align="start center"
2758 class="h2 secondary-text"
2759 translate="CHAT.BUILDER"
2764 </md-card-title-text>
2767 <form name="offlineForm" novalidate>
2768 <md-input-container class="md-block">
2770 ng-model="vm_fonc.chatWebsite.forwardOffline"
2771 aria-label="forwardOffline"
2772 ><span translate="CHAT.FORWARD_OFFLINE"
2773 >forwardOffline</span
2776 </md-input-container>
2780 ng-if="vm_fonc.chatWebsite.forwardOffline"
2782 <label translate="CHAT.FORWARD_OFFLINE_ADDRESS"
2783 >FORWARD OFFLINE ADDRESS</label
2787 name="forwardOfflineAddress"
2788 ng-model="vm_fonc.chatWebsite.forwardOfflineAddress"
2791 <span translate="CHAT.HELP.FORWARD_OFFLINE"></span>
2794 ng-messages="offlineForm['forwardOfflineAddress'].$error"
2795 ng-show="offlineForm['forwardOfflineAddress'].$touched"
2798 <div ng-message="email">
2799 <span translate="CHAT.ERRORS.EMAIL_MUST_BE_VALID"
2800 >forwardOffline must be a valid e-mail
2805 </md-input-container>
2807 <md-input-container class="md-block">
2809 ng-model="vm_fonc.chatWebsite.openNewInteraction"
2810 aria-label="openNewInteraction"
2812 <span translate="CHAT.OPEN_NEW_INTERACTION"
2813 >openNewInteraction</span
2816 </md-input-container>
2820 ng-if="vm_fonc.chatWebsite.openNewInteraction"
2822 <label translate="CHAT.EMAIL_ACCOUNT"
2823 >Email account</label
2826 ng-model="vm_fonc.chatWebsite.MailAccountId"
2828 <md-option ng-value="null">None</md-option>
2830 ng-repeat="account in vm_fonc.email_accounts"
2831 ng-value="account.id"
2832 >{{ account.name }}</md-option
2835 </md-input-container>
2837 <!-- START MapKey -->
2840 ng-if="vm_fonc.chatWebsite.offlineForm.items.length"
2842 <label translate="CHAT.HELP.MAPKEY">MapKey</label>
2844 ng-model="vm_fonc.chatWebsite.mapKeyOffline"
2846 <md-option ng-value="null">None</md-option>
2848 <md-optgroup label="standard">
2850 ng-repeat="field in vm_fonc.fields"
2851 ng-value="field.key"
2852 >{{ field.value }}</md-option
2858 ng-if="vm_fonc.customFields.length"
2861 ng-repeat="field in vm_fonc.customFields"
2862 ng-value="field.key"
2863 >{{ field.value }}</md-option
2867 </md-input-container>
2870 <!-- START FromKey -->
2873 ng-if="vm_fonc.chatWebsite.offlineForm.items.length"
2875 <label translate="CHAT.HELP.FROMKEY">FromKey</label>
2877 ng-model="vm_fonc.chatWebsite.offlineForm.fromKey"
2878 md-selected-text="vm_fonc.chatWebsite.offlineForm.fromKey != null ? vm_fonc.chatWebsite.offlineForm.items[vm_fonc.chatWebsite.offlineForm.fromKey].props.title : 'None'"
2880 <md-option ng-value="null">None</md-option>
2882 ng-repeat="item in vm_fonc.chatWebsite.offlineForm.items"
2883 ng-if="item.props.title"
2885 >{{ item.props.title }}</md-option
2888 </md-input-container>
2889 <!-- END FromKey -->
2891 <!-- START EXPANSION PANELS -->
2893 ng-repeat="item in vm_fonc.chatWebsite.offlineForm.items track by $index"
2894 md-component-id="{{'offlinePanel' + $index}}"
2896 <md-expansion-panel-collapsed md-no-sticky="true">
2898 class="md-icon-button"
2900 ng-click="vm_fonc.down(item, $index); $event.stopPropagation()"
2903 md-font-icon="icon-arrow-down-bold-circle-outline"
2907 class="md-icon-button"
2909 ng-click="vm_fonc.up(item, $index); $event.stopPropagation()"
2912 md-font-icon="icon-arrow-up-bold-circle-outline"
2916 <div class="md-title">
2917 {{item.props.title || item.type}}
2922 class="md-icon-button"
2923 aria-label="Collapse"
2924 ng-click="$panel.collapse()"
2927 md-font-icon="icon-chevron-down"
2930 </md-expansion-panel-collapsed>
2932 <md-expansion-panel-expanded>
2933 <md-expansion-panel-header>
2935 class="md-icon-button"
2937 ng-click="vm_fonc.down(item, $index)"
2940 md-font-icon="icon-arrow-down-bold-circle-outline"
2944 class="md-icon-button"
2946 ng-click="vm_fonc.up(item, $index)"
2949 md-font-icon="icon-arrow-up-bold-circle-outline"
2953 <div class="md-title">
2954 {{item.props.title || item.type}}
2960 class="md-icon-button md-warn"
2962 ng-click="vm_fonc.remove($index)"
2964 <md-icon md-font-icon="icon-delete"></md-icon>
2967 class="md-icon-button"
2968 aria-label="Collapse"
2969 ng-click="$panel.collapse()"
2972 md-font-icon="icon-chevron-up"
2975 </md-expansion-panel-header>
2977 <md-expansion-panel-content>
2979 type="{{item.type}}"
2984 <md-input-container class="md-block">
2985 <label translate="CHAT.CM_FIELD"
2986 >Contact Manager Field</label
2988 <md-select ng-model="item.cmField">
2989 <md-option ng-value="null">None</md-option>
2991 <md-optgroup label="standard">
2993 ng-repeat="field in vm_fonc.fields"
2994 ng-value="field.key"
2995 >{{ field.value }}</md-option
3001 ng-if="vm_fonc.customFields.length"
3004 ng-repeat="field in vm_fonc.customFields"
3005 ng-value="field.key"
3006 >{{ field.value }}</md-option
3010 </md-input-container>
3011 </md-expansion-panel-content>
3012 </md-expansion-panel-expanded>
3013 </md-expansion-panel>
3014 <!-- END EXPANSION PANELS -->
3022 <md-card-title-text>
3026 layout-align="start center"
3029 class="h2 secondary-text"
3030 translate="CHAT.PREVIEW"
3035 </md-card-title-text>
3037 <md-card-content flex>
3039 form="vm_fonc.chatWebsite.offlineForm"
3052 <span translate="CHAT.PROACTIVEACTIONS">PROACTIVEACTIONS</span>
3056 class="chatWebsite-detail-form-container proactive md-background-bg md-whiteframe-1dp"
3059 ng-controller="ChatWebsiteProactiveActionsController as vm_dc"
3060 ng-init="vm_dc.init(vm.chatWebsite, vm.crudPermissions)"
3063 class="md-table-toolbar md-default"
3064 ng-hide="vm_dc.selectedChatWebsiteProactiveActions.length"
3066 <div class="md-toolbar-tools">
3067 <span class="md-subhead" translate="CHAT.PROACTIVEACTIONS"
3068 >ProactiveActions</span
3071 on-search="vm_dc.getChatWebsiteProactiveActions()"
3073 display-on="vm_dc.isSearchBarVisible"
3074 ng-disabled="vm_dc.query.search"
3081 ng-if="vm_dc.crudPermissions.canEdit"
3082 class="md-icon-button"
3083 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event)"
3084 aria-label="add chatProactiveAction"
3086 translate-attr-label="CHAT.ADD_CHATPROACTIVEACTION"
3088 <md-icon md-font-icon="icon-plus"></md-icon>
3093 class="md-table-toolbar md-accent"
3094 ng-show="vm_dc.selectedChatWebsiteProactiveActions.length"
3096 <div class="md-toolbar-tools">
3097 <span class="md-subhead"
3098 >{{vm_dc.selectedChatWebsiteProactiveActions.length}}
3099 {{vm_dc.selectedChatWebsiteProactiveActions.length > 1 ?
3100 'items' : 'item'}} selected</span
3104 class="md-icon-button"
3105 ng-csv="vm_dc.exportSelectedChatWebsiteProactiveActions"
3107 filename="chatWebsites.csv"
3109 <md-icon md-font-icon="icon-file-excel"></md-icon>
3112 ng-if="vm_dc.crudPermissions.canDelete"
3113 class="md-icon-button"
3114 ng-click="vm_dc.deleteSelectedChatWebsiteProactiveActions($event)"
3115 aria-label="delete selected"
3117 translate-attr-label="CHAT.DELETE_SELECTED"
3119 <md-icon md-font-icon="icon-delete"></md-icon>
3123 <md-table-container class="font-size-12">
3128 ng-model="vm_dc.selectedChatWebsiteProactiveActions"
3129 md-progress="vm_dc.promise"
3133 md-order="vm_dc.query.sort"
3134 md-on-reorder="vm_dc.getChatWebsiteProactiveActions"
3137 <th md-column md-order-by="id">
3138 {{ 'CHAT.ID' | translate }}
3140 <th md-column md-order-by="name">
3141 {{ 'CHAT.NAME' | translate }}
3143 <th md-column md-order-by="type">
3144 {{ 'CHAT.TYPE' | translate }}
3146 <th md-column md-order-by="selector">
3147 {{ 'CHAT.SELECTOR' | translate }}
3149 <th md-column md-order-by="timeout">
3150 {{ 'CHAT.TIMEOUT' | translate }}
3152 <th md-column md-order-by="createdAt">
3153 {{ 'CHAT.CREATED_AT' | translate }}
3155 <th md-column width="10px"></th>
3161 md-select="chatProactiveAction"
3163 ng-repeat="chatProactiveAction in vm_dc.chatWebsiteProactiveActions.rows"
3166 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event, chatProactiveAction)"
3169 {{chatProactiveAction.id}}
3172 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event, chatProactiveAction)"
3175 {{chatProactiveAction.name}}
3178 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event, chatProactiveAction)"
3182 vm_dc.arraytype[chatProactiveAction.type].option |
3183 uppercase | translate }}
3187 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event, chatProactiveAction)"
3190 {{chatProactiveAction.selector}}
3193 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event, chatProactiveAction)"
3196 {{chatProactiveAction.timeout}}
3199 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event, chatProactiveAction)"
3202 {{ chatProactiveAction.createdAt | formatdate }}
3207 ng-if="!vm_dc.crudPermissions.readOnly"
3211 class="md-icon-button"
3214 translate-attr-aria-label="CHAT.MORE"
3215 ng-click="$mdMenu.open($event)"
3218 md-font-icon="icon-dots-vertical"
3222 <md-menu-content width="3">
3223 <md-menu-item ng-if="vm_dc.crudPermissions.canEdit">
3225 ng-click="vm_dc.createOrEditChatWebsiteChatProactiveAction($event, chatProactiveAction)"
3226 translate="CHAT.EDIT_CHATPROACTIVEACTION"
3228 Edit ChatProactiveAction
3232 ng-if="vm_dc.crudPermissions.canDelete"
3235 ng-click="vm_dc.deleteConfirm(chatProactiveAction, $event)"
3236 translate="CHAT.DELETE_CHATPROACTIVEACTION"
3238 Delete ChatProactiveAction
3247 ng-if="!vm_dc.chatWebsiteProactiveActions.rows.length"
3249 <td md-cell colspan="8">
3250 <div layout="row" layout-align="center center">
3252 class="text-boxed-light"
3253 translate="CHAT.NO_CHATPROACTIVEACTION_AVAILABLE"
3254 >No chatproactiveaction available</span
3261 </md-table-container>
3262 <md-table-pagination
3263 md-label="{page: '{{'CHAT.PAGE' | translate}}:', rowsPerPage: '{{'CHAT.ROWSPERPAGE' | translate}}:', of: '{{'CHAT.OF' | translate}}'}"
3264 md-limit="vm_dc.query.limit"
3265 md-limit-options="[10, 15, 20, 50, 100, 250]"
3266 md-page="vm_dc.query.page"
3267 md-total="{{vm_dc.chatWebsiteProactiveActions.count}}"
3268 md-on-paginate="vm_dc.getChatWebsiteProactiveActions"
3270 ></md-table-pagination>
3277 <span translate="CHAT.DISPOSITIONS">DISPOSITIONS</span>
3281 ng-controller="ChatWebsiteDispositionsController as vm_dc"
3282 ng-init="vm_dc.init(vm.chatWebsite, vm.crudPermissions)"
3285 <div class="column" flex="20">
3286 <md-card class="mt-0">
3289 layout-align="center center"
3291 ng-click="vm_dc.query.level = null; vm_dc.getDispositions()"
3293 <div layout="row" layout-align="start center">
3294 <md-icon md-font-icon="icon-refresh"></md-icon>
3296 >{{ 'TOOLS.ALL_DISPOSITIONS' | translate }}</span
3304 <md-input-container class="md-block" flex-gt-sm="">
3305 <label translate="TOOLS.SELECT_LEVEL"
3306 >Select a level</label
3309 placeholder="{{ 'TOOLS.SELECT_LEVEL' | translate }}"
3310 ng-model="vm_dc.query.level"
3311 ng-change="vm_dc.getDispositions()"
3313 <md-option ng-value="null"
3314 ><em translate="TOOLS.ALL">All</em></md-option
3318 ng-repeat="(key, value) in vm_dc.levels"
3319 >{{ value }}</md-option
3322 </md-input-container>
3327 class="chatWebsite-detail-form-container chatdispositions md-background-bg md-whiteframe-1dp"
3331 class="md-table-toolbar md-default"
3332 ng-hide="vm_dc.selectedChatWebsiteDispositions.length"
3334 <div class="md-toolbar-tools">
3335 <span class="md-subhead" translate="CHAT.DISPOSITIONS"
3339 on-search="vm_dc.getDispositions()"
3346 ng-if="vm_dc.crudPermissions.canEdit"
3347 class="md-icon-button"
3348 ng-click="vm_dc.createOrEditDisposition($event)"
3349 aria-label="Add chat dispositions"
3351 translate-attr-label="CHAT.ADD_DISPOSITION"
3353 <md-icon md-font-icon="icon-plus"></md-icon>
3358 class="md-table-toolbar md-accent"
3359 ng-show="vm_dc.selectedDispositions.length"
3361 <div class="md-toolbar-tools">
3362 <span class="md-subhead"
3363 >{{vm_dc.selectedDispositions.length}}
3364 {{vm_dc.selectedDispositions.length > 1 ? 'items' :
3365 'item'}} selected</span
3369 class="md-icon-button"
3370 ng-csv="vm_dc.exportSelectedDispositions"
3372 filename="chatWebsites.csv"
3374 <md-icon md-font-icon="icon-file-excel"></md-icon>
3377 ng-if="vm_dc.crudPermissions.canDelete"
3378 class="md-icon-button"
3379 ng-click="vm_dc.deleteSelectedDispositions($event)"
3380 aria-label="delete selected"
3382 translate-attr-label="CHAT.DELETE_SELECTED"
3384 <md-icon md-font-icon="icon-delete"></md-icon>
3388 <md-table-container>
3393 ng-model="vm_dc.selectedDispositions"
3394 md-progress="vm_dc.promise"
3398 md-order="vm_dc.query.sort"
3399 md-on-reorder="vm_dc.getDispositions"
3402 <th md-column md-order-by="id">
3403 {{ 'CHAT.ID' | translate }}
3405 <th md-column md-order-by="level">
3406 {{ 'TOOLS.LEVEL' | translate }}
3408 <th md-column md-order-by="name">
3409 {{ 'CHAT.NAME' | translate }}
3411 <th md-column md-order-by="description">
3412 {{ 'CHAT.DESCRIPTION' | translate }}
3414 <th md-column width="10px"></th>
3418 <tr md-row ng-hide="vm_dc.dispositions.rows.length">
3419 <td md-cell colspan="5">
3420 <div layout="row" layout-align="center center">
3421 <span translate="CHAT.NO_AVAILABLE_INFO"
3422 >No Available Info</span
3429 md-select="disposition"
3431 ng-repeat="disposition in vm_dc.dispositions.rows"
3434 ng-click="vm_dc.createOrEditDisposition($event, disposition)"
3441 ng-click="vm_dc.createOrEditDisposition($event, disposition)"
3445 {{ vm_dc.levels[disposition.level] }}
3448 ng-click="vm_dc.createOrEditDisposition($event, disposition)"
3452 {{disposition.name}}
3455 ng-click="vm_dc.createOrEditDisposition($event, disposition)"
3459 {{disposition.description}}
3464 ng-if="!vm_dc.crudPermissions.readOnly"
3468 class="md-icon-button"
3471 translate-attr-aria-label="CHAT.MORE"
3472 ng-click="$mdMenu.open($event)"
3475 md-font-icon="icon-dots-vertical"
3478 <md-menu-content width="3">
3482 ng-if="vm_dc.crudPermissions.canEdit"
3485 ng-click="vm_dc.createOrEditDisposition($event, disposition)"
3486 translate="TOOLS.EDIT_DISPOSITION"
3494 ng-if="vm_dc.crudPermissions.canDelete"
3497 ng-click="vm_dc.deleteConfirm(disposition, $event)"
3498 translate="TOOLS.DELETE_DISPOSITION"
3509 </md-table-container>
3510 <md-table-pagination
3511 md-label="{page: '{{'CHAT.PAGE' | translate}}:', rowsPerPage: '{{'CHAT.ROWSPERPAGE' | translate}}:', of: '{{'CHAT.OF' | translate}}'}"
3512 md-limit="vm_dc.query.limit"
3513 md-limit-options="[10, 15, 20, 50, 100, 250]"
3514 md-page="vm_dc.query.page"
3515 md-total="{{vm_dc.dispositions.count}}"
3516 md-on-paginate="vm_dc.getDispositions"
3519 </md-table-pagination>
3527 <span translate="CHAT.CANNEDANSWERS">CANNEDANSWERS</span>
3531 class="chatWebsite-detail-form-container chatcannedanswers md-background-bg md-whiteframe-1dp"
3534 ng-controller="ChatWebsiteChatCannedAnswersController as vm_dc"
3535 ng-init="vm_dc.init(vm.chatWebsite, vm.crudPermissions)"
3538 class="md-table-toolbar md-default"
3539 ng-hide="vm_dc.selectedChatWebsiteChatCannedAnswers.length"
3541 <div class="md-toolbar-tools">
3542 <span class="md-subhead" translate="CHAT.CHATCANNEDANSWERS"
3543 >ChatCannedAnswers</span
3546 on-search="vm_dc.getChatWebsiteChatCannedAnswers()"
3548 display-on="vm_dc.isSearchBarVisible"
3549 ng-disabled="vm_dc.query.search"
3556 ng-if="vm_dc.crudPermissions.canEdit"
3557 class="md-icon-button"
3558 ng-click="vm_dc.createOrEditChatWebsiteChatCannedAnswer($event)"
3559 aria-label="add chatCannedAnswer"
3561 translate-attr-label="CHAT.ADD_CHATCANNEDANSWER"
3563 <md-icon md-font-icon="icon-plus"></md-icon>
3568 class="md-table-toolbar md-accent"
3569 ng-show="vm_dc.selectedChatWebsiteChatCannedAnswers.length"
3571 <div class="md-toolbar-tools">
3572 <span class="md-subhead"
3573 >{{vm_dc.selectedChatWebsiteChatCannedAnswers.length}}
3574 {{vm_dc.selectedChatWebsiteChatCannedAnswers.length > 1 ?
3575 'items' : 'item'}} selected</span
3579 class="md-icon-button"
3580 ng-csv="vm_dc.exportSelectedChatWebsiteChatCannedAnswers"
3582 filename="chatWebsites.csv"
3584 <md-icon md-font-icon="icon-file-excel"></md-icon>
3587 ng-if="vm_dc.crudPermissions.canDelete"
3588 class="md-icon-button"
3589 ng-click="vm_dc.deleteSelectedChatWebsiteChatCannedAnswers($event)"
3590 aria-label="delete selected"
3592 translate-attr-label="CHAT.DELETE_SELECTED"
3594 <md-icon md-font-icon="icon-delete"></md-icon>
3598 <md-table-container class="font-size-12">
3603 ng-model="vm_dc.selectedChatWebsiteChatCannedAnswers"
3604 md-progress="vm_dc.promise"
3608 md-order="vm_dc.query.sort"
3609 md-on-reorder="vm_dc.getChatWebsiteChatCannedAnswers"
3612 <th md-column md-order-by="id">
3613 {{ 'CHAT.ID' | translate }}
3615 <th md-column md-order-by="key">
3616 {{ 'CHAT.KEY' | translate }}
3618 <th md-column md-order-by="value">
3619 {{ 'CHAT.VALUE' | translate }}
3621 <th md-column md-order-by="description">
3622 {{ 'CHAT.DESCRIPTION' | translate }}
3624 <th md-column md-order-by="createdAt">
3625 {{ 'CHAT.CREATED_AT' | translate }}
3627 <th md-column width="10px"></th>
3633 md-select="chatCannedAnswer"
3635 ng-repeat="chatCannedAnswer in vm_dc.chatWebsiteChatCannedAnswers.rows"
3638 ng-click="vm_dc.createOrEditChatWebsiteChatCannedAnswer($event, chatCannedAnswer)"
3641 {{chatCannedAnswer.id}}
3644 ng-click="vm_dc.createOrEditChatWebsiteChatCannedAnswer($event, chatCannedAnswer)"
3647 {{chatCannedAnswer.key}}
3650 ng-click="vm_dc.createOrEditChatWebsiteChatCannedAnswer($event, chatCannedAnswer)"
3653 {{chatCannedAnswer.value}}
3656 ng-click="vm_dc.createOrEditChatWebsiteChatCannedAnswer($event, chatCannedAnswer)"
3659 {{chatCannedAnswer.description}}
3662 ng-click="vm_dc.createOrEditChatWebsiteChatCannedAnswer($event, chatCannedAnswer)"
3665 {{ chatCannedAnswer.createdAt | formatdate }}
3670 ng-if="!vm_dc.crudPermissions.readOnly"
3674 class="md-icon-button"
3677 translate-attr-aria-label="CHAT.MORE"
3678 ng-click="$mdMenu.open($event)"
3681 md-font-icon="icon-dots-vertical"
3685 <md-menu-content width="3">
3686 <md-menu-item ng-if="vm_dc.crudPermissions.canEdit">
3688 ng-click="vm_dc.createOrEditChatWebsiteChatCannedAnswer($event, chatCannedAnswer)"
3689 translate="CHAT.EDIT_CHATCANNEDANSWER"
3691 Edit ChatCannedAnswer
3695 ng-if="vm_dc.crudPermissions.canDelete"
3698 ng-click="vm_dc.deleteConfirm(chatCannedAnswer, $event)"
3699 translate="CHAT.DELETE_CHATCANNEDANSWER"
3701 Delete ChatCannedAnswer
3710 ng-if="!vm_dc.chatWebsiteChatCannedAnswers.rows.length"
3712 <td md-cell colspan="7">
3713 <div layout="row" layout-align="center center">
3715 class="text-boxed-light"
3716 translate="CHAT.NO_CHATCANNEDANSWER_AVAILABLE"
3717 >No chatcannedanswer available</span
3724 </md-table-container>
3725 <md-table-pagination
3726 md-label="{page: '{{'CHAT.PAGE' | translate}}:', rowsPerPage: '{{'CHAT.ROWSPERPAGE' | translate}}:', of: '{{'CHAT.OF' | translate}}'}"
3727 md-limit="vm_dc.query.limit"
3728 md-limit-options="[10, 15, 20, 50, 100, 250]"
3729 md-page="vm_dc.query.page"
3730 md-total="{{vm_dc.chatWebsiteChatCannedAnswers.count}}"
3731 md-on-paginate="vm_dc.getChatWebsiteChatCannedAnswers"
3733 ></md-table-pagination>
3740 <span translate="CHAT.VIDEO">VIDEO</span>
3744 class="chatWebsite-detail-form-container vidaoo md-background-bg md-whiteframe-1dp"
3746 <div class="pb-16" layout="row" layout-align="start center">
3747 <div class="h2 secondary-text" translate="CHAT.VIDAOO">
3751 <form name="vidaooForm" novalidate>
3752 <md-input-container class="md-block">
3754 ng-model="vm.chatWebsite.vidaooEscalation"
3755 aria-label="vidaooEscalation"
3756 ng-disabled="!vm.crudPermissions.canEdit"
3757 ><span translate="CHAT.VIDAOOESCALATION"
3758 >vidaooEscalation</span
3761 </md-input-container>
3763 ng-if="vm.chatWebsite.vidaooEscalation == true"
3766 <label translate="CHAT.VIDAOOAPIKEY">vidaooApiKey</label>
3770 ng-model="vm.chatWebsite.vidaooApiKey"
3772 ng-disabled="!vm.crudPermissions.canEdit"
3776 ng-messages="vidaooForm['vidaooApiKey'].$error"
3777 ng-show="vidaooForm['vidaooApiKey'].$touched"
3780 <div ng-message="required">
3781 <span translate="CHAT.ERRORS.VIDAOOAPIKEY_REQUIRED"
3782 >vidaooApiKey field is required</span
3786 </md-input-container>
3793 <span translate="CHAT.ACTIONS">ACTIONS</span>
3797 class="chatWebsite-detail-form-container actions md-background-bg md-whiteframe-1dp"
3800 ng-controller="ChatWebsiteActionsController as vm_ac"
3801 ng-init="vm_ac.init(vm.chatWebsite, vm.crudPermissions)"
3805 layout-align="start start"
3809 class="navigation-simple sidenav main-sidenav md-background-bg md-whiteframe-1dp"
3813 ng-if="vm_ac.crudPermissions.canEdit"
3815 <!-- SIDENAV CONTENT -->
3816 <md-list class="no-padding">
3817 <md-subheader class="md-no-sticky">
3818 <span translate="VOICE.APPLICATIONS_LIST">
3823 <md-divider></md-divider>
3824 <md-list ng-sortable="vm_ac.list">
3825 <md-list-item class="handle" ng-repeat="a in vm_ac.apps">
3826 <md-icon md-font-icon="{{a.icon}}" class="s16"></md-icon>
3828 class="text-truncate"
3829 translate="CHAT.{{(a.alias || a.appType) | uppercase}}"
3831 {{a.alias || a.appType}}
3835 <!-- / SIDENAV CONTENT -->
3841 class="main scrollable md-background-bg md-whiteframe-1dp"
3844 flex="{{vm_ac.crudPermissions.canEdit ? 75 : 100}}"
3847 class="md-table-toolbar md-default"
3848 ng-hide="vm_ac.selectedChatWebsiteApps.length"
3850 <div class="md-toolbar-tools">
3851 <span class="md-subhead">Drag & Drop Routing</span>
3854 on-search="vm_ac.getChatWebsiteApps()"
3861 class="md-table-toolbar md-accent"
3862 ng-show="vm_ac.selectedChatWebsiteApps.length"
3864 <div class="md-toolbar-tools">
3865 <span class="md-subhead"
3866 >{{vm_ac.selectedChatWebsiteApps.length}}
3867 {{vm_ac.selectedChatWebsiteApps.length > 1 ? 'items' :
3868 'item'}} selected</span
3872 ng-if="vm_ac.crudPermissions.canDelete"
3873 class="md-icon-button"
3874 ng-click="vm_ac.deleteSelectedChatWebsiteApps($event)"
3875 aria-label="delete selected"
3877 translate-attr-label="CHAT.DELETE_SELECTED"
3879 <md-icon md-font-icon="icon-delete"></md-icon>
3884 <!-- QUEUES TABLE -->
3885 <md-table-container>
3890 ng-model="vm_ac.selectedChatWebsiteApps"
3894 <th md-column width="10px"></th>
3895 <th md-column width="10px">
3896 <span translate="VOICE.PRIORITY">Priority</span>
3902 <span>Appdata</span>
3905 <span>Interval</span>
3907 <th md-column width="10px"></th>
3908 <th md-column width="10px"></th>
3911 <tbody md-body ng-sortable="vm_ac.applications">
3916 ng-repeat="app in vm_ac.chatWebsiteApps.rows | filter: vm_ac.query.filter"
3920 md-font-icon="icon-drag-vertical"
3926 ng-click="vm_ac.editChatWebsiteApp($event, $index)"
3928 <span>{{app.priority}}</span>
3932 ng-click="vm_ac.editChatWebsiteApp($event, $index)"
3934 {{app.app.toLowerCase() === 'agi' ? 'Cally-Square' :
3935 app.app | ucfirst}}<span
3936 ng-if="app.appType.toLowerCase() === 'custom'"
3942 ng-click="vm_ac.editChatWebsiteApp($event, $index)"
3944 <span class="text-truncate" style="width: 200px"
3945 >{{app.appdata}}</span
3950 ng-click="vm_ac.editInterval($event, $index)"
3952 {{app.IntervalId ? 'From List' : app.interval}}
3956 ng-click="vm_ac.editInterval($event, $index)"
3957 class="md-icon-button"
3958 aria-label="Interval"
3960 <md-icon md-font-icon="icon-timer"></md-icon>
3962 {{app.IntervalId ? 'From List' : (app.interval ===
3963 '*,*,*,*' ? 'Always' : 'Custom')}}
3970 ng-if="!vm_ac.crudPermissions.readOnly"
3974 class="md-icon-button"
3977 translate-attr-aria-label="VOICE.MORE"
3978 ng-click="$mdMenu.open($event)"
3981 md-font-icon="icon-dots-vertical"
3985 <md-menu-content width="3">
3987 ng-if="vm_ac.crudPermissions.canEdit"
3990 ng-click="vm_ac.editChatWebsiteApp($event, $index)"
3991 translate="VOICE.EDIT_APP"
3997 ng-if="vm_ac.crudPermissions.canEdit"
4000 ng-click="vm_ac.editInterval($event, $index)"
4001 translate="VOICE.EDIT_INTERVAL"
4007 ng-if="vm_ac.crudPermissions.canDelete"
4010 ng-click="vm_ac.deleteConfirm(app, $index, $event)"
4011 translate="VOICE.DELETE_APP"
4020 <tr md-row ng-hide="vm_ac.chatWebsiteApps.rows.length">
4021 <td md-cell colspan="7">
4023 class="text-boxed-light"
4024 translate="VOICE.NO_APPS_AVAILABLE"
4025 >No apps available</span
4031 </md-table-container>
4032 <!-- / QUEUES TABLE -->
4036 <!-- / NO RESULTS -->
4045 <span translate="CHAT.INTERACTIONS">INTERACTIONS</span>
4049 class="chatWebsite-detail-form-container interactions md-background-bg md-whiteframe-1dp"
4052 ng-controller="ChatWebsiteInteractionsController as vm_dc"
4053 ng-init="vm_dc.init(vm.chatWebsite, vm.crudPermissions)"
4056 class="md-table-toolbar md-default"
4057 ng-hide="vm_dc.selectedChatWebsiteInteractions.length"
4059 <div class="md-toolbar-tools">
4060 <span class="md-subhead" translate="CHAT.INTERACTIONS"
4064 on-search="vm_dc.getChatWebsiteInteractions()"
4066 display-on="vm_dc.isSearchBarVisible"
4067 ng-disabled="vm_dc.query.search"
4074 filters="vm_dc.quickFilters"
4076 search="vm_dc.getChatWebsiteInteractions()"
4078 <div layout="column">
4080 class="md-icon-button advanced-search"
4081 ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
4084 translate-attr-aria-label="DASHBOARDS.FILTER"
4085 ng-click="vm_dc.openAdvancedSearch()"
4088 md-font-icon="{{ vm_dc.query.search ? 'icon-filter' : 'icon-filter-outline' }}"
4089 ng-class="{ 'blink': vm_dc.query.search }"
4094 class="md-icon-button"
4095 ng-click="vm_dc.getChatWebsiteInteractions()"
4096 aria-label="refresh Interactions"
4098 translate-attr-label="CHAT.REFRESH_INTERACTIONS"
4100 <md-icon md-font-icon="icon-refresh"></md-icon>
4105 class="md-table-toolbar md-accent"
4106 ng-show="vm_dc.selectedChatWebsiteInteractions.length"
4108 <div class="md-toolbar-tools">
4109 <span class="md-subhead"
4110 >{{vm_dc.selectedChatWebsiteInteractions.length}}
4111 {{vm_dc.selectedChatWebsiteInteractions.length > 1 ? 'items'
4112 : 'item'}} selected</span
4116 class="md-icon-button"
4117 ng-csv="vm_dc.exportSelectedChatWebsiteInteractions"
4119 filename="chatWebsites.csv"
4121 <md-icon md-font-icon="icon-file-excel"></md-icon>
4124 ng-if="vm_dc.crudPermissions.canDelete"
4125 class="md-icon-button"
4126 ng-click="vm_dc.deleteSelectedChatWebsiteInteractions($event)"
4127 aria-label="delete selected"
4129 translate-attr-label="CHAT.DELETE_SELECTED"
4131 <md-icon md-font-icon="icon-delete"></md-icon>
4135 <md-table-container class="font-size-12">
4140 ng-model="vm_dc.selectedChatWebsiteInteractions"
4141 md-progress="vm_dc.promise"
4145 md-order="vm_dc.query.sort"
4146 md-on-reorder="vm_dc.getChatWebsiteInteractions"
4149 <th md-column md-order-by="id">
4150 {{ 'CHAT.ID' | translate }}
4152 <th md-column class="no-padding">
4153 <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
4155 <th md-column class="no-padding"></th>
4156 <th md-column class="no-padding"></th>
4157 <th md-column md-order-by="contactName">
4158 {{ 'CHAT.CONTACT' | translate }}
4160 <th md-column md-order-by="createdAt">
4161 {{ 'CHAT.STARTEDAT' | translate }}
4163 <th md-column md-order-by="lastMsgAt">
4164 {{ 'CHAT.LASTMESSAGE' | translate }}
4166 <th md-column md-order-by="closed">
4167 {{ 'CHAT.STATUS' | translate }}
4169 <th md-column>{{ 'CHAT.AGENT' | translate }}</th>
4170 <th md-column md-order-by="tag">
4171 {{ 'CHAT.TAGS' | translate }}
4173 <th md-column width="10px"></th>
4179 md-select="interaction"
4181 ng-repeat="interaction in vm_dc.chatWebsiteInteractions.rows"
4182 ng-class="{'text-bold text-italic': interaction.unreadMessages > 0}"
4184 <td md-cell>{{interaction.id}}</td>
4185 <td md-cell class="no-padding">
4187 ng-if="!interaction.closed && interaction.Users.length"
4190 md-font-icon="icon-eye"
4194 <span ng-repeat="user in interaction.Users"
4195 >{{ user.fullname | translate }}
4196 <span ng-if="!$last">, </span>
4201 <td md-cell class="no-padding">
4203 ng-if="interaction.unreadMessages > 0"
4205 layout-align="start center"
4208 class="badge white-fg md-primary-bg"
4210 >{{ interaction.unreadMessages}}</span
4214 <td md-cell class="no-padding">
4215 <div ng-if="interaction.attach">
4217 md-font-icon="icon-paperclip"
4222 <td md-cell privacy ng-cloak>
4223 <div layout="column" layout-align="start start">
4225 class="font-size-12 text-truncate contact-text"
4226 ng-class="{'margin-bottom-0' : interaction.contactInfo}"
4228 >{{ interaction.contactName }}</span
4231 ng-if="interaction.contactInfo"
4232 class="font-size-12 text-truncate contact-text margin-top-0"
4234 >{{ interaction.contactInfo }}</span
4238 <td md-cell>{{ interaction.createdAt | formatdate }}</td>
4243 md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
4246 <div layout="column" layout-align="center center">
4247 <span class="text-truncate"
4248 >{{ interaction.lastMsgAt | formatdate }}</span
4254 <span ng-if="interaction.closed === 0" class="green-fg">
4255 {{ 'CHAT.OPENED' | translate }}
4256 <span ng-if="interaction.substatus">
4257 - {{ interaction.substatus }}
4260 <span ng-if="interaction.closed === 1" class="red-fg">
4261 {{ 'CHAT.CLOSED' | translate }}
4262 <span ng-if="interaction.disposition">
4263 - {{ interaction.thirdDisposition ||
4264 interaction.secondDisposition ||
4265 interaction.disposition }}
4267 <md-tooltip class="multiline">
4268 <div layout="column">
4269 <div layout="column">
4271 >{{ 'DASHBOARDS.CLOSED_AT' |
4274 <span class="text-bold"
4275 >{{ interaction.closedAt | formatdate }}</span
4279 ng-if="interaction.disposition"
4283 >{{ 'DASHBOARDS.DISPOSITION' |
4286 <span class="text-bold"
4287 >{{ interaction.disposition }}</span
4291 ng-if="interaction.secondDisposition"
4295 >{{ 'DASHBOARDS.SECOND_LEVEL_DISPOSITION' |
4298 <span class="text-bold"
4299 >{{ interaction.secondDisposition }}</span
4303 ng-if="interaction.thirdDisposition"
4307 >{{ 'DASHBOARDS.THIRD_LEVEL_DISPOSITION' |
4310 <span class="text-bold"
4311 >{{ interaction.thirdDisposition }}</span
4319 <td md-cell>{{interaction.Owner.name}}</td>
4321 <div ng-if="interaction.Tags.length">
4322 <md-tooltip md-direction="left" layout="row">
4323 <span ng-repeat="tag in interaction.Tags"
4324 >{{tag.name}}<span ng-if="!$last">, </span></span
4328 md-font-icon="icon-tag"
4329 ng-style="{'color': interaction.Tags.length == 1 && interaction.Tags[0].color }"
4334 <td md-cell class="actions">
4337 class="md-icon-button"
4340 translate-attr-aria-label="CHAT.MORE"
4341 ng-click="$mdMenu.open($event)"
4344 md-font-icon="icon-dots-vertical"
4348 <md-menu-content width="3">
4351 ng-click="vm_dc.spychatInteraction($event, interaction)"
4352 translate="CHAT.SPYINTERACTION"
4360 ng-click="vm_dc.chatInteractionDownload(interaction, $event, true)"
4361 translate="CHAT.DOWNLOAD_WITH_ATTACHMENTS"
4363 Download with attachments
4369 ng-click="vm_dc.chatInteractionDownload(interaction, $event)"
4370 translate="CHAT.DOWNLOAD_WITHOUT_ATTACHMENTS"
4372 Download without attachments
4376 ng-if="vm_dc.crudPermissions.canDelete"
4379 ng-click="vm_dc.deleteConfirm(interaction, $event)"
4380 translate="CHAT.DELETE_INTERACTION"
4391 ng-if="!vm_dc.chatWebsiteInteractions.rows.length"
4393 <td md-cell colspan="12">
4394 <div layout="row" layout-align="center center">
4396 class="text-boxed-light"
4397 translate="CHAT.NO_INTERACTION_AVAILABLE"
4398 >No interaction available</span
4405 </md-table-container>
4406 <md-table-pagination
4407 md-label="{page: '{{'CHAT.PAGE' | translate}}:', rowsPerPage: '{{'CHAT.ROWSPERPAGE' | translate}}:', of: '{{'CHAT.OF' | translate}}'}"
4408 md-limit="vm_dc.query.limit"
4409 md-limit-options="[10, 15, 20, 50, 100, 250]"
4410 md-page="vm_dc.query.page"
4411 md-total="{{vm_dc.chatWebsiteInteractions.count}}"
4412 md-on-paginate="vm_dc.getChatWebsiteInteractions"
4414 ></md-table-pagination>
4421 <span translate="CHAT.OFFLINEMESSAGES">OFFLINEMESSAGES</span>
4425 class="chatWebsite-detail-form-container offlinemessages md-background-bg md-whiteframe-1dp"
4428 ng-controller="ChatWebsiteOfflineMessagesController as vm_dc"
4429 ng-init="vm_dc.init(vm.chatWebsite, vm.crudPermissions)"
4432 class="md-table-toolbar md-default"
4433 ng-hide="vm_dc.selectedChatWebsiteOfflineMessages.length"
4435 <div class="md-toolbar-tools">
4436 <span class="md-subhead" translate="CHAT.OFFLINEMESSAGES"
4437 >OfflineMessages</span
4440 on-search="vm_dc.getChatWebsiteOfflineMessages()"
4442 display-on="vm_dc.isSearchBarVisible"
4443 ng-disabled="vm_dc.query.search"
4452 class="md-table-toolbar md-accent"
4453 ng-show="vm_dc.selectedChatWebsiteOfflineMessages.length"
4455 <div class="md-toolbar-tools">
4456 <span class="md-subhead"
4457 >{{vm_dc.selectedChatWebsiteOfflineMessages.length}}
4458 {{vm_dc.selectedChatWebsiteOfflineMessages.length > 1 ?
4459 'items' : 'item'}} selected</span
4463 class="md-icon-button"
4464 ng-csv="vm_dc.exportSelectedChatWebsiteOfflineMessages"
4466 filename="chatWebsites.csv"
4468 <md-icon md-font-icon="icon-file-excel"></md-icon>
4471 ng-if="vm_dc.crudPermissions.canDelete"
4472 class="md-icon-button"
4473 ng-click="vm_dc.deleteSelectedChatWebsiteOfflineMessages($event)"
4474 aria-label="delete selected"
4476 translate-attr-label="CHAT.DELETE_SELECTED"
4478 <md-icon md-font-icon="icon-delete"></md-icon>
4482 <md-table-container class="font-size-12">
4487 ng-model="vm_dc.selectedChatWebsiteOfflineMessages"
4488 md-progress="vm_dc.promise"
4492 md-order="vm_dc.query.sort"
4493 md-on-reorder="vm_dc.getChatWebsiteOfflineMessages"
4496 <th md-column md-order-by="id">
4497 {{ 'CHAT.ID' | translate }}
4499 <th md-column>{{ 'CHAT.CONTACT' | translate }}</th>
4500 <th md-column md-order-by="createdAt">
4501 {{ 'CHAT.CREATED_AT' | translate }}
4503 <th md-column width="10px"></th>
4509 md-select="offlineMessage"
4511 ng-repeat="offlineMessage in vm_dc.chatWebsiteOfflineMessages.rows"
4513 <td md-cell>{{offlineMessage.id}}</td>
4514 <td md-cell privacy ng-cloak>
4516 ng-if="offlineMessage.Attachments.length > 0"
4517 class="no-margin material-icons"
4518 aria-label="Attachment"
4519 >attach_file</md-icon
4521 ng-if="offlineMessage.Attachments.length === 0"
4522 style="width: 24px; display: inline-block"
4524 >{{offlineMessage.Contact.firstName}}
4527 {{ offlineMessage.createdAt | formatdate }}
4529 <td md-cell class="actions">
4532 class="md-icon-button"
4535 translate-attr-aria-label="CHAT.MORE"
4536 ng-click="$mdOpenMenu($event)"
4539 md-font-icon="icon-dots-vertical"
4543 <md-menu-content width="3">
4546 ng-click="vm_dc.showOfflineMessageChatWebsiteOfflineMessage($event, offlineMessage)"
4547 translate="CHAT.SHOW_OFFLINEMESSAGE"
4553 ng-if="vm_dc.crudPermissions.canDelete"
4556 ng-click="vm_dc.deleteConfirm(offlineMessage, $event)"
4557 translate="CHAT.DELETE_OFFLINEMESSAGE"
4559 Delete OfflineMessage
4568 ng-if="!vm_dc.chatWebsiteOfflineMessages.rows.length"
4570 <td md-cell colspan="5">
4571 <div layout="row" layout-align="center center">
4573 class="text-boxed-light"
4574 translate="CHAT.NO_OFFLINEMESSAGE_AVAILABLE"
4575 >No offlinemessage available</span
4582 </md-table-container>
4583 <md-table-pagination
4584 md-label="{page: '{{'CHAT.PAGE' | translate}}:', rowsPerPage: '{{'CHAT.ROWSPERPAGE' | translate}}:', of: '{{'CHAT.OF' | translate}}'}"
4585 md-limit="vm_dc.query.limit"
4586 md-limit-options="[10, 15, 20, 50, 100, 250]"
4587 md-page="vm_dc.query.page"
4588 md-total="{{vm_dc.chatWebsiteOfflineMessages.count}}"
4589 md-on-paginate="vm_dc.getChatWebsiteOfflineMessages"
4591 ></md-table-pagination>