index.js
Компонент отвечающий за отрисовку и работу формы подключения различных чатов к CRM системе
by Evgeniy Kvasyuk
JavaScript
define(function (require) {
'use strict';
var $ = require('jquery'),
twig = require('twig'),
_ = require('underscore'),
fn = require('lib/common/fn'),
View = require('lib/core/view'),
Modal = require('lib/components/base/modal'),
FacebookModal = require('lib/interface/settings/digital_pipeline/chats/facebook'),
VkModal = require('lib/interface/settings/digital_pipeline/chats/vk'),
TelegramModal = require('lib/interface/settings/digital_pipeline/chats/telegram'),
ViberModal = require('lib/interface/settings/digital_pipeline/chats/viber'),
JivositeModal = require('lib/interface/settings/digital_pipeline/chats/jivosite'),
OlarkModal = require('lib/interface/settings/digital_pipeline/chats/olark'),
ChatsModal;
ChatsModal = View.extend({
events: {
'click .js-arrow-back': 'modalSlideBack',
'click .js-chat-integrations-item': 'toggleSlideForItemsChats',
'click .js-toggle-up' : 'slideUpContent'
},
_classes: function () {
return {
list_item: 'chats-integrations-list__item'
};
},
render: twig._preload(
['/tmpl/digital_pipeline/chats/modal.twig'],
'_render'
),
//Новые чаты
chats: {
facebook:{
component: FacebookModal
},
telegram:{
component: TelegramModal
},
viber:{
component: ViberModal
},
vk:{
component: VkModal
}
},
_render: function () {
this.uploadAndLoadData({
url: '/ajax/amochats/check'
});
return this;
},
initialize: function (options) {
View.prototype.initialize.apply(this, arguments);
this.options = options || {};
this.render();
this._$document.on('page:changed', _.bind(this.pageChangedDestroy, this));
},
uploadAndLoadData: function (options) {
var self = this;
$.ajax({
url: options.url,
data: {
service:...