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  => "39698",
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 590-595 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
590
('OpacSuppression','0',NULL,'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details','YesNo'),
590
('OpacSuppression','0',NULL,'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details','YesNo'),
591
('OpacSuppressionByIPRange','',NULL,'Restrict the suppression to IP adresses outside of the IP range','Free'),
591
('OpacSuppressionByIPRange','',NULL,'Restrict the suppression to IP adresses outside of the IP range','Free'),
592
('OpacSuppressionRedirect','1',NULL,'Redirect the opac detail page for suppressed records to an explanatory page (otherwise redirect to 404 error page)','YesNo'),
592
('OpacSuppressionRedirect','1',NULL,'Redirect the opac detail page for suppressed records to an explanatory page (otherwise redirect to 404 error page)','YesNo'),
593
('OPACTableColExpandedByDefault','0',NULL,'Determines whether or not table rows are expanded by default on mobile','YesNo'),
593
('opacthemes','bootstrap',NULL,'Define the current theme for the OPAC interface.','Themes'),
594
('opacthemes','bootstrap',NULL,'Define the current theme for the OPAC interface.','Themes'),
594
('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'),
595
('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'),
595
('OpacTrustedCheckout', '0', NULL, 'Allow logged in OPAC users to check out to themselves', 'YesNo'),
596
('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 141-146 Link Here
141
    <script>
141
    <script>
142
        $(document).ready(function() {
142
        $(document).ready(function() {
143
            table_settings = [% TablesSettings.GetTableSettings( 'opac', 'course_items', 'course-items-table', 'json' ) | $raw %];
143
            table_settings = [% TablesSettings.GetTableSettings( 'opac', 'course_items', 'course-items-table', 'json' ) | $raw %];
144
145
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
146
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
147
            [% ELSE %]
148
                var responsive_display = DataTable.Responsive.display.childRow;
149
            [% END %]
150
144
            $("#course-items-table").kohaTable(
151
            $("#course-items-table").kohaTable(
145
                {
152
                {
146
                    dom: '<"top"<"table_controls"f>>rt<"clear">',
153
                    dom: '<"top"<"table_controls"f>>rt<"clear">',
Lines 150-156 Link Here
150
                        searchPlaceholder: _("Search course reserves"),
157
                        searchPlaceholder: _("Search course reserves"),
151
                    },
158
                    },
152
                    responsive: {
159
                    responsive: {
153
                        details: { type: "column", target: -1 },
160
                        details: {
161
                            display: responsive_display,
162
                            type: "column",
163
                            target: -1
164
                        },
154
                    },
165
                    },
155
                    columnDefs: [
166
                    columnDefs: [
156
                        { className: "dtr-control", orderable: false, targets: -1 },
167
                        { 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 331-343 Link Here
331
            existingPickupMoments[pickup.branchcode].push(pickupMoment);
331
            existingPickupMoments[pickup.branchcode].push(pickupMoment);
332
        });
332
        });
333
333
334
        [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
335
            var responsive_display = DataTable.Responsive.display.childRowImmediate;
336
        [% ELSE %]
337
            var responsive_display = DataTable.Responsive.display.childRow;
338
        [% END %]
339
334
        $(document).ready(function() {
340
        $(document).ready(function() {
335
            $("#pickups-table").kohaTable({
341
            $("#pickups-table").kohaTable({
336
                searching: false,
342
                searching: false,
337
                paging: false,
343
                paging: false,
338
                info: false,
344
                info: false,
339
                responsive: {
345
                responsive: {
340
                    details: { type: "column", target: -1 },
346
                    details: {
347
                        display: responsive_display,
348
                        type: "column",
349
                        target: -1
350
                    },
341
                },
351
                },
342
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
352
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
343
            });
353
            });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt (-3 / +21 lines)
Lines 1946-1957 Link Here
1946
                column.cannot_be_toggled = 1;
1946
                column.cannot_be_toggled = 1;
1947
            [% END %]
1947
            [% END %]
1948
1948
1949
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
1950
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
1951
            [% ELSE %]
1952
                var responsive_display = DataTable.Responsive.display.childRow;
1953
            [% END %]
1954
1949
            $("#holdingst").kohaTable(
1955
            $("#holdingst").kohaTable(
1950
                {
1956
                {
1951
                    dom: '<"clearfix">t',
1957
                    dom: '<"clearfix">t',
1952
                    bKohaColumnsUseNames: true,
1958
                    bKohaColumnsUseNames: true,
1953
                    responsive: {
1959
                    responsive: {
1954
                        details: { type: "column", target: -1 },
1960
                        details: {
1961
                            display: responsive_display,
1962
                            type: "column",
1963
                            target: -1
1964
                        },
1955
                    },
1965
                    },
1956
                },
1966
                },
1957
                holdingst_table_settings,
1967
                holdingst_table_settings,
Lines 1961-1967 Link Here
1961
                    dom: '<"clearfix">t',
1971
                    dom: '<"clearfix">t',
1962
                    bKohaColumnsUseNames: true,
1972
                    bKohaColumnsUseNames: true,
1963
                    responsive: {
1973
                    responsive: {
1964
                        details: { type: "column", target: -1 },
1974
                        details: {
1975
                            display: responsive_display,
1976
                            type: "column",
1977
                            target: -1
1978
                        },
1965
                    },
1979
                    },
1966
                },
1980
                },
1967
                otherholdingst_table_settings,
1981
                otherholdingst_table_settings,
Lines 1975-1981 Link Here
1975
                    order: [[1, "desc"]],
1989
                    order: [[1, "desc"]],
1976
                    bKohaColumnsUseNames: true,
1990
                    bKohaColumnsUseNames: true,
1977
                    responsive: {
1991
                    responsive: {
1978
                        details: { type: "column", target: -1 },
1992
                        details: {
1993
                            display: responsive_display,
1994
                            type: "column",
1995
                            target: -1
1996
                        },
1979
                    },
1997
                    },
1980
                },
1998
                },
1981
                serial_table_settings
1999
                serial_table_settings
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt (-1 / +12 lines)
Lines 415-426 Link Here
415
                }, 100);
415
                }, 100);
416
            });
416
            });
417
        }
417
        }
418
419
        [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
420
            var responsive_display = DataTable.Responsive.display.childRowImmediate;
421
        [% ELSE %]
422
            var responsive_display = DataTable.Responsive.display.childRow;
423
        [% END %]
424
418
        $(".table").kohaTable({
425
        $(".table").kohaTable({
419
            searching: false,
426
            searching: false,
420
            paging: false,
427
            paging: false,
421
            info: false,
428
            info: false,
422
            responsive: {
429
            responsive: {
423
                details: { type: "column", target: -1 },
430
                details: {
431
                    display: responsive_display,
432
                    type: "column",
433
                    target: -1
434
                },
424
            },
435
            },
425
            columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
436
            columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
426
        });
437
        });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-readingrecord.tt (-1 / +11 lines)
Lines 235-240 Link Here
235
                $('#sortform').submit();
235
                $('#sortform').submit();
236
            });
236
            });
237
237
238
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
239
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
240
            [% ELSE %]
241
                var responsive_display = DataTable.Responsive.display.childRow;
242
            [% END %]
243
238
            var table = $("#readingrec").kohaTable(
244
            var table = $("#readingrec").kohaTable(
239
                {
245
                {
240
                    dom: '<"top"<"table_entries"i><"table_controls"fB>>t',
246
                    dom: '<"top"<"table_entries"i><"table_controls"fB>>t',
Lines 243-249 Link Here
243
                        searchPlaceholder: _("Search"),
249
                        searchPlaceholder: _("Search"),
244
                    },
250
                    },
245
                    responsive: {
251
                    responsive: {
246
                        details: { type: "column", target: -1 },
252
                        details: {
253
                            display: responsive_display,
254
                            type: "column",
255
                            target: -1
256
                        },
247
                    },
257
                    },
248
                    columnDefs: [
258
                    columnDefs: [
249
                        { className: "dtr-control", orderable: false, targets: [-1] },
259
                        { className: "dtr-control", orderable: false, targets: [-1] },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt (-1 / +12 lines)
Lines 142-150 Link Here
142
            $(".cancel_recall").click(function () {
142
            $(".cancel_recall").click(function () {
143
                return confirmDelete(_("Are you sure you want to remove this recall?"));
143
                return confirmDelete(_("Are you sure you want to remove this recall?"));
144
            });
144
            });
145
146
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
147
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
148
            [% ELSE %]
149
                var responsive_display = DataTable.Responsive.display.childRow;
150
            [% END %]
151
145
            $("#recalls-table").kohaTable({
152
            $("#recalls-table").kohaTable({
146
                responsive: {
153
                responsive: {
147
                    details: { type: "column", target: -1 },
154
                    details: {
155
                        display: responsive_display,
156
                        type: "column",
157
                        target: -1
158
                    },
148
                },
159
                },
149
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
160
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
150
            });
161
            });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-search-history.tt (-1 / +12 lines)
Lines 309-314 Link Here
309
        $(document).ready(function () {
309
        $(document).ready(function () {
310
            // We show table ordered by descending dates by default
310
            // We show table ordered by descending dates by default
311
            // (so that the more recent query is shown first)
311
            // (so that the more recent query is shown first)
312
313
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
314
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
315
            [% ELSE %]
316
                var responsive_display = DataTable.Responsive.display.childRow;
317
            [% END %]
318
312
            let history_tables = $(".historyt").kohaTable({
319
            let history_tables = $(".historyt").kohaTable({
313
                order: [[1, "desc"]],
320
                order: [[1, "desc"]],
314
                dom: '<"top"<"table_entries"><"table_controls"fB>>t',
321
                dom: '<"top"<"table_entries"><"table_controls"fB>>t',
Lines 318-324 Link Here
318
                    searchPlaceholder: _("Search"),
325
                    searchPlaceholder: _("Search"),
319
                },
326
                },
320
                responsive: {
327
                responsive: {
321
                    details: { type: "column", target: -1 },
328
                    details: {
329
                        display: responsive_display,
330
                        type: "column",
331
                        target: -1
332
                    },
322
                },
333
                },
323
            });
334
            });
324
335
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-tags.tt (+7 lines)
Lines 302-307 Link Here
302
                }
302
                }
303
            });
303
            });
304
304
305
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
306
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
307
            [% ELSE %]
308
                var responsive_display = DataTable.Responsive.display.childRow;
309
            [% END %]
310
305
            $("#mytagst").kohaTable({
311
            $("#mytagst").kohaTable({
306
                order: [[2, "asc"]],
312
                order: [[2, "asc"]],
307
                columnDefs: [
313
                columnDefs: [
Lines 310-315 Link Here
310
                ],
316
                ],
311
                responsive: {
317
                responsive: {
312
                    details: {
318
                    details: {
319
                        display: responsive_display,
313
                        type: "column",
320
                        type: "column",
314
                        target: -1,
321
                        target: -1,
315
                    },
322
                    },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-topissues.tt (+7 lines)
Lines 154-164 Link Here
154
    [% INCLUDE 'datatables.inc' %]
154
    [% INCLUDE 'datatables.inc' %]
155
    <script>
155
    <script>
156
        $(function () {
156
        $(function () {
157
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
158
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
159
            [% ELSE %]
160
                var responsive_display = DataTable.Responsive.display.childRow;
161
            [% END %]
162
157
            $("#topissuest").kohaTable({
163
            $("#topissuest").kohaTable({
158
                order: [[3, "desc"]],
164
                order: [[3, "desc"]],
159
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
165
                columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
160
                responsive: {
166
                responsive: {
161
                    details: {
167
                    details: {
168
                        display: responsive_display,
162
                        type: "column",
169
                        type: "column",
163
                        target: -1,
170
                        target: -1,
164
                    },
171
                    },
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt (-1 / +11 lines)
Lines 1226-1231 Link Here
1226
                });
1226
                });
1227
            });
1227
            });
1228
1228
1229
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
1230
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
1231
            [% ELSE %]
1232
                var responsive_display = DataTable.Responsive.display.childRow;
1233
            [% END %]
1234
1229
            var dataTables = $("#recalls-table,#article-requests-table");
1235
            var dataTables = $("#recalls-table,#article-requests-table");
1230
            dataTables.each(function(){
1236
            dataTables.each(function(){
1231
                $(this).kohaTable({
1237
                $(this).kohaTable({
Lines 1233-1239 Link Here
1233
                    paging: false,
1239
                    paging: false,
1234
                    info: false,
1240
                    info: false,
1235
                    responsive: {
1241
                    responsive: {
1236
                        details: { type: "column", target: -1 },
1242
                        details: {
1243
                            display: responsive_display,
1244
                            type: "column",
1245
                            target: -1
1246
                        },
1237
                    },
1247
                    },
1238
                    columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
1248
                    columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
1239
                });
1249
                });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt (-1 / +7 lines)
Lines 476-481 Link Here
476
                    dofocus();
476
                    dofocus();
477
                    [% IF ( patronid ) %]sco_init();[% END %]
477
                    [% IF ( patronid ) %]sco_init();[% END %]
478
478
479
                    [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
480
                        var responsive_display = DataTable.Responsive.display.childRowImmediate;
481
                    [% ELSE %]
482
                        var responsive_display = DataTable.Responsive.display.childRow;
483
                    [% END %]
484
479
                    var dTables = $("#loanTable, #holdst, #finestable");
485
                    var dTables = $("#loanTable, #holdst, #finestable");
480
                    dTables.each(function(){
486
                    dTables.each(function(){
481
                        var thIndex = $(this).find("th.psort").index();
487
                        var thIndex = $(this).find("th.psort").index();
Lines 493-498 Link Here
493
                            },
499
                            },
494
                            responsive: {
500
                            responsive: {
495
                                details: {
501
                                details: {
502
                                    display: responsive_display,
496
                                    type: "column",
503
                                    type: "column",
497
                                    target: -1,
504
                                    target: -1,
498
                                },
505
                                },
499
- 

Return to bug 39698