mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
fix processing of initial tags
This commit is contained in:
@ -158,34 +158,41 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
// API backed tags
|
||||
var tags = $('#id_tags').val() === "" ? [] : $('#id_tags').val().split(/,\s*/);
|
||||
var tags = $('#id_tags');
|
||||
if (tags.length > 0 && tags.val().length > 0){
|
||||
tags = $('#id_tags').val().split(/,\s*/);
|
||||
} else {
|
||||
tags = [];
|
||||
}
|
||||
tag_objs = $.map(tags, function (tag) {
|
||||
return {
|
||||
id: tag,
|
||||
text: tag,
|
||||
selected: true
|
||||
}
|
||||
});
|
||||
// Replace the django issued text input with a select element
|
||||
$('#id_tags').replaceWith('<select name="tags" id="id_tags" class="form-control"></select>');
|
||||
$('#id_tags').select2({
|
||||
tags: tag_objs,
|
||||
data: function(params) {
|
||||
// paging
|
||||
var offset = params.page * 50 || 0;
|
||||
var parameters = {
|
||||
q: params.term,
|
||||
brief: 1,
|
||||
limit: 50,
|
||||
offset: offset,
|
||||
};
|
||||
return parameters;
|
||||
},
|
||||
tags: true,
|
||||
data: tag_objs,
|
||||
multiple: true,
|
||||
allowClear: true,
|
||||
placeholder: "Tags",
|
||||
ajax: {
|
||||
delay: 250,
|
||||
url: "/api/extras/tags/",
|
||||
data: function(params) {
|
||||
// paging
|
||||
var offset = params.page * 50 || 0;
|
||||
var parameters = {
|
||||
q: params.term,
|
||||
brief: 1,
|
||||
limit: 50,
|
||||
offset: offset,
|
||||
};
|
||||
return parameters;
|
||||
},
|
||||
processResults: function (data) {
|
||||
var results = $.map(data.results, function (obj) {
|
||||
return {
|
||||
@ -204,16 +211,14 @@ $(document).ready(function() {
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#id_tags').val(tags).trigger("change");
|
||||
$('#id_tags').closest('form').submit(function(event){
|
||||
// django-taggit can only accept a single comma seperated string value
|
||||
var value = $('#id_tags').val();
|
||||
var final_tags = "";
|
||||
if (value.length > 0){
|
||||
final_tags = value.join(', ');
|
||||
var final_tags = value.join(', ');
|
||||
$('#id_tags').val(null).trigger('change');
|
||||
var option = new Option(final_tags, final_tags, true, true);
|
||||
$('#id_tags').append(option).trigger('change');
|
||||
}
|
||||
$('#id_tags').val(null);
|
||||
var option = new Option(final_tags, final_tags, true, true);
|
||||
$('#id_tags').append(option);
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user