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;
|
|
});
|