5 ng-style="{'background-color': '{{settings.backgroundColor}}'}"
10 ng-repeat="(key, message) in messages track by $index"
11 class="md-padding message-row"
12 ng-style="{'font-size': '{{settings.messageFontSize}}px'}"
13 ng-class="{'in':( message.direction === 'in' && settings.messagesAlignment === 'alternate'), 'in2': ( message.direction === 'in' && settings.messagesAlignment === 'centered'), 'out': message.direction === 'out' && message.UserId, 'auto': message.direction === 'out' && !message.UserId}"
16 ng-if="message.direction ==='out' && !message.UserId"
17 ng-src="{{settings.remote}}/api/chat/websites/{{settings.id}}/system_avatar?token={{settings.token}}"
22 ng-if="message.direction ==='out' && message.UserId"
23 ng-src="{{settings.remote}}/api/{{settings.showAgentAvatar ? 'users/' + message.UserId + '/avatar' : 'chat/websites/' + settings.id + '/avatar'}}?token={{settings.token}}"
28 ng-if="message.direction ==='in'"
29 ng-src="{{settings.remote}}/api/chat/websites/{{settings.id}}/customer_avatar?token={{settings.token}}"
35 <div layout="row" layout-align="end center">
36 <div class="time secondary-text" ng-switch="settings.agentIdentifier">
37 <span ng-switch-when="website_alias">
38 {{message.direction === 'out' ? (message.UserId ?
39 (settings.agentAlias + message.UserId) : settings.systemAlias) :
40 (settings.customerAlias || visitor.from || 'Visitor' +
41 message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}
43 <span ng-switch-when="agent_alias">
44 {{message.direction === 'out' ? (message.UserId ?
45 (message.User.alias || message.User.fullname) :
46 settings.systemAlias) : (settings.customerAlias || visitor.from ||
47 'Visitor' + message.ContactId)}} - {{message.createdAt | date :
50 <span ng-switch-when="agent_fullname">
51 {{message.direction === 'out' ? (message.UserId ?
52 message.User.fullname : settings.systemAlias) :
53 (settings.customerAlias || visitor.from || 'Visitor' +
54 message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}
56 <span ng-switch-default>
57 {{message.direction === 'out' ? (message.UserId ?
58 ((settings.agentAlias || 'Agent') + message.UserId) :
59 settings.systemAlias) : (settings.customerAlias || visitor.from ||
60 'Visitor' + message.ContactId)}} - {{message.createdAt | date :
65 style="padding-left: 5px"
66 ng-if="message.direction === 'in' && settings.enableCustomerCheckmarks"
70 class="mdi mdi-18px mdi-check"
75 class="mdi mdi-18px mdi-check-all"
76 style="color: #34b7f1"
81 ng-class="{'in': message.direction === 'in', 'out': message.direction ==='out' && message.UserId, 'auto': message.direction ==='out' && !message.UserId}"
84 ng-if="message.AttachmentId"
85 ng-bind-html="message.body"
89 ng-if="!message.AttachmentId"
90 ng-bind-html="message.body | embed:vm.emojiOptions"
100 ng-repeat="error in vm.errors"
102 layout-align="center end"
105 <i class="mdi mdi-alert mdi-24px mdi-light"></i>
106 <span class="chat-error-message"
107 >{{error.message || 'Service temporarily unavailable.'}}</span
112 <!-- / CHAT CONTENT -->
115 <div layout="row" layout-align="center center" class="chat-footer md-padding">
116 <div id="input_text" layout="row" layout-align="end center">
117 <input id="emojionearea" />
120 id="attachmentButton"
121 ng-if="settings.enableCustomerAttachment"
122 class="md-fab md-mini md-warn"
124 flow-init="vm.ngFlowOptions"
126 flow-file-added="vm.fileAdded($file, $event, $flow)"
128 <i class="mdi mdi-attachment mdi-24px mdi-light"></i>
134 ng-if="settings.enableSendButton"
135 class="md-fab md-mini md-warn"
137 ng-click="vm.reply_button($event)"
141 class="mdi mdi-send mdi-24px mdi-light icon_color"
145 <!-- / CHAT FOOTER -->