/** * Javascript file for issues overview page */ var IssuesDataset = { // number of max issue ids that can be sent in one request for status change maxIssuesPerRequest: 1000, /** * adds person table additional actions html (above and beneath it) */ appendTableActionsHtml: function() { let auswahlStatus = '
' + '' + '' + '' + '' + '
'; let selectAllHtml = '' + ' '+FHC_PhrasesLib.t("ui", "alle")+'  ' + '' + ' '+FHC_PhrasesLib.t("ui", "keinen")+'    '; let issuescount = 0; FHC_AjaxClient.ajaxCallGet( 'widgets/Filters/rowNumber', { filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() }, { successCallback: function(data, textStatus, jqXHR) { if (FHC_AjaxClient.hasData(data)) { issuescount = FHC_AjaxClient.getData(data); if (issuescount > 0) { var countHtml = issuescount + " "+FHC_PhrasesLib.t("fehlermonitoring", "meldungen"); // Count Records after Filtering $("#filterTableDataset").bind("filterEnd", function() { var cnt = $("#filterTableDataset tr:visible").length - 2; $(".filterTableDatasetCntFiltered").html(cnt + ' / '); }); $("#datasetActionsTop, #datasetActionsBottom").append( "
"+ "
" + selectAllHtml + "
"+ "
" + auswahlStatus + "
"+ "
" + "" + countHtml + "
"+ "
"+ "
"+ "
"+ "
" ); $("#datasetActionsBottom").append("

"); IssuesDataset.setTableActions(); } } }, errorCallback: function(jqXHR, textStatus, errorThrown) { FHC_DialogLib.alertError(textStatus); } } ); }, /** * sets functionality for the actions above and beneath the person table */ setTableActions: function() { $(".setStatus").click(function() { let status_kurzbz = $(".auswahlStatus").val(); let issue_ids_sel = $("#filterTableDataset input:checked[name=issue_id\\[\\]]"); if(status_kurzbz.length <= 0) return FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("fehlermonitoring", "bitteStatusWaehlen")); if(issue_ids_sel.length <= 0) return FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("fehlermonitoring", "bitteFehlerWaehlen")); let issue_ids = []; for (let i = 0; i < issue_ids_sel.length; i++) { issue_ids.push($(issue_ids_sel[i]).val()); } IssuesDataset.changeIssueStatus(issue_ids, status_kurzbz); }); $(".selectAll").click(function() { //select only trs if not filtered by tablesorter var trs = $("#filterTableDataset tbody tr").not(".filtered"); trs.find("input[name=issue_id\\[\\]]").prop("checked", true); }); $(".unselectAll").click(function() { var trs = $("#filterTableDataset tbody tr").not(".filtered"); trs.find("input[name=issue_id\\[\\]]").prop("checked", false); }); }, /** * sends request for changing issue status */ changeIssueStatus: function(issue_ids, status_kurzbz) { FHC_AjaxClient.ajaxCallPost( 'system/issues/Issues/changeIssueStatus', { // split up issue ids if too much data for single request "issue_ids": issue_ids.slice(0, IssuesDataset.maxIssuesPerRequest), "status_kurzbz": status_kurzbz }, { successCallback: function(data, textStatus, jqXHR) { if (FHC_AjaxClient.isError(data)) { FHC_DialogLib.alertError( FHC_PhrasesLib.t("fehlermonitoring", "statusAendernFehler") + ": " + FHC_AjaxClient.getError(data) ); } else if (FHC_AjaxClient.hasData(data)) { if (issue_ids.length < IssuesDataset.maxIssuesPerRequest) { FHC_DialogLib.alertSuccess(FHC_AjaxClient.getData(data)); FHC_FilterWidget.reloadDataset(); } else // send next chunk of data IssuesDataset.changeIssueStatus(issue_ids.slice(IssuesDataset.maxIssuesPerRequest), status_kurzbz); } else FHC_DialogLib.alertError(FHC_PhrasesLib.t("fehlermonitoring", "statusAendernUnbekannterFehler")); }, errorCallback: function(jqXHR, textStatus, errorThrown) { FHC_DialogLib.alertError(FHC_PhrasesLib.t("fehlermonitoring", "statusAendernFehler") + ": " + textStatus); } } ); } }; /** * When JQuery is up */ $(document).ready(function() { IssuesDataset.appendTableActionsHtml(); });