diff --git a/app/Domain/Tickets/Js/ticketsController.js b/app/Domain/Tickets/Js/ticketsController.js index f4389aeb2..da56af97d 100644 --- a/app/Domain/Tickets/Js/ticketsController.js +++ b/app/Domain/Tickets/Js/ticketsController.js @@ -1177,16 +1177,19 @@ export const initTicketsTable = function (groupBy) { } }, - "dom": '<"top">rt<"bottom"><"clear">', - "searching": false, - "stateSave": true, + "dom": '<"top"f>rt<"bottom"lip><"clear">', + "pagingType": "full_numbers", + "pageLength": 10, + "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]], + "searching": true, + "stateSave": false, "displayLength":100, "order": defaultOrder, "columnDefs": [ - { "visible": false, "targets": 10 }, - { "visible": false, "targets": 11 }, + { "visible": false, "targets": 10, "searchable": false }, + { "visible": false, "targets": 11, "searchable": false }, { "target": "no-sort", "orderable": false}, - ], + ], "footerCallback": function ( row, data, start, end, display ) { var api = this.api(), data; @@ -1200,7 +1203,6 @@ export const initTicketsTable = function (groupBy) { // computing column Total of the complete result - var plannedHours = api .column(10) .data() @@ -1263,6 +1265,29 @@ export const initTicketsTable = function (groupBy) { }); + function format(d) { + return "foo"; + // d[6]; + } + + // Add event listener for opening and closing child row + jQuery('.ticketTable tbody').on('click', 'td.dt-control', function (e) { + let tr = e.target.closest('tr'); + // let tr = jQuery(this).closest('tr'); + let row = allTickets.row(tr); + + console.log("Row data is", row.data()); + + if (row.child.isShown()) { + row.child.hide(); + tr.removeClass('shown'); + } else { + row.child(format(row.data())).show(); + tr.addClass('shown'); + } + }); + + var buttons = new jQuery.fn.dataTable.Buttons(allTickets.table(0), { buttons: [ { @@ -1310,6 +1335,31 @@ export const initTicketsTable = function (groupBy) { allTickets.draw(); }); + + // Testing add row + function addNewRow() { + allTickets.row + .add([ + "col 1", + "col 2", + "col 3", + "col 4", + "col 5", + "col 6", + "col 7", + "col 8", + "col 9", + "col 10", + "col 11", + "col 12", + ]) + .draw(false); + + } + + // document.querySelector('#addRow').addEventListener('click', addNewRow); + jQuery('#addRow').on('click', addNewRow); + }); }; diff --git a/app/Domain/Tickets/Templates/includes/ticketFilter.blade.php b/app/Domain/Tickets/Templates/includes/ticketFilter.blade.php index a68d14ae2..2b183f9ab 100644 --- a/app/Domain/Tickets/Templates/includes/ticketFilter.blade.php +++ b/app/Domain/Tickets/Templates/includes/ticketFilter.blade.php @@ -115,8 +115,6 @@ {{ __('buttons.search') }} - - diff --git a/app/Domain/Tickets/Templates/showAll.blade.php b/app/Domain/Tickets/Templates/showAll.blade.php index 5951e0fa4..e48635a7d 100644 --- a/app/Domain/Tickets/Templates/showAll.blade.php +++ b/app/Domain/Tickets/Templates/showAll.blade.php @@ -62,378 +62,398 @@ $allTickets = $allTicketGroups['all']['items']; } ?> - - - -
= $tpl->__('label.id') ?> | -= $tpl->__('label.title') ?> | -= $tpl->__('label.todo_status') ?> | -= $tpl->__('label.milestone') ?> | -= $tpl->__('label.effort') ?> | -= $tpl->__('label.priority') ?> | -= $tpl->__('label.editor') ?>. | -= $tpl->__('label.sprint') ?> | -= $tpl->__('label.tags') ?> | -= $tpl->__('label.due_date') ?> | -= $tpl->__('label.planned_hours') ?> | -= $tpl->__('label.estimated_hours_remaining') ?> | -= $tpl->__('label.booked_hours') ?> | -- |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- #= $tpl->e($row['id']) ?> - | - -
- 0) { ?>
- = $tpl->escape($row['parentHeadline']) ?>
- // - - = $tpl->e($row['headline']) ?> - |
-
-
-
-
-
- + + {{ $group['label'] }} ({{ count($group['items']) }}) + ++ {{ $group['more-info'] }} +
+ @endif
+
+ @php
+ $allTickets = $group['items'];
+ $tpl->dispatchTplEvent('allTicketsTable.before', ['tickets' => $allTicketGroups]);
+ @endphp
+
+ + @endif + + {{ $tpl->e($row['headline']) }} + + |
-
-
-
-
- escape($row['milestoneHeadline']) : $tpl->__('label.no_milestone');
-
- $milestoneColor = $tpl->escape($row['milestoneColor']);
- $milestoneDropdownId = 'milestoneDropdownMenuLink' . $row['id'];
- $noMilestoneLabel = $tpl->__('label.no_milestone');
- ?>
-
-
- |
-
-
- 0 ? $efforts['' . $row['storypoints']] ?? $row['storypoints'] : $tpl->__('label.story_points_unkown');
-
- $dropdownId = 'effortDropdownMenuLink' . $row['id'];
- ?>
-
-
- |
-
- 0 ? $priorities[$row['priority']] : $tpl->__('label.priority_unkown');
-
- $dropdownId = 'priorityDropdownMenuLink' . $row['id'];
- ?>
-
-
- |
-
-
- |
-
- escape($row['sprintName']) : $tpl->__('links.no_list');
-
- $dropdownId = 'sprintDropdownMenuLink' . $row['id'];
- ?>
-
-
- |
-
-
- - - - | - - __('text.anytime'); - } else { - $date = new DateTime($row['dateToFinish']); - $date = $date->format($tpl->__('language.dateformat')); - } - ?> - - -- - | -
- |
-
-
- |
-
-
- - - - | -- @include('tickets::includes.ticketsubmenu', [ - 'ticket' => $row, - 'onTheClock' => $onTheClock, - ]) - | - dispatchTplEvent('allTicketsTable.beforeRowEnd', ['tickets' => $allTickets, 'rowNum' => $rowNum]); ?> -
- | - | - | - | - | - |