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 584-589 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
584
('OpacSuppression','0','','Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details','YesNo'),
584
('OpacSuppression','0','','Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details','YesNo'),
585
('OpacSuppressionByIPRange','','','Restrict the suppression to IP adresses outside of the IP range','free'),
585
('OpacSuppressionByIPRange','','','Restrict the suppression to IP adresses outside of the IP range','free'),
586
('OpacSuppressionRedirect','1','Redirect the opac detail page for suppressed records to an explanatory page (otherwise redirect to 404 error page)','','YesNo'),
586
('OpacSuppressionRedirect','1','Redirect the opac detail page for suppressed records to an explanatory page (otherwise redirect to 404 error page)','','YesNo'),
587
('OPACTableColExpandedByDefault','0',NULL,'Determines whether or not table rows are expanded by default on mobile','YesNo'),
587
('opacthemes','bootstrap','','Define the current theme for the OPAC interface.','Themes'),
588
('opacthemes','bootstrap','','Define the current theme for the OPAC interface.','Themes'),
588
('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'),
589
('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'),
589
('OpacTrustedCheckout', '0', NULL, 'Allow logged in OPAC users to check out to themselves', 'YesNo'),
590
('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
                    sorting: [[1, "desc"]],
1989
                    sorting: [[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 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 1219-1224 Link Here
1219
                });
1219
                });
1220
            });
1220
            });
1221
1221
1222
            [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
1223
                var responsive_display = DataTable.Responsive.display.childRowImmediate;
1224
            [% ELSE %]
1225
                var responsive_display = DataTable.Responsive.display.childRow;
1226
            [% END %]
1227
1222
            var dataTables = $("#recalls-table,#article-requests-table");
1228
            var dataTables = $("#recalls-table,#article-requests-table");
1223
            dataTables.each(function(){
1229
            dataTables.each(function(){
1224
                $(this).kohaTable({
1230
                $(this).kohaTable({
Lines 1226-1232 Link Here
1226
                    paging: false,
1232
                    paging: false,
1227
                    info: false,
1233
                    info: false,
1228
                    responsive: {
1234
                    responsive: {
1229
                        details: { type: "column", target: -1 },
1235
                        details: {
1236
                            display: responsive_display,
1237
                            type: "column",
1238
                            target: -1
1239
                        },
1230
                    },
1240
                    },
1231
                    columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
1241
                    columnDefs: [{ className: "dtr-control", orderable: false, targets: -1 }],
1232
                });
1242
                });
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt (-1 / +7 lines)
Lines 470-475 Link Here
470
                    dofocus();
470
                    dofocus();
471
                    [% IF ( patronid ) %]sco_init();[% END %]
471
                    [% IF ( patronid ) %]sco_init();[% END %]
472
472
473
                    [% IF ( Koha.Preference('OPACTableColExpandedByDefault') ) %]
474
                        var responsive_display = DataTable.Responsive.display.childRowImmediate;
475
                    [% ELSE %]
476
                        var responsive_display = DataTable.Responsive.display.childRow;
477
                    [% END %]
478
473
                    var dTables = $("#loanTable, #holdst, #finestable");
479
                    var dTables = $("#loanTable, #holdst, #finestable");
474
                    dTables.each(function(){
480
                    dTables.each(function(){
475
                        var thIndex = $(this).find("th.psort").index();
481
                        var thIndex = $(this).find("th.psort").index();
Lines 487-492 Link Here
487
                            },
493
                            },
488
                            responsive: {
494
                            responsive: {
489
                                details: {
495
                                details: {
496
                                    display: responsive_display,
490
                                    type: "column",
497
                                    type: "column",
491
                                    target: -1,
498
                                    target: -1,
492
                                },
499
                                },
493
- 

Return to bug 39698