110 lines
5.7 KiB
JavaScript
110 lines
5.7 KiB
JavaScript
|
|
'use strict';
|
|||
|
|
|
|||
|
|
CKEDITOR.dialog.add( 'variablessob', function(editor) {
|
|||
|
|
let validNameRegex = /^\$\{[a-zA-z0-9_.]+\}/;
|
|||
|
|
let value = '';
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
title: "Собственник",
|
|||
|
|
minHeight: 60,
|
|||
|
|
minWidth: 280,
|
|||
|
|
contents: [
|
|||
|
|
{
|
|||
|
|
id: 'infosob',
|
|||
|
|
label: "Собственник",
|
|||
|
|
title: "Собственник",
|
|||
|
|
elements: [
|
|||
|
|
{
|
|||
|
|
id: 'name',
|
|||
|
|
type: 'select',
|
|||
|
|
style: 'width: 100%;',
|
|||
|
|
className: 'fastselect',
|
|||
|
|
label: "Выберите переменную:",
|
|||
|
|
multiple: true,
|
|||
|
|
items: editor.config.customValues.variablesListSob,
|
|||
|
|
'default': '',
|
|||
|
|
// required: true,
|
|||
|
|
//validate: CKEDITOR.dialog.validate.regex(validNameRegex, "Неверный формат переменной"),
|
|||
|
|
setup: function(widget) {
|
|||
|
|
//console.log(widget.data);
|
|||
|
|
value = '';
|
|||
|
|
this.setValue("${*" + widget.data.name + "*}");
|
|||
|
|
},
|
|||
|
|
onLoad: function(elem) {
|
|||
|
|
value = '';
|
|||
|
|
let select_id = '#' + this._.inputId;
|
|||
|
|
let select = $(select_id).clone();
|
|||
|
|
select.find('option').first().before('<option value="0">Не выбрано</option>');
|
|||
|
|
$(select_id).closest('.cke_dialog_ui_labeled_content').html(select);
|
|||
|
|
$(select_id).closest('.cke_dialog_container').removeClass('cke_reset_all');
|
|||
|
|
$(select_id).closest('.cke_dialog_container').find('label[for="'+this._.inputId+'"]').remove();
|
|||
|
|
$(select_id).fastselect({
|
|||
|
|
placeholder: "Выберите поля собственника",
|
|||
|
|
onItemSelect: function(item, model) {
|
|||
|
|
console.log(item);
|
|||
|
|
console.log(model);
|
|||
|
|
if(value != ''){
|
|||
|
|
value += ' ';
|
|||
|
|
}
|
|||
|
|
value += model.value;
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
$(select_id).closest(".fstElement").find(".fstControls input.hidenClass").attr('type', "text");
|
|||
|
|
$(select_id).closest(".fstElement").find(".fstControls input.hidenClass").removeClass('hidenClass');
|
|||
|
|
},
|
|||
|
|
onShow: function(widget) {
|
|||
|
|
value = '';
|
|||
|
|
let select_id = '#' + this._.inputId;
|
|||
|
|
let select = $(select_id).clone();
|
|||
|
|
$(select_id).closest('.cke_dialog_ui_labeled_content').html(select);
|
|||
|
|
$(select_id).closest('.cke_dialog_container').removeClass('cke_reset_all');
|
|||
|
|
$(select_id).closest('.cke_dialog_container').find('label[for="'+this._.inputId+'"]').remove();
|
|||
|
|
$(select_id).fastselect({
|
|||
|
|
placeholder: "Выберите переменную",
|
|||
|
|
onItemSelect: function(item, model) {
|
|||
|
|
console.log(item);
|
|||
|
|
console.log(model);
|
|||
|
|
if(value != ''){
|
|||
|
|
value += ' ';
|
|||
|
|
}
|
|||
|
|
value += model.value;
|
|||
|
|
},
|
|||
|
|
onItemDelete: function(model) {
|
|||
|
|
|
|||
|
|
// console.log('%'+model.value+'%');
|
|||
|
|
|
|||
|
|
value = value.replace(model.value,'');
|
|||
|
|
value = value.replace(' ',' ');
|
|||
|
|
console.log(value);
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
$(select_id).closest(".fstElement").find(".fstControls input.hidenClass").attr('type', "text");
|
|||
|
|
$(select_id).closest(".fstElement").find(".fstControls input.hidenClass").removeClass('hidenClass');
|
|||
|
|
},
|
|||
|
|
commit: function(widget) {
|
|||
|
|
|
|||
|
|
let select_id = '#' + this._.inputId;
|
|||
|
|
let vals = $(select_id).val();
|
|||
|
|
|
|||
|
|
//console.log($(select_id));
|
|||
|
|
console.log(value);
|
|||
|
|
/*let variable = '';
|
|||
|
|
for(var i=0; i<vals.length; i++){
|
|||
|
|
if(variable != '') variable +=' ';
|
|||
|
|
variable +=vals[i].replace('${','%%').replace('}','%%');
|
|||
|
|
}*/
|
|||
|
|
//JSON.stringify($(select_id).val());
|
|||
|
|
//variable = variable.replace("[", "");
|
|||
|
|
//variable = variable.replace("]", "");
|
|||
|
|
//console.log(variable);
|
|||
|
|
widget.setData('name', value);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
});
|