View | Details | Raw Unified | Return to bug 20588
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt (-37 / +119 lines)
Lines 2-13 Link Here
2
<title>Koha &rsaquo; Administration &rsaquo; Elastic Search mappings</title>
2
<title>Koha &rsaquo; Administration &rsaquo; 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
- 

Return to bug 20588