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

(-)a/installer/data/mysql/atomicupdate/bug_39698_add_syspref_for_responsive_opac_tables.pl (+19 lines)
Line 0 Link Here
1
use Modern::Perl;
2
3
return {
4
    bug_number  => "xxxxx",
5
    description => "Add system preferences for responsive OPAC tables",
6
    up          => sub {
7
        my ($args) = @_;
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
9
10
        $dbh->do(
11
            q{
12
                INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type)
13
                VALUES ('OPACTableColExpandedByDefault', '0', NULL, 'Determines whether or not table rows are expanded by default on mobile', 'YesNo');
14
            }
15
        );
16
        say $out "Added OPACTableColExpandedByDefault syspref";
17
18
    }
19
};
(-)a/installer/data/mysql/mandatory/sysprefs.sql (+1 lines)
Lines 581-586 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
581
('OpacSuppression','0','','Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details','YesNo'),
581
('OpacSuppression','0','','Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details','YesNo'),
582
('OpacSuppressionByIPRange','','','Restrict the suppression to IP adresses outside of the IP range','free'),
582
('OpacSuppressionByIPRange','','','Restrict the suppression to IP adresses outside of the IP range','free'),
583
('OpacSuppressionRedirect','1','Redirect the opac detail page for suppressed records to an explanatory page (otherwise redirect to 404 error page)','','YesNo'),
583
('OpacSuppressionRedirect','1','Redirect the opac detail page for suppressed records to an explanatory page (otherwise redirect to 404 error page)','','YesNo'),
584
('OPACTableColExpandedByDefault','0',NULL,'Determines whether or not table rows are expanded by default on mobile','YesNo'),
584
('opacthemes','bootstrap','','Define the current theme for the OPAC interface.','Themes'),
585
('opacthemes','bootstrap','','Define the current theme for the OPAC interface.','Themes'),
585
('OpacTopissue','0',NULL,'If ON, enables the \'most popular items\' link on OPAC. Warning, this is an EXPERIMENTAL feature, turning ON may overload your server','YesNo'),
586
('OpacTopissue','0',NULL,'If ON, enables the \'most popular items\' link on OPAC. Warning, this is an EXPERIMENTAL feature, turning ON may overload your server','YesNo'),
586
('OpacTrustedCheckout', '0', NULL, 'Allow logged in OPAC users to check out to themselves', 'YesNo'),
587
('OpacTrustedCheckout', '0', NULL, 'Allow logged in OPAC users to check out to themselves', 'YesNo'),
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref (+6 lines)
Lines 18-23 OPAC: Link Here
18
            - pref: opacthemes
18
            - pref: opacthemes
19
              choices: opac-templates
19
              choices: opac-templates
20
            - theme on the OPAC.
20
            - theme on the OPAC.
21
        -
22
            - pref: OPACTableColExpandedByDefault
23
              choices:
24
                  1: Expand
25
                  0: Don't expand
26
            - tables on the OPAC by default, when zoomed in or viewed on a mobile screen.
21
        -
27
        -
22
            - Use the
28
            - Use the
23
            - pref: OPACFallback
29
            - pref: OPACFallback
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/clubs/clubs-tab.tt (-1 / +11 lines)
Lines 96-101 Link Here
96
        return false;
96
        return false;
97
    }
97
    }
98
98
99
    [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
100
        var responsive_display = DataTable.Responsive.display.childRowImmediate;
101
    [% ELSE %]
102
        var responsive_display = DataTable.Responsive.display.childRow;
103
    [% END %]
104
99
        var Tables = $("#clubs-table-enrolled,#clubs-table-unenrolled");
105
        var Tables = $("#clubs-table-enrolled,#clubs-table-unenrolled");
100
        Tables.each(function(){
106
        Tables.each(function(){
101
            $(this).kohaTable({
107
            $(this).kohaTable({
Lines 103-109 Link Here
103
                paging: false,
109
                paging: false,
104
                info: false,
110
                info: false,
105
                responsive: {
111
                responsive: {
106
                    details: { type: "column", target: -1 },
112
                    details: {
113
                        display: responsive_display,
114
                        type: "column",
115
                        target: -1
116
                    },
107
                },
117
                },
108
                columnDefs: [
118
                columnDefs: [
109
                    { className: "dtr-control", orderable: false, targets: -1 },
119
                    { className: "dtr-control", orderable: false, targets: -1 },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-authoritiessearchresultlist.tt (-1 / +11 lines)
Lines 121-132 Link Here
121
    [% INCLUDE 'datatables.inc' %]
121
    [% INCLUDE 'datatables.inc' %]
122
    <script type="text/JavaScript">
122
    <script type="text/JavaScript">
123
        $(document).ready(function () {
123
        $(document).ready(function () {
124
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
125
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
126
            [% ELSE %]
127
                var responsive_display = DataTable.Responsive.display.childRow;
128
            [% END %]
129
124
            $(".table").kohaTable({
130
            $(".table").kohaTable({
125
                searching: false,
131
                searching: false,
126
                paging: false,
132
                paging: false,
127
                info: false,
133
                info: false,
128
                responsive: {
134
                responsive: {
129
                    details: { type: "column", target: -1 },
135
                    details: {
136
                        display: responsive_display,
137
                        type: "column",
138
                        target: -1
139
                    },
130
                },
140
                },
131
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
141
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
132
            });
142
            });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt (-1 / +12 lines)
Lines 139-144 Link Here
139
    <script>
139
    <script>
140
        $(document).ready(function() {
140
        $(document).ready(function() {
141
            table_settings = [% TablesSettings.GetTableSettings( 'opac', 'course_items', 'course-items-table', 'json' ) | $raw %];
141
            table_settings = [% TablesSettings.GetTableSettings( 'opac', 'course_items', 'course-items-table', 'json' ) | $raw %];
142
143
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
144
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
145
            [% ELSE %]
146
                var responsive_display = DataTable.Responsive.display.childRow;
147
            [% END %]
148
142
            $("#course-items-table").kohaTable(
149
            $("#course-items-table").kohaTable(
143
                {
150
                {
144
                    dom: '<"top"<"table_controls"f>>t',
151
                    dom: '<"top"<"table_controls"f>>t',
Lines 148-154 Link Here
148
                        searchPlaceholder: _("Search course reserves"),
155
                        searchPlaceholder: _("Search course reserves"),
149
                    },
156
                    },
150
                    responsive: {
157
                    responsive: {
151
                        details: { type: "column", target: -1 },
158
                        details: {
159
                            display: responsive_display,
160
                            type: "column",
161
                            target: -1
162
                        },
152
                    },
163
                    },
153
                    columnDefs: [
164
                    columnDefs: [
154
                        { className: "dtr-control", orderable: false, targets: -1 },
165
                        { className: "dtr-control", orderable: false, targets: -1 },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-reserves.tt (-1 / +12 lines)
Lines 86-91 Link Here
86
    <script>
86
    <script>
87
        $(document).ready(function() {
87
        $(document).ready(function() {
88
            table_settings = [% TablesSettings.GetTableSettings( 'opac', 'course_list', 'course_reserves_table', 'json' ) | $raw %]
88
            table_settings = [% TablesSettings.GetTableSettings( 'opac', 'course_list', 'course_reserves_table', 'json' ) | $raw %]
89
90
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
91
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
92
            [% ELSE %]
93
                var responsive_display = DataTable.Responsive.display.childRow;
94
            [% END %]
95
89
            $("#course_reserves_table").kohaTable(
96
            $("#course_reserves_table").kohaTable(
90
                {
97
                {
91
                    dom: '<"top"<"table_controls"f>>rt<"clear">',
98
                    dom: '<"top"<"table_controls"f>>rt<"clear">',
Lines 96-102 Link Here
96
                        searchPlaceholder: _("Search courses"),
103
                        searchPlaceholder: _("Search courses"),
97
                    },
104
                    },
98
                    responsive: {
105
                    responsive: {
99
                        details: { type: "column", target: -1 },
106
                        details: {
107
                            display: responsive_display,
108
                            type: "column",
109
                            target: -1
110
                        },
100
                    },
111
                    },
101
                    cColumnDefs: [
112
                    cColumnDefs: [
102
                        { className: "dtr-control", orderable: false, targets: -1 },
113
                        { className: "dtr-control", orderable: false, targets: -1 },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-curbside-pickups.tt (-1 / +11 lines)
Lines 324-336 Link Here
324
            existingPickupMoments[pickup.branchcode].push(pickupMoment);
324
            existingPickupMoments[pickup.branchcode].push(pickupMoment);
325
        });
325
        });
326
326
327
        [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
328
            var responsive_display = DataTable.Responsive.display.childRowImmediate;
329
        [% ELSE %]
330
            var responsive_display = DataTable.Responsive.display.childRow;
331
        [% END %]
332
327
        $(document).ready(function() {
333
        $(document).ready(function() {
328
            $("#pickups-table").kohaTable({
334
            $("#pickups-table").kohaTable({
329
                searching: false,
335
                searching: false,
330
                paging: false,
336
                paging: false,
331
                info: false,
337
                info: false,
332
                responsive: {
338
                responsive: {
333
                    details: { type: "column", target: -1 },
339
                    details: {
340
                        display: responsive_display,
341
                        type: "column",
342
                        target: -1
343
                    },
334
                },
344
                },
335
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
345
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
336
            });
346
            });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt (-3 / +21 lines)
Lines 1868-1873 Link Here
1868
1868
1869
            var table_settings = [% TablesSettings.GetTableSettings( 'opac', 'biblio-detail', 'holdingst', 'json' ) | $raw %];
1869
            var table_settings = [% TablesSettings.GetTableSettings( 'opac', 'biblio-detail', 'holdingst', 'json' ) | $raw %];
1870
1870
1871
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
1872
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
1873
            [% ELSE %]
1874
                var responsive_display = DataTable.Responsive.display.childRow;
1875
            [% END %]
1876
1871
            $("#holdingst").kohaTable(
1877
            $("#holdingst").kohaTable(
1872
                {
1878
                {
1873
                    dom: '<"clearfix">t',
1879
                    dom: '<"clearfix">t',
Lines 1876-1882 Link Here
1876
                    ],
1882
                    ],
1877
                    bKohaColumnsUseNames: true,
1883
                    bKohaColumnsUseNames: true,
1878
                    responsive: {
1884
                    responsive: {
1879
                        details: { type: "column", target: -1 },
1885
                        details: {
1886
                            display: responsive_display,
1887
                            type: "column",
1888
                            target: -1
1889
                        },
1880
                    },
1890
                    },
1881
                },
1891
                },
1882
                table_settings
1892
                table_settings
Lines 1889-1895 Link Here
1889
                    ],
1899
                    ],
1890
                    bKohaColumnsUseNames: true,
1900
                    bKohaColumnsUseNames: true,
1891
                    responsive: {
1901
                    responsive: {
1892
                        details: { type: "column", target: -1 },
1902
                        details: {
1903
                            display: responsive_display,
1904
                            type: "column",
1905
                            target: -1
1906
                        },
1893
                    },
1907
                    },
1894
                },
1908
                },
1895
                table_settings
1909
                table_settings
Lines 1903-1909 Link Here
1903
                    sorting: [[1, "desc"]],
1917
                    sorting: [[1, "desc"]],
1904
                    bKohaColumnsUseNames: true,
1918
                    bKohaColumnsUseNames: true,
1905
                    responsive: {
1919
                    responsive: {
1906
                        details: { type: "column", target: -1 },
1920
                        details: {
1921
                            display: responsive_display,
1922
                            type: "column",
1923
                            target: -1
1924
                        },
1907
                    },
1925
                    },
1908
                    columnDefs: [
1926
                    columnDefs: [
1909
                        { className: "dtr-control", orderable: false, targets: -1 },
1927
                        { className: "dtr-control", orderable: false, targets: -1 },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt (-1 / +12 lines)
Lines 408-419 Link Here
408
                }, 100);
408
                }, 100);
409
            });
409
            });
410
        }
410
        }
411
412
        [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
413
            var responsive_display = DataTable.Responsive.display.childRowImmediate;
414
        [% ELSE %]
415
            var responsive_display = DataTable.Responsive.display.childRow;
416
        [% END %]
417
411
        $(".table").kohaTable({
418
        $(".table").kohaTable({
412
            searching: false,
419
            searching: false,
413
            paging: false,
420
            paging: false,
414
            info: false,
421
            info: false,
415
            responsive: {
422
            responsive: {
416
                details: { type: "column", target: -1 },
423
                details: {
424
                    display: responsive_display,
425
                    type: "column",
426
                    target: -1
427
                },
417
            },
428
            },
418
            columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
429
            columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
419
        });
430
        });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-readingrecord.tt (-1 / +11 lines)
Lines 228-233 Link Here
228
                $('#sortform').submit();
228
                $('#sortform').submit();
229
            });
229
            });
230
230
231
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
232
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
233
            [% ELSE %]
234
                var responsive_display = DataTable.Responsive.display.childRow;
235
            [% END %]
236
231
            var table = $("#readingrec").kohaTable(
237
            var table = $("#readingrec").kohaTable(
232
                {
238
                {
233
                    dom: '<"top"<"table_entries"i><"table_controls"fB>>t',
239
                    dom: '<"top"<"table_entries"i><"table_controls"fB>>t',
Lines 236-242 Link Here
236
                        searchPlaceholder: _("Search"),
242
                        searchPlaceholder: _("Search"),
237
                    },
243
                    },
238
                    responsive: {
244
                    responsive: {
239
                        details: { type: "column", target: -1 },
245
                        details: {
246
                            display: responsive_display,
247
                            type: "column",
248
                            target: -1
249
                        },
240
                    },
250
                    },
241
                    columnDefs: [
251
                    columnDefs: [
242
                        { className: "dtr-control", orderable: false, targets: [-1] },
252
                        { className: "dtr-control", orderable: false, targets: [-1] },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt (-1 / +12 lines)
Lines 135-143 Link Here
135
            $(".cancel_recall").click(function () {
135
            $(".cancel_recall").click(function () {
136
                return confirmDelete(_("Are you sure you want to remove this recall?"));
136
                return confirmDelete(_("Are you sure you want to remove this recall?"));
137
            });
137
            });
138
139
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
140
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
141
            [% ELSE %]
142
                var responsive_display = DataTable.Responsive.display.childRow;
143
            [% END %]
144
138
            $("#recalls-table").kohaTable({
145
            $("#recalls-table").kohaTable({
139
                responsive: {
146
                responsive: {
140
                    details: { type: "column", target: -1 },
147
                    details: {
148
                        display: responsive_display,
149
                        type: "column",
150
                        target: -1
151
                    },
141
                },
152
                },
142
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
153
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
143
            });
154
            });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-search-history.tt (-1 / +12 lines)
Lines 296-301 Link Here
296
        $(document).ready(function () {
296
        $(document).ready(function () {
297
            // We show table ordered by descending dates by default
297
            // We show table ordered by descending dates by default
298
            // (so that the more recent query is shown first)
298
            // (so that the more recent query is shown first)
299
300
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
301
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
302
            [% ELSE %]
303
                var responsive_display = DataTable.Responsive.display.childRow;
304
            [% END %]
305
299
            let history_tables = $(".historyt").kohaTable({
306
            let history_tables = $(".historyt").kohaTable({
300
                order: [[1, "desc"]],
307
                order: [[1, "desc"]],
301
                dom: '<"top"<"table_entries"><"table_controls"fB>>t',
308
                dom: '<"top"<"table_entries"><"table_controls"fB>>t',
Lines 305-311 Link Here
305
                    searchPlaceholder: _("Search"),
312
                    searchPlaceholder: _("Search"),
306
                },
313
                },
307
                responsive: {
314
                responsive: {
308
                    details: { type: "column", target: -1 },
315
                    details: {
316
                        display: responsive_display,
317
                        type: "column",
318
                        target: -1
319
                    },
309
                },
320
                },
310
            });
321
            });
311
322
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-tags.tt (+7 lines)
Lines 295-300 Link Here
295
                }
295
                }
296
            });
296
            });
297
297
298
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
299
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
300
            [% ELSE %]
301
                var responsive_display = DataTable.Responsive.display.childRow;
302
            [% END %]
303
298
            $("#mytagst").kohaTable({
304
            $("#mytagst").kohaTable({
299
                sorting: [[2, "asc"]],
305
                sorting: [[2, "asc"]],
300
                columnDefs: [
306
                columnDefs: [
Lines 303-308 Link Here
303
                ],
309
                ],
304
                responsive: {
310
                responsive: {
305
                    details: {
311
                    details: {
312
                        display: responsive_display,
306
                        type: "column",
313
                        type: "column",
307
                        target: -1,
314
                        target: -1,
308
                    },
315
                    },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-topissues.tt (+7 lines)
Lines 147-157 Link Here
147
    [% INCLUDE 'datatables.inc' %]
147
    [% INCLUDE 'datatables.inc' %]
148
    <script>
148
    <script>
149
        $(function () {
149
        $(function () {
150
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
151
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
152
            [% ELSE %]
153
                var responsive_display = DataTable.Responsive.display.childRow;
154
            [% END %]
155
150
            $("#topissuest").kohaTable({
156
            $("#topissuest").kohaTable({
151
                sorting: [[3, "desc"]],
157
                sorting: [[3, "desc"]],
152
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
158
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
153
                responsive: {
159
                responsive: {
154
                    details: {
160
                    details: {
161
                        display: responsive_display,
155
                        type: "column",
162
                        type: "column",
156
                        target: -1,
163
                        target: -1,
157
                    },
164
                    },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt (-1 / +11 lines)
Lines 1246-1251 Link Here
1246
                });
1246
                });
1247
            });
1247
            });
1248
1248
1249
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
1250
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
1251
            [% ELSE %]
1252
                var responsive_display = DataTable.Responsive.display.childRow;
1253
            [% END %]
1254
1249
            var dataTables = $("#recalls-table,#article-requests-table");
1255
            var dataTables = $("#recalls-table,#article-requests-table");
1250
            dataTables.each(function(){
1256
            dataTables.each(function(){
1251
                $(this).kohaTable({
1257
                $(this).kohaTable({
Lines 1253-1259 Link Here
1253
                    paging: false,
1259
                    paging: false,
1254
                    info: false,
1260
                    info: false,
1255
                    responsive: {
1261
                    responsive: {
1256
                        details: { type: "column", target: -1 },
1262
                        details: {
1263
                            display: responsive_display,
1264
                            type: "column",
1265
                            target: -1
1266
                        },
1257
                    },
1267
                    },
1258
                    columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
1268
                    columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
1259
                });
1269
                });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt (-1 / +7 lines)
Lines 482-487 Link Here
482
                $(document).ready(function() {
482
                $(document).ready(function() {
483
                    dofocus();
483
                    dofocus();
484
484
485
                    [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
486
                        var responsive_display = DataTable.Responsive.display.childRowImmediate;
487
                    [% ELSE %]
488
                        var responsive_display = DataTable.Responsive.display.childRow;
489
                    [% END %]
490
485
                    var dTables = $("#loanTable, #holdst, #finestable");
491
                    var dTables = $("#loanTable, #holdst, #finestable");
486
                    dTables.each(function(){
492
                    dTables.each(function(){
487
                        var thIndex = $(this).find("th.psort").index();
493
                        var thIndex = $(this).find("th.psort").index();
Lines 499-504 Link Here
499
                            },
505
                            },
500
                            responsive: {
506
                            responsive: {
501
                                details: {
507
                                details: {
508
                                    display: responsive_display,
502
                                    type: "column",
509
                                    type: "column",
503
                                    target: -1,
510
                                    target: -1,
504
                                },
511
                                },
505
- 

Return to bug 39698