Lines 2-13
Link Here
|
2 |
<title>Koha › Administration › Elastic Search mappings</title> |
2 |
<title>Koha › Administration › Elastic Search mappings</title> |
3 |
[% INCLUDE 'doc-head-close.inc' %] |
3 |
[% INCLUDE 'doc-head-close.inc' %] |
4 |
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.tablednd_[% KOHA_VERSION %].js"></script> |
4 |
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.tablednd_[% KOHA_VERSION %].js"></script> |
|
|
5 |
[% INCLUDE 'datatables.inc' %] |
6 |
[% INCLUDE 'columns_settings.inc' %] |
7 |
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables_[% KOHA_VERSION %].css" /> |
5 |
<script type="text/javascript"> |
8 |
<script type="text/javascript"> |
|
|
9 |
var searchfieldst; |
10 |
var bibliost; |
11 |
var authoritiest; |
12 |
|
6 |
function clean_line( line ) { |
13 |
function clean_line( line ) { |
7 |
$(line).find('input[type="text"]').val(""); |
14 |
$(line).find('input[type="text"]').val(""); |
8 |
$(line).find('select').find('option:first').attr("selected", "selected"); |
15 |
$(line).find('select').find('option:first').attr("selected", "selected"); |
9 |
} |
16 |
} |
10 |
|
17 |
|
|
|
18 |
function reset_datatables() { |
19 |
var searchfieldSettings = searchfieldst.fnSettings(); |
20 |
var biblioSettings = bibliost.fnSettings(); |
21 |
var authoritySettings = authoritiest.fnSettings(); |
22 |
|
23 |
searchfieldSettings._iDisplayLength = 20; |
24 |
biblioSettings._iDisplayLength = 20; |
25 |
authoritySettings._iDisplayLength = 20; |
26 |
|
27 |
searchfieldst.fnDraw(); |
28 |
bibliost.fnDraw(); |
29 |
authoritiest.fnDraw(); |
30 |
} |
31 |
|
32 |
function show_all_rows() { |
33 |
var searchfieldSettings = searchfieldst.fnSettings(); |
34 |
var biblioSettings = bibliost.fnSettings(); |
35 |
var authoritySettings = authoritiest.fnSettings(); |
36 |
|
37 |
searchfieldSettings._iDisplayLength = -1; |
38 |
biblioSettings._iDisplayLength = -1; |
39 |
authoritySettings._iDisplayLength = -1; |
40 |
|
41 |
searchfieldSettings.oPreviousSearch.sSearch = ""; |
42 |
biblioSettings.oPreviousSearch.sSearch = ""; |
43 |
authoritySettings.oPreviousSearch.sSearch = ""; |
44 |
|
45 |
searchfieldst.fnDraw(); |
46 |
bibliost.fnDraw(); |
47 |
authoritiest.fnDraw(); |
48 |
} |
49 |
|
11 |
function clone_line( line ) { |
50 |
function clone_line( line ) { |
12 |
var new_line = $(line).clone(); |
51 |
var new_line = $(line).clone(); |
13 |
$(new_line).removeClass("nodrag nodrop"); |
52 |
$(new_line).removeClass("nodrag nodrop"); |
Lines 25-84
Link Here
|
25 |
|
64 |
|
26 |
$(document).ready(function() { |
65 |
$(document).ready(function() { |
27 |
$("#tabs").tabs(); |
66 |
$("#tabs").tabs(); |
28 |
$('.delete').click(function() { |
|
|
29 |
$(this).parents('tr').remove(); |
30 |
|
67 |
|
31 |
var line = $(this).closest("tr"); |
68 |
//searchfieldst = KohaTable("search-fieldst", { |
|
|
69 |
searchfieldst = $('#search-fieldst').dataTable($.extend(true, {}, dataTablesDefaults, { |
70 |
"aoColumnDefs": [ |
71 |
{ "sType": "string", "aTargets": [ "string-sort" ] } |
72 |
], |
73 |
"sPaginationType": "full_numbers", |
74 |
})); |
75 |
|
76 |
bibliost = $('#bibliost').dataTable($.extend(true, {}, dataTablesDefaults, { |
77 |
"aoColumnDefs": [ |
78 |
{ "sType": "string", "aTargets": [ "string-sort" ] } |
79 |
], |
80 |
"sPaginationType": "full_numbers", |
81 |
})); |
82 |
|
83 |
authoritiest = $('#authoritiest').dataTable($.extend(true, {}, dataTablesDefaults, { |
84 |
"aoColumnDefs": [ |
85 |
{ "sType": "string", "aTargets": [ "string-sort" ] } |
86 |
], |
87 |
"sPaginationType": "full_numbers", |
88 |
})); |
89 |
|
90 |
$('#save').click(function() { |
91 |
show_all_rows(); |
92 |
}); |
93 |
|
94 |
$('table.dataTable').on('click', '.delete', function() { |
95 |
var tableid = $(this).closest('table').attr('id'); |
96 |
var t = $('#' + tableid).DataTable(); |
97 |
var line = $(this).closest('tr'); |
98 |
t.row( $(this).parents('tr') ).remove().draw( false ); |
99 |
|
100 |
// Show all rows on biblios and authorities table |
101 |
// to find some mapping. |
102 |
show_all_rows(); |
103 |
|
32 |
var search_field_name = $(line).find('input[name="mapping_search_field_name"]').val(); |
104 |
var search_field_name = $(line).find('input[name="mapping_search_field_name"]').val(); |
33 |
var mappings = $('input[name="mapping_search_field_name"][type="hidden"][value="' + search_field_name + '"]'); |
105 |
var mappings = $('input[name="mapping_search_field_name"][type="hidden"][value="' + search_field_name + '"]'); |
|
|
106 |
|
34 |
if (mappings.length == 0) { |
107 |
if (mappings.length == 0) { |
35 |
var search_field_line = $('input[name="search_field_name"][value="' + search_field_name + '"]').closest("tr"); |
108 |
var search_field_line = $('input[name="search_field_name"][value="' + search_field_name + '"]').closest("tr"); |
36 |
$(search_field_line).find('a.btn-default').removeClass('disabled'); |
109 |
$(search_field_line).find('a.btn-default').removeClass('disabled'); |
37 |
} |
110 |
} |
|
|
111 |
|
112 |
//Set display length back to 20. |
113 |
reset_datatables(); |
38 |
}); |
114 |
}); |
39 |
|
115 |
|
40 |
$("table.mappings").tableDnD( { |
116 |
$("table.mappings").tableDnD( { |
41 |
onDragClass: "dragClass", |
117 |
onDragClass: "dragClass", |
42 |
} ); |
118 |
} ); |
|
|
119 |
|
43 |
$('.add').click(function() { |
120 |
$('.add').click(function() { |
44 |
var table = $(this).closest('table'); |
121 |
var tableid = $(this).closest('table').attr('id'); |
45 |
var index_name = $(table).attr('data-index_name'); |
122 |
var t = $('#' + tableid).DataTable(); |
46 |
var line = $(this).closest("tr"); |
123 |
var line = $(this).closest("tr"); |
|
|
124 |
var new_line = clone_line( line ); |
125 |
|
47 |
var marc_field = $(line).find('input[data-id="mapping_marc_field"]').val(); |
126 |
var marc_field = $(line).find('input[data-id="mapping_marc_field"]').val(); |
|
|
127 |
|
48 |
if ( marc_field.length > 0 ) { |
128 |
if ( marc_field.length > 0 ) { |
49 |
var new_line = clone_line( line ); |
129 |
t.row.add($(new_line)).draw( false ); |
50 |
new_line.appendTo($('table[data-index_name="'+index_name+'"]>tbody')); |
130 |
t.order([1, 'asc']).draw(); |
51 |
$('.delete').click(function() { |
131 |
t.page('last').draw(false); |
52 |
$(this).parents('tr').remove(); |
132 |
|
53 |
}); |
133 |
// Show all rows on search-fields table |
|
|
134 |
// to find the search field. |
135 |
var mappingSettings = mappingst.fnSettings(); |
136 |
mappingSettings._iDisplayLength = -1; |
137 |
mappingst.fnDraw(); |
54 |
|
138 |
|
55 |
var search_field_name = $(line).find('select[data-id="mapping_search_field_name"] option:selected').text(); |
139 |
var search_field_name = $(line).find('select[data-id="mapping_search_field_name"] option:selected').text(); |
56 |
var search_field_line = $('input[name="search_field_name"][value="' + search_field_name + '"]').closest("tr"); |
140 |
var search_field_line = $('input[name="search_field_name"][value="' + search_field_name + '"]').closest("tr"); |
57 |
$(search_field_line).find('a.btn-default').addClass('disabled'); |
141 |
$(search_field_line).find('a.btn-default').addClass('disabled'); |
58 |
|
142 |
|
59 |
clean_line(line); |
143 |
//Set display length back to 20. |
|
|
144 |
mappingSettings._iDisplayLength = 20; |
145 |
mappingst.fnDraw(); |
60 |
|
146 |
|
61 |
$(table).tableDnD( { |
147 |
clean_line(line); |
62 |
onDragClass: "dragClass", |
|
|
63 |
} ); |
64 |
} |
148 |
} |
65 |
}); |
149 |
}); |
|
|
150 |
|
66 |
$('.add-search-field').click(function() { |
151 |
$('.add-search-field').click(function() { |
67 |
var table = $(this).closest('table'); |
152 |
var t = $('#search-fieldst').DataTable(); |
68 |
var line = $(this).closest("tr"); |
153 |
var line = $(this).closest("tr"); |
|
|
154 |
var new_line = clone_line( line ); |
155 |
|
69 |
var name = $(line).find('input[data-id="search_field_name"]').val(); |
156 |
var name = $(line).find('input[data-id="search_field_name"]').val(); |
70 |
var label = $(line).find('input[data-id="search_field_name"]').val(); |
157 |
var label = $(line).find('input[data-id="search_field_name"]').val(); |
|
|
158 |
|
71 |
if ( name.length > 0 && label.length > 0 ) { |
159 |
if ( name.length > 0 && label.length > 0 ) { |
72 |
var new_line = clone_line( line ); |
160 |
t.row.add($(new_line)).draw( false ); |
73 |
new_line.appendTo($('table[data-index_name=search_fields]>tbody')); |
161 |
t.order([1, 'asc']).draw(); |
74 |
$('.delete').click(function() { |
162 |
t.page('last').draw(false); |
75 |
$(this).parents('tr').remove(); |
|
|
76 |
}); |
77 |
clean_line(line); |
78 |
|
163 |
|
79 |
$(table).tableDnD( { |
164 |
clean_line(line); |
80 |
onDragClass: "dragClass", |
|
|
81 |
} ); |
82 |
} |
165 |
} |
83 |
}); |
166 |
}); |
84 |
}); |
167 |
}); |
Lines 158-171
a.add, a.delete {
Link Here
|
158 |
[% END %] |
241 |
[% END %] |
159 |
</ul> |
242 |
</ul> |
160 |
<div id="search_fields"> |
243 |
<div id="search_fields"> |
161 |
<table class="search_fields" data-index_name="search_fields"> |
244 |
<table id="search-fieldst" class="search_fields" data-index_name="search_fields"> |
162 |
<thead> |
245 |
<thead> |
163 |
<tr> |
246 |
<tr> |
164 |
<th>Name</th> |
247 |
<th class="string-sort">Name</th> |
165 |
<th>Label</th> |
248 |
<th class="string-sort">Label</th> |
166 |
<th>Type</th> |
249 |
<th class="string-sort">Type</th> |
167 |
<th>Weight</th> |
250 |
<th class="string-sort">Weight</th> |
168 |
<th></th> |
251 |
<th class="string-sort"></th> |
169 |
</tr> |
252 |
</tr> |
170 |
</thead> |
253 |
</thead> |
171 |
<tbody> |
254 |
<tbody> |
Lines 252-265
a.add, a.delete {
Link Here
|
252 |
</div> |
335 |
</div> |
253 |
[% FOREACH index IN indexes %] |
336 |
[% FOREACH index IN indexes %] |
254 |
<div id="mapping_[% index.index_name %]"> |
337 |
<div id="mapping_[% index.index_name %]"> |
255 |
<table class="mappings" data-index_name="[% index.index_name%]"> |
338 |
<table id="[% index.index_name%]t" class="mappings" data-index_name="[% index.index_name%]"> |
256 |
<thead> |
339 |
<thead> |
257 |
<tr class="nodrag nodrop"> |
340 |
<tr class="nodrag nodrop"> |
258 |
<th>Search field</th> |
341 |
<th>Search field</th> |
259 |
<th>Sortable</th> |
342 |
<th class="string-sort">Sortable</th> |
260 |
<th>Facetable</th> |
343 |
<th class="string-sort">Facetable</th> |
261 |
<th>Suggestible</th> |
344 |
<th class="string-sort">Suggestible</th> |
262 |
<th>Mapping</th> |
345 |
<th class="string-sort">Mapping</th> |
263 |
<th></th> |
346 |
<th></th> |
264 |
</tr> |
347 |
</tr> |
265 |
</thead> |
348 |
</thead> |
Lines 366-372
a.add, a.delete {
Link Here
|
366 |
</div> |
449 |
</div> |
367 |
[% END %] |
450 |
[% END %] |
368 |
</div> |
451 |
</div> |
369 |
<p><button class="btn btn-default" type="submit"><i class="fa fa-hdd-o" aria-hidden="true"></i> Save</button></p> |
452 |
<p><button id="save" class="btn btn-default" type="submit"><i class="fa fa-hdd-o" aria-hidden="true"></i> Save</button></p> |
370 |
</form> |
453 |
</form> |
371 |
</div> |
454 |
</div> |
372 |
|
455 |
|
373 |
- |
|
|