210 lines
7.4 KiB
Plaintext
210 lines
7.4 KiB
Plaintext
function checkTagsQuantity() {
|
|
var $tagLead = $('.tag-lead'),
|
|
$tagsGroups = $('.tags-groups');
|
|
|
|
$tagsGroups.each(function(i) {
|
|
var $children = $(this).children().length;
|
|
$tagLead.eq(i).children('.badge').text($children);
|
|
})
|
|
}
|
|
|
|
function checkedLength() {
|
|
var $tagsList = $('#tags-list'),
|
|
$moduleTags,
|
|
$defaultTags,
|
|
$toDefault;
|
|
function reload_links() {
|
|
if($('.default-tags').length) {
|
|
$moduleTags = $('.module-tags input[type="checkbox"]:checked');
|
|
$defaultTags = $('.default-tags input[type="checkbox"]:checked');
|
|
|
|
if($moduleTags.length > 1 || $moduleTags.length+$defaultTags.length > 1) {
|
|
$('#mergerTags').removeClass('hide');
|
|
} else {
|
|
$('#mergerTags').addClass('hide');
|
|
};
|
|
|
|
if ($moduleTags.length > 0 || $defaultTags.length > 0) {
|
|
$('#deselect').removeClass('hide');
|
|
var ids = new Array();
|
|
$defaultTags.each(function(i) {
|
|
ids.push($defaultTags.eq(i).parent().siblings('.tag_id').val());
|
|
});
|
|
$moduleTags.each(function(i) {
|
|
ids.push($moduleTags.eq(i).parent().siblings('.tag_id').val());
|
|
});
|
|
$('#deleteTags').attr('rel', "<%= Rails.application.routes.url_helpers.delete_tags_admin_tags_path %>" + "?ids=" + ids);
|
|
$('#deleteTags').removeClass('hide');
|
|
$('#deselect').on('click', deselect);
|
|
} else {
|
|
$('#deselect').addClass('hide');
|
|
$('#deleteTags').attr('rel', "");
|
|
$('#deleteTags').addClass('hide');
|
|
$('#deselect').off('click', deselect);
|
|
};
|
|
|
|
if ($moduleTags.length > 0 && $defaultTags.length == 0) {
|
|
var ids = new Array();
|
|
$moduleTags.each(function(i) {
|
|
ids.push($moduleTags.eq(i).parent().siblings('.tag_id').val());
|
|
});
|
|
$('#addDefault').attr('href', "<%= Rails.application.routes.url_helpers.add_to_default_admin_tags_path %>" + "?ids=" + ids);
|
|
$('#addDefault').removeClass('hide');
|
|
} else {
|
|
$('#addDefault').attr('href', "");
|
|
$('#addDefault').addClass('hide');
|
|
};
|
|
} else {
|
|
$moduleTags = $('.module-tags li.module input[type="checkbox"]:checked');
|
|
$defaultTags = $('.module-tags li.default input[type="checkbox"]:checked');
|
|
if($defaultTags.length > 0 || $moduleTags.length > 0) {
|
|
$('#deselect').removeClass('hide');
|
|
$('#deselect').on('click', deselect);
|
|
if($defaultTags.length > 0 && $moduleTags.length > 0) {
|
|
$('#deleteTags').attr('rel', "");
|
|
$('#deleteTags').addClass('hide');
|
|
$('#removeDefaults').attr('rel', "");
|
|
$('#removeDefaults').addClass('hide');
|
|
$('#mergerTags').addClass('hide');
|
|
} else if ($defaultTags.length > 0) {
|
|
var ids = new Array();
|
|
$defaultTags.each(function(i) {
|
|
ids.push($defaultTags.eq(i).parent().siblings('.tag_id').val());
|
|
});
|
|
$('#removeDefaults').attr('rel', "<%= Rails.application.routes.url_helpers.remove_default_admin_module_tags_path %>" + "?module_app_id=" + $('#module_app_id').val() + "&ids=" + ids);
|
|
$('#removeDefaults').removeClass('hide');
|
|
} else {
|
|
var ids = new Array();
|
|
$moduleTags.each(function(i) {
|
|
ids.push($moduleTags.eq(i).parent().siblings('.tag_id').val());
|
|
});
|
|
$('#deleteTags').attr('rel', "<%= Rails.application.routes.url_helpers.delete_tags_admin_module_tags_path %>" + "?module_app_id=" + $('#module_app_id').val() + "&ids=" + ids);
|
|
$('#deleteTags').removeClass('hide');
|
|
if($moduleTags.length > 1) {
|
|
$('#mergerTags').removeClass('hide');
|
|
} else {
|
|
$('#mergerTags').addClass('hide');
|
|
};
|
|
};
|
|
} else {
|
|
$('#deselect').addClass('hide');
|
|
$('#deleteTags').attr('rel', "");
|
|
$('#deleteTags').addClass('hide');
|
|
$('#removeDefaults').attr('rel', "");
|
|
$('#removeDefaults').addClass('hide');
|
|
$('#mergerTags').addClass('hide');
|
|
$('#deselect').off('click', deselect);
|
|
};
|
|
};
|
|
}
|
|
$tagsList.delegate('.card', 'click', function() {
|
|
reload_links();
|
|
});
|
|
$('#selectAllTags').on('click', function() {
|
|
$('.filter-item:not(".mark") input[type="checkbox"]').attr('checked', true);
|
|
$('.filter-item:not(".mark") .card').addClass('active');
|
|
reload_links();
|
|
});
|
|
$('#deleteTags').on('click', function() {
|
|
$('#delete_tags .tags-groups').empty();
|
|
$('#delete_tags a.delete-tags').attr("href", $(this).attr("rel"));
|
|
if($defaultTags) {
|
|
$defaultTags.each(function(i) {
|
|
$defaultTags.eq(i).parents('.filter-item').clone().appendTo('#delete_tags .tags-groups');
|
|
$('#delete_tags .tags-groups .filter-item').addClass('def');
|
|
});
|
|
}
|
|
$moduleTags.each(function(i) {
|
|
$moduleTags.eq(i).parents('.filter-item').clone().appendTo('#delete_tags .tags-groups');
|
|
});
|
|
$('#delete_tags').modal('show', cleanTagInputs());
|
|
function cleanTagInputs(){
|
|
var $tagsDelete = $('#delete_tags'),
|
|
$filterItem = $tagsDelete.find('.filter-item');
|
|
$filterItem.find('.card, .amount').remove();
|
|
$filterItem.find('a').removeAttr('class');
|
|
$filterItem.find('a').removeAttr('href');
|
|
}
|
|
});
|
|
$('#mergerTags').on('click', function() {
|
|
if($moduleTags || $defaultTags) {
|
|
if($moduleTags.length > 1 || $moduleTags.length+$defaultTags.length > 1) {
|
|
$('#tags-merger form').attr("action", $(this).attr("rel"));
|
|
mergerTags()
|
|
}
|
|
}
|
|
});
|
|
$('#removeDefaults').on('click', function() {
|
|
$('#remove_defaults .tags-groups').empty();
|
|
$('#remove_defaults a.remove-defaults').attr("href", $(this).attr("rel"));
|
|
$defaultTags.each(function(i) {
|
|
$defaultTags.eq(i).parents('.filter-item').clone().appendTo('#remove_defaults .tags-groups');
|
|
});
|
|
$('#remove_defaults').modal('show', cleanTagInputs());
|
|
function cleanTagInputs(){
|
|
var $removeDefaults = $('#remove_defaults'),
|
|
$filterItem = $removeDefaults.find('.filter-item');
|
|
$filterItem.find('.card, .amount').remove();
|
|
$filterItem.find('a').removeAttr('class');
|
|
$filterItem.find('a').removeAttr('href');
|
|
}
|
|
});
|
|
|
|
function deselect() {
|
|
$('.tags input[type="checkbox"]').attr('checked', false);
|
|
$('.card').removeClass('active');
|
|
$('.bottomnav .toggable').not('.open-slide').addClass('hide');
|
|
$('#deleteTags').attr('rel', "<%= Rails.application.routes.url_helpers.delete_tags_admin_tags_path %>");
|
|
$('#addDefault').attr('href', "<%= Rails.application.routes.url_helpers.add_to_default_admin_tags_path %>");
|
|
}
|
|
}
|
|
|
|
|
|
function addTagsTab() {
|
|
$('a[data-toggle="tab"]').click(function (e) {
|
|
e.preventDefault();
|
|
$(this).tab('show');
|
|
})
|
|
}
|
|
|
|
|
|
function mergerTags() {
|
|
var $moduleTags = $('.module-tags input[type="checkbox"]:checked'),
|
|
$defaultTags = $('.default-tags input[type="checkbox"]:checked');
|
|
|
|
$defaultTags.each(function(i) {
|
|
$defaultTags.eq(i).parents('.filter-item').clone().appendTo('#tags-merger .tags-groups');
|
|
$('#tags-merger .tags-groups .filter-item').addClass('def');
|
|
});
|
|
$moduleTags.each(function(i) {
|
|
$moduleTags.eq(i).parents('.filter-item').clone().appendTo('#tags-merger .tags-groups');
|
|
});
|
|
|
|
$('#tags-merger').modal('show', changeTagName());
|
|
function changeTagName() {
|
|
var $tagsMerger = $('#tags-merger'),
|
|
$newTagsName = $('.new-tags-name'),
|
|
$filterItem = $tagsMerger.find('.filter-item');
|
|
$filterItem.find('.card, .amount').remove();
|
|
$filterItem.find('a').removeAttr('class');
|
|
$filterItem.find('a').removeAttr('href');
|
|
$filterItem.on('click', function() {
|
|
$(this).find('.tag').each(function(i) {
|
|
$newTagsName.eq(i).val($(this).text())
|
|
});
|
|
});
|
|
}
|
|
}
|
|
$(function() {
|
|
if($('.default-tags').length) {
|
|
// checkTagsQuantity();
|
|
checkedLength();
|
|
$('#tags-merger').on('hidden', function () {
|
|
$(this).find('.filter-item').remove();
|
|
});
|
|
} else {
|
|
checkedLength();
|
|
};
|
|
// addTagsTab();
|
|
});
|