You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

84 lines
1.9 KiB

define(function(require){
var $ = require('jquery'),
_ = require('underscore'),
monster = require('monster'),
chart = require('chart');
var app = {
requests: {
},
subscribe: {
'voip.featureCodes.render': 'featureCodesRender'
},
featureCodesRender: function(args) {
var self = this,
parent = args.parent || $('.right-content');
self.featureCodesLoadData(function(featureCodesData) {
var template = $(monster.template(self, 'featureCodes-layout', {featureCodes: featureCodesData}));
self.featureCodesBindEvents({
parent: parent,
template: template,
featureCodes: featureCodesData
});
parent
.empty()
.append(template);
});
},
featureCodesLoadData: function(callback) {
var self = this;
self.callApi({
resource: 'callflow.list',
data: {
accountId: self.accountId,
filters: {
'has_key': 'featurecode'
}
},
success: function(data, status) {
var featureCodes = $.map(data.data, function(callflow) {
if(!_.isEmpty(callflow.featurecode)) {
return {
key: callflow.featurecode.name,
name: self.i18n.active().featureCodes.labels[callflow.featurecode.name],
number: callflow.featurecode.number.replace(/\\/g,'')
};
}
});
callback && callback(featureCodes);
}
});
},
featureCodesBindEvents: function(args) {
var self = this,
parent = args.parent,
template = args.template,
featureCodes = args.featureCodes;
template.find('.main-number-link').on('click', function(e) {
e.preventDefault();
var leftMenu = parent.parents('#voip_container').find('.left-menu');
leftMenu.find('.category')
.removeClass('active');
leftMenu.find('.category#strategy')
.addClass('active');
parent.empty();
monster.pub('voip.strategy.render', {
parent: parent
});
});
}
};
return app;
});