Allow multiple values for a single tag

This commit is contained in:
Dmitry Viskov
2016-11-03 02:57:19 +03:00
parent 1912176c5a
commit 5fe79dbdb4
7 changed files with 179 additions and 73 deletions

View File

@@ -3,29 +3,36 @@
function StructuredTagsView(runtime, element) {
var $element = $(element);
var saveTagsInProgress = false;
$element.find('select').each(function() {
var loader = this;
var sts = $(this).attr('structured-tags-select-init');
$($element).find('.save_tags').click(function(e) {
var dataToPost = {};
if (!saveTagsInProgress) {
saveTagsInProgress = true;
if (typeof sts === typeof undefined || sts === false) {
$(this).attr('structured-tags-select-init', 1);
$(this).change(function(e) {
e.preventDefault();
var selectedKey = $(loader).find('option:selected').val();
$element.find('select').each(function() {
dataToPost[$(this).attr('name')] = $(this).val();
});
e.preventDefault();
runtime.notify('save', {
state: 'start',
element: element,
message: gettext('Updating Tags')
});
$.ajax({
type: 'POST',
url: runtime.handlerUrl(element, 'save_tags'),
data: JSON.stringify(dataToPost),
dataType: 'json',
contentType: 'application/json; charset=utf-8'
}).always(function() {
runtime.notify('save', {
state: 'start',
element: element,
message: gettext('Updating Tags')
});
$.post(runtime.handlerUrl(element, 'save_tags'), {
'tag': $(loader).attr('name') + ':' + selectedKey
}).done(function() {
runtime.notify('save', {
state: 'end',
element: element
});
state: 'end',
element: element
});
saveTagsInProgress = false;
});
}
});