Хочу поставить поля с Чекбоксом, но не знаю как это сделать
вот Исходники >
{
"widget":{
"name": "widget.name",
"description": "widget.description",
"short_description": "widget.short_description",
"code": "radioaktive_google_spreadsheets",
"secret_key": "------your-secret-key------",
"version": "1.0.0",
"interface_version": 2,
"init_once": true,
"locale":[
"ru",
"en"
],
"installation": true,
"support": {
"link": "radioaktive@dvij.info",
"email": "radioaktive@protonmail.com"
}
},
"locations":[
"ccard-1",
"clist-0",
"lcard-1",
"llist-0",
"settings"
],
"tour": {
"is_tour": true,
"tour_images": {
"ru": [
"/images/logo_main.png",
"/images/logo_main.png",
"/images/logo_main.png"
]
},
"tour_description": "widget.tour_description"
},
"settings":{
"login":{
"name": "settings.login",
"type": "text",
"required": true
},
"api_key":{
"name": "settings.api_key",
"type": "text",
"required": true
},
"account":{
"name": "settings.account",
"type": "text",
"required": true
}
}
}
manifest.json
Вот скрипт.js
define(['jquery', 'underscore', 'twigjs'], function ($, _, Twig) {
var CustomWidget = function () {
var self = this;
this.getTemplate = _.bind(function (template, params, callback) {
params = (typeof params == 'object') ? params : {};
template = template || '';
return this.render({
href: '/templates/' + template + '.twig',
base_path: this.params.path,
v: this.get_version(),
load: callback
}, params);
}, this);
this.callbacks = {
render: function () {
console.log('render');
return true;
},
init: _.bind(function () {
console.log('init');
AMOCRM.addNotificationCallback(self.get_settings().widget_code, function (data) {
console.log(data)
});
this.add_action("phone", function (params) {
/**
* код взаимодействия с виджетом телефонии
*/
console.log(params)
});
this.add_source("sms", function (params) {
/**
params - это объект в котором будут необходимые параметры для отправки смс
{
"phone": 75555555555, // телефон получателя
"message": "sms text", // сообщение для отправки
"contact_id": 12345 // идентификатор контакта, к которому привязан номер телефона
}
*/
return new Promise(_.bind(function (resolve, reject) {
// тут будет описываться логика для отправки смс
self.crm_post(
'https://example.com/',
params,
function (msg) {
console.log(msg);
resolve();
},
'text'
);
}, this)
);
});
return true;
}, this),
bind_actions: function () {
console.log('bind_actions');
return true;
},
settings: function () {
return true;
},
onSave: function () {
alert('click');
return true;
},
destroy: function () {
},
contacts: {
//select contacts in list and clicked on widget name
selected: function () {
console.log('contacts');
}
},
leads: {
//select leads in list and clicked on widget name
selected: function () {
console.log('leads');
}
},
tasks: {
//select taks in list and clicked on widget name
selected: function () {
console.log('tasks');
}
},
advancedSettings: _.bind(function () {
var $work_area = $('#work-area-' + self.get_settings().widget_code),
$save_button = $(
Twig({ref: '/tmpl/controls/button.twig'}).render({
text: 'Сохранить',
class_name: 'button-input_blue button-input-disabled js-button-save-' + self.get_settings().widget_code,
additional_data: ''
})
),
$cancel_button = $(
Twig({ref: '/tmpl/controls/cancel_button.twig'}).render({
text: 'Отмена',
class_name: 'button-input-disabled js-button-cancel-' + self.get_settings().widget_code,
additional_data: ''
})
);
console.log('advancedSettings');
$save_button.prop('disabled', true);
$('.content__top__preset').css({float: 'left'});
$('.list__body-right__top').css({display: 'block'})
.append('<div class="list__body-right__top__buttons"></div>');
$('.list__body-right__top__buttons').css({float: 'right'})
.append($cancel_button)
.append($save_button);
self.getTemplate('advanced_settings', {}, function (template) {
var $page = $(
template.render({title: self.i18n('advanced').title, widget_code: self.get_settings().widget_code})
);
$work_area.append($page);
});
}, self),