Browse Source

Fix call waiting panel & Fix timers & Styling & Remove redundant code

master
vbarkasov 8 years ago
parent
commit
f2fc7cc0ef
5 changed files with 27 additions and 131 deletions
  1. +3
    -89
      src/apps/callcenter/app.js
  2. +3
    -21
      src/apps/callcenter/style/app.scss
  3. +9
    -9
      src/apps/callcenter/views/agents_dashboard.html
  4. +8
    -8
      src/apps/callcenter/views/calls_dashboard.html
  5. +4
    -4
      src/apps/callcenter/views/queues_dashboard.html

+ 3
- 89
src/apps/callcenter/app.js View File

@ -339,8 +339,7 @@ var app = {
map_agents[v.id] = 'logged_out';
});
// TODO: uncomment next
//self.global_timer = setInterval(huge_poll, polling_interval * 1000);
self.global_timer = setInterval(huge_poll, polling_interval * 1000);
},
get_queues_stats: function (callback) {
@ -436,18 +435,6 @@ var app = {
});
},
/*render_callwaiting_list: function (_container) {
var self = this,
container = _container || $('#dashboard-content');
$('#callwaiting-list', container).empty().listpanel({
label: 'Call Waiting',
identifier: 'callwaiting-listview',
data: []
});
$('.add_flow', container).empty().html('call_waiting_log');
},*/
get_time_seconds: function (seconds) {
seconds = Math.floor(seconds);
var hours = Math.floor(seconds / 3600),
@ -706,7 +693,6 @@ var app = {
$container.find('.topbar-right .list_queues_inner').animate({ scrollLeft: scroll_value }, 0);
$container.find('#callwaiting-list').append(calls_html);
// self.render_callwaiting_list(dashboard_html);
$container.empty().append(html);
self.bind_live_events($container);
self.render_timers(data);
@ -788,9 +774,9 @@ var app = {
timer_type = _timer_type || 'increment';
if(type === 'in_progress' || type === 'agent_status') {
$target = $('.agent_wrapper#'+id+' .call_time .data_value');
$target = $('.js-agent-item#'+id+' .js-call-time .js-time-value');
} else if(type === 'waiting') {
$target = $('.call-waiting[data-call_id="'+id+'"] .timer');
$target = $('.js-cw-item[data-call_id="'+id+'"] .js-timer');
}
if(!self.map_timers[type]) {
@ -935,32 +921,6 @@ var app = {
};
queueData = $.extend(true, defaultQueueData, queueData || {});
/* var data = {
"data": {
"name": "test2",
"record_caller": true,
"moh": "1880ca1c34f3ed88b4071cda175f525e",
"strategy": "round_robin",
"call_recording_url": "",
"agent_wrapup_time": "30",
"max_queue_size": "0",
"connection_timeout": "0",
"enter_when_empty": false,
"notifications": {
"hangup": "",
"pickup": "",
"method": "GET"
},
"member_timeout": "5",
"ui_metadata": {
"ui": "kazoo-ui",
"version": "3.22-0https://github.com/2600hz/kazoo-ui.gittags/3.22.096a18351d378f041d957acd3c1c94c8e6de462ef2015-10-22_01-32-14120"
}
},
"verb": "PUT"
};*/
monster.parallel({
users: function(callback) {
@ -1310,27 +1270,6 @@ var app = {
settingsQueueSave: function(queueId, queueData, callback) {
var self = this;
/*var data = {
"data": {
"connection_timeout": "0",
"member_timeout": "5",
"agent_wrapup_time": "30",
"record_caller": true,
"moh": "1880ca1c34f3ed88b4071cda175f525e",
"notifications": {"hangup": "", "pickup": "", "method": "GET"},
"max_queue_size": "0",
"name": "test2",
"strategy": "round_robin",
"call_recording_url": "",
"enter_when_empty": false,
"ui_metadata": {
"ui": "kazoo-ui",
"version": "3.22-0https://github.com/2600hz/kazoo-ui.gittags/3.22.096a18351d378f041d957acd3c1c94c8e6de462ef2015-10-22_01-32-14120"
}
},
"verb": "PUT"
};*/
if(queueId) {
// Edit exist queue
monster.request({
@ -1643,9 +1582,6 @@ var app = {
},
detail_stat: function(queue_id, container) {
console.log('Detail stat');
console.log('Queue id:');
console.log(queue_id);
var self = this,
$self_queue = $('#' + queue_id, container);
@ -1696,29 +1632,7 @@ var app = {
});
self.map_timers = {};
},
activate_queue_stat: function(args) {
//TODO check render global data
var self = this,
container = args.container || $('#monster-content');
container.empty();
self.render(container, function() {
var $self_queue = $('#'+args.id, container);
self.detail_stat(args.id, container);
});
}
/*activate: function(_container) {
var self = this,
container = _container || $('#monster-content');
container.empty();
self.current_queue_id = undefined;
self.hide_logout = false;
//TODO check render global data
self.render(container);
},*/
};
return app;


+ 3
- 21
src/apps/callcenter/style/app.scss View File

@ -223,7 +223,7 @@
padding: 0;
}
li > a {
li > span {
display: block;
margin: 0 0 -1px;
padding: 8px 14px;
@ -231,34 +231,16 @@
color: #414141;
}
li:first-child > a {
li:first-child > span {
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
li:last-child > a {
li:last-child > span {
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}
.active > a {
position: relative;
z-index: 2;
padding: 9px 15px;
border: 0;
text-shadow: 0 1px 0 rgba(0,0,0,.15);
-webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
-moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
}
.icon-right {
float: right;
margin-top: 2px;
margin-right: -6px;
opacity: .25;
}
.call-waiting-item {
.cw-item-name {
display: inline-block;


+ 9
- 9
src/apps/callcenter/views/agents_dashboard.html View File

@ -8,41 +8,41 @@
<span class="agent_header_badge">{{status}}</span>
</div>
<div class="agent_data">
<div class="row_data call_time">
<div class="row_data call_time js-call-time">
{{#compare status "===" "paused"}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.break_time }}</div>
<div class="data_value">{{call_time}}</div>
<div class="js-time-value data_value">{{call_time}}</div>
{{/compare}}
{{#compare status "===" 'wrapup'}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.wrapping_up }}</div>
<div class="data_value">{{call_time}}</div>
<div class="js-time-value data_value">{{call_time}}</div>
{{/compare}}
{{#compare status "===" 'handling'}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.call_time }}</div>
<div class="data_value">{{call_time}}</div>
<div class="js-time-value data_value">{{call_time}}</div>
{{/compare}}
{{#compare status "===" 'busy'}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.busy_since }}</div>
<div class="data_value">{{call_time}}</div>
<div class="js-time-value data_value">{{call_time}}</div>
{{/compare}}
{{#compare status "===" 'ready'}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.call_time }}</div>
<div class="data_value">-</div>
<div class="js-time-value data_value">-</div>
{{/compare}}
{{#compare status "===" 'logged_out'}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.call_time }}</div>
<div class="data_value">-</div>
<div class="js-time-value data_value">-</div>
{{/compare}}
{{#compare status "===" 'logged_in'}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.call_time }}</div>
<div class="data_value">-</div>
<div class="js-time-value data_value">-</div>
{{/compare}}
</div>
<div class="row_data call">
{{#compare status "===" 'handling'}}
{{#if current_call}}
<div class="data_title agent_text">{{ @root.i18n.callcenter.current_call }}</div>
<a title="{{ ../i18n.callcenter.eavesdropTooltip }}" class="btn js-eavesdrop eavesdrop-call" data-call_id="{{current_call.call_id}}" href="">
<a title="{{ @root.i18n.callcenter.eavesdropTooltip }}" class="btn js-eavesdrop eavesdrop-call" data-call_id="{{current_call.call_id}}" href="">
<i class="fa fa-headphones"></i>
</a>
{{else}}


+ 8
- 8
src/apps/callcenter/views/calls_dashboard.html View File

@ -1,19 +1,19 @@
<ul>
{{#each waits}}
<li title="{{status}}" class="call-waiting-item" data-call_id="{{call_id}}" data-queue_id="{{queue_id}}">
<a href="#" data-module="activate" data-action="media">
<li title="{{status}}" class="js-cw-item call-waiting-item" data-call_id="{{call_id}}" data-queue_id="{{queue_id}}">
<span data-module="activate" data-action="media">
<span class="cw-item-name">{{friendly_title}}</span>
<span class="cw-item-timer">{{friendly_duration}}</span>
</a>
<span class="js-timer cw-item-timer">{{friendly_duration}}</span>
</span>
</li>
{{/each}}
{{#each progress}}
<li title="{{status}}" class="call-waiting-item" data-call_id="{{call_id}}" data-queue_id="{{queue_id}}">
<a href="#" data-module="activate" data-action="media">
<li title="{{status}}" class="js-cw-item call-waiting-item" data-call_id="{{call_id}}" data-queue_id="{{queue_id}}">
<span data-module="activate" data-action="media">
<span class="cw-item-name">{{friendly_title}}</span>
<span class="cw-item-timer">{{friendly_duration}}</span>
</a>
<span class="js-timer cw-item-timer">{{friendly_duration}}</span>
</span>
</li>
{{/each}}
</ul>

+ 4
- 4
src/apps/callcenter/views/queues_dashboard.html View File

@ -4,11 +4,11 @@
{{#each queues}}
<li id="{{id}}" data-current_calls="{{current_calls}}" data-total_calls="{{total_calls}}">
<div class="box_title">
<a title="{{ ../i18n.callcenter.eavesdropTooltip }}" class="btn js-eavesdrop eavesdrop_queue tech_support" style="display: none;" rel="popover">
<a title="{{ @root.i18n.callcenter.eavesdropTooltip }}" class="btn js-eavesdrop eavesdrop_queue tech_support" style="display: none;" rel="popover">
<i class="fa fa-headphones"></i>
</a>
<span class="box_title_text">{{name}}</span>
<a title="{{ ../i18n.callcenter.settings.editQueueTitle }}" class="btn js-edit-queue edit_queue wrench_screw" style="display: none;" rel="popover" data-content="{{clicking_here_will_send_you}}">
<a title="{{ @root.i18n.callcenter.settings.editQueueTitle }}" class="btn js-edit-queue edit_queue wrench_screw" style="display: none;" rel="popover" data-content="{{clicking_here_will_send_you}}">
<i class="fa fa-cog"></i>
</a>
</div>
@ -16,7 +16,7 @@
<div class="first_row">
<div class="box calls">
<div class="icon_wrapper"><span class="fa fa-volume-control-phone"></span></div>
<div class="stat" title="{{ ../i18n.callcenter.busy }}">
<div class="stat" title="{{ @root.i18n.callcenter.busy }}">
<span class="blue">{{current_calls}}</span> / {{total_calls}}
</div>
</div>
@ -28,7 +28,7 @@
</div>
</div>
<div class="second_row">
<div class="box dropped_calls" title="{{ ../i18n.callcenter.missed_calls }}">
<div class="box dropped_calls" title="{{ @root.i18n.callcenter.missed_calls }}">
<div class="icon_wrapper"><span class="fa fa-thumbs-o-down"></span></div>
<div class="red">{{abandoned_calls}}</div>
</div>


Loading…
Cancel
Save