From b77daf4cce22b49aecbfe24b00f8c1781ffc9df4 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Mon, 7 Jun 2021 16:30:33 +0200 Subject: [PATCH] Changed: Tabulators CSV-/help-/setting buttons NOT displayed by default anymore Not any table needs the header buttons (CSV-/help-/setting). Therefore header buttons MUST be set activley in the TableWidgets options to be visible. Signed-off-by: cris-technikum --- .../approveAnrechnungUebersichtData.php | 4 +- .../reviewAnrechnungUebersichtData.php | 4 +- .../lehrauftrag/acceptLehrauftragData.php | 3 ++ .../lehrauftrag/approveLehrauftragData.php | 3 ++ .../lehrauftrag/cancelledLehrauftragData.php | 3 ++ .../lehrauftrag/orderLehrauftragData.php | 3 ++ public/js/TableWidget.js | 47 ++++++++++++------- 7 files changed, 49 insertions(+), 18 deletions(-) diff --git a/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php b/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php index 0ee3fdc57..61823b0a4 100644 --- a/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php +++ b/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php @@ -72,7 +72,6 @@ $filterWidgetArray = array( 'datasetRepOptions' => '{ height: func_height(this), layout: "fitColumns", // fit columns to width of table - persistentLayout:true, persistentSort:true, autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated headerFilterPlaceholder: " ", @@ -83,6 +82,9 @@ $filterWidgetArray = array( tableBuilt: function(){ func_tableBuilt(this); }, + tableWidgetHeader: { + headerButtons: true + }, tableWidgetFooter: { selectButtons: true }, diff --git a/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php b/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php index 7382df85b..2b75d777f 100644 --- a/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php +++ b/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php @@ -82,7 +82,6 @@ $filterWidgetArray = array( 'datasetRepOptions' => '{ height: func_height(this), layout: "fitColumns", // fit columns to width of table - persistentLayout:true, persistentSort:true, autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated headerFilterPlaceholder: " ", @@ -93,6 +92,9 @@ $filterWidgetArray = array( tableBuilt: function(){ func_tableBuilt(this); }, + tableWidgetHeader: { + headerButtons: true + }, tableWidgetFooter: { selectButtons: true }, diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php index f09eb62a0..a76018f0b 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php @@ -353,6 +353,9 @@ $filterWidgetArray = array( renderStarted:function(){ func_renderStarted(this); }, + tableWidgetHeader: { + headerButtons: true + }, tableWidgetFooter: { selectButtons: true } diff --git a/application/views/lehre/lehrauftrag/approveLehrauftragData.php b/application/views/lehre/lehrauftrag/approveLehrauftragData.php index 88b3eabd0..8370070fc 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftragData.php @@ -370,6 +370,9 @@ $filterWidgetArray = array( tableBuilt: function(){ func_tableBuilt(this); }, + tableWidgetHeader: { + headerButtons: true + }, tableWidgetFooter: { selectButtons: true } diff --git a/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php b/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php index 54948fb26..bd75a97ca 100644 --- a/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php @@ -76,6 +76,9 @@ $tableWidgetArray = array( tableBuilt: function(){ func_tableBuilt(this); }, + tableWidgetHeader: { + headerButtons: true + } }', // tabulator properties 'datasetRepFieldsDefs' => '{ vertrag_id: {visible: false}, diff --git a/application/views/lehre/lehrauftrag/orderLehrauftragData.php b/application/views/lehre/lehrauftrag/orderLehrauftragData.php index aea7d5181..58daaf113 100644 --- a/application/views/lehre/lehrauftrag/orderLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/orderLehrauftragData.php @@ -405,6 +405,9 @@ $filterWidgetArray = array( dataLoaded: function(data){ func_dataLoaded(data, this); }, + tableWidgetHeader: { + headerButtons: true + }, tableWidgetFooter: { selectButtons: true } diff --git a/public/js/TableWidget.js b/public/js/TableWidget.js index c7eea73c3..7a20fe5b4 100644 --- a/public/js/TableWidget.js +++ b/public/js/TableWidget.js @@ -544,17 +544,28 @@ var FHC_TableWidget = { options.columns = arrayTabulatorColumns; options.data = data.dataset; - if (options.tableWidgetHeader == 'undefined') - { - options.persistentLayout = true; // enables persistence (default store in localStorage if available, else in cookie) - options.persistenceID = data.tableUniqueId; // TableWidget unique id to store persistence data seperately for multiple tables - } - options.movableColumns = true; // allows changing column order options.tooltipsHeader = true; // set header tooltip with column title options.placeholder = _func_placeholder(); // display text when table is empty + options.persistenceID = data.tableUniqueId; // unique id to store persistence data separately for multiple tables + + // Columns can be moved per default + if (options.movableColumns == undefined) + { + options.movableColumns = true; // allows changing column order + } + + // Column layout is stored by default + if (typeof(options.persistentLayout) === 'undefined') + { + options.persistentLayout = true; // enables column layout persistence + } + + // Sum up rows selected options.rowSelectionChanged = function(data, rows){ _func_rowSelectionChanged(data, rows); }; + + // Redraw table when hiding / showing columns options.columnVisibilityChanged = function(column, visible) { _func_columnVisibilityChanged(column, visible); }; @@ -569,15 +580,19 @@ var FHC_TableWidget = { // ------------------------------------------------------------------------------------------------------------- // Render tableWidgetHeader - if (options.tableWidgetHeader == 'undefined' || - (options.tableWidgetHeader != 'undefined' && options.tableWidgetHeader != false)) + if (options.tableWidgetHeader != 'undefined' && options.tableWidgetHeader != null) { - var tabulatorHeaderHTML = _renderTabulatorHeaderHTML(tableWidgetDiv); - tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML); + // If property headerButtons is true, render them! (CSV-, Help-, Settingbuttons) + if (options.tableWidgetHeader.headerButtons != 'undefined' && options.tableWidgetHeader.headerButtons === true) + { + // Render the buttons + var tabulatorHeaderButtonsHTML = _renderTabulatorHeaderButtonsHTML(tableWidgetDiv); + tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderButtonsHTML); - // Render the collapsable div triggered by button in tableWidgetHeader - var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv); - tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML); + // Render the collapsable div triggered by clicking the headerButtons + var tabulatorHeaderButtonsCollapseHTML = _renderTabulatorHeaderButtonsCollapseHTML(tableWidgetDiv); + tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderButtonsCollapseHTML); + } } /** @@ -759,7 +774,7 @@ function _func_placeholder(){ } // Returns TableWidget Header HTML (download-, setting button...) -function _renderTabulatorHeaderHTML(tableWidgetDiv){ +function _renderTabulatorHeaderButtonsHTML(tableWidgetDiv){ var tableUniqueId = tableWidgetDiv.attr('tableUniqueId'); @@ -785,13 +800,13 @@ function _renderTabulatorHeaderHTML(tableWidgetDiv){ ''; tabulatorHeaderHTML += ''; tabulatorHeaderHTML += ''; - tabulatorHeaderHTML += '


'; + tabulatorHeaderHTML += '

'; return tabulatorHeaderHTML; } // Returns collapsable HTML element for TableWidget header buttons -function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv){ +function _renderTabulatorHeaderButtonsCollapseHTML(tableWidgetDiv){ var tableUniqueId = tableWidgetDiv.attr('tableUniqueId');