1 /* global __ dataTablesDefaults */
3 function clean_line(line) {
4 $(line).find('input[type="text"]').val("");
5 $(line).find('select').find('option:first').attr("selected", "selected");
8 function clone_line(line) {
9 var new_line = $(line).clone();
10 $(new_line).removeClass("nodrag nodrop");
11 $(new_line).find('td:last-child>a').removeClass("add").addClass("delete").html( __("Delete") );
12 $(new_line).find('[data-id]').each(function () {
13 $(this).attr({ name: $(this).attr('data-id') }).removeAttr('data-id');
15 $(new_line).find("select").each(function () {
16 var attr = $(this).attr('name');
17 var val = $(line).find('[data-id="' + attr + '"]').val();
18 $(this).find('option[value="' + val + '"]').attr("selected", "selected");
23 function tableInit( oldtabid, newtabid ) {
26 var oldTableId = $("#" + oldtabid + "_table");
27 oldTableId.DataTable().destroy();
30 var newTableId = $("#" + newtabid + "_table");
32 $.extend(true, {}, dataTablesDefaults, {
34 { "orderable": false, "searchable": false, 'targets': ['NoSort'] },
41 $(document).ready(function () {
43 tableInit( "", "search_fields");
46 activate: function( event, ui ){
47 tableInit( ui.oldPanel.attr('id'), ui.newPanel.attr('id') );
51 $('.delete').click(function () {
52 if ($(this).hasClass('mandatory') && $(".mandatory[data-field_name=" + $(this).attr('data-field_name') + "]").length < 2) {
53 alert( __("This field is mandatory and must have at least one mapping") );
56 $(this).parents('tr').remove();
60 $("table.mappings").tableDnD({
61 onDragClass: "dragClass highlighted-row",
64 $('.add').click(function () {
65 var table = $(this).closest('table');
66 var index_name = $(table).attr('data-index_name');
67 var line = $(this).closest("tr");
68 var marc_field = $(line).find('input[data-id="mapping_marc_field"]').val();
69 if (marc_field.length > 0) {
70 var new_line = clone_line(line);
71 new_line.appendTo($('table[data-index_name="' + index_name + '"]>tbody'));
72 $('.delete').click(function () {
73 $(this).parents('tr').remove();
78 onDragClass: "dragClass highlighted-row",
82 $("#facet_biblios > table").tableDnD({
83 onDragClass: "dragClass highlighted-row",