Skip to content

Instantly share code, notes, and snippets.

@level420
Created November 23, 2016 14:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save level420/1ca8f4d5b40c9c11c4088965eae57375 to your computer and use it in GitHub Desktop.
Save level420/1ca8f4d5b40c9c11c4088965eae57375 to your computer and use it in GitHub Desktop.
qx.Class.define("qx.ui.table.pane.OptimizedHeader",
{
extend : qx.ui.table.pane.Header,
members : {
// overridden
_updateContent : function(completeUpdate) {
var children = this._getChildren();
var table = this.getTable();
if(completeUpdate && children.length > 0 && table.getBlockHeaderUpdate && table.getBlockHeaderUpdate()) {
// this.error("_updateContent: BLOCKED");
return;
}
this.base(arguments, completeUpdate);
}
}
});
qx.Class.define("qx.ui.table.OptimizedTable",
{
extend : qx.ui.table.Table,
construct : function(tableModel, custom) {
if(!custom) {
custom = {};
}
if(!qx.lang.Type.isFunction(custom.tablePaneHeader)) {
custom.tablePaneHeader = function(obj) { return new qx.ui.table.pane.OptimizedHeader(obj); };
}
this.base(arguments, tableModel, custom)
},
properties :
{
/**
* block pane header updates
*/
blockHeaderUpdate : {
check : "Boolean",
init : false,
apply : "_applyBlockHeaderUpdate"
}
},
members :
{
//applyer
_applyBlockHeaderUpdate : function(value, old) {
if(value === false) {
this.getTableColumnModel().fireDataEvent("orderChanged");
}
},
}
});
var tableHeaders = [
"R-Nr", "Rech-Dat", "Sammelr", "Kunden-Nr", "R-Empf", "Art", "Auf-Nr", "Auf-Dat", "Anz-Pos.", "Wert Brutto",
"Wert netto", "Zu/Ab", "R-Zuschl.", "Nebenkosten", "Skonto", "Storniert", "Ihre Zeichen", "Unsere Zeichen",
"Zahlart", "Sofort", "Stat-Upd", "Bonus", "MwSt-frei", "MwSt-Betrag", "Brutto-Pr", "Rabatt-Dr", "Rech-Addr-Nr",
"Rechnungsadresse", "Zahlungsfreigabe", "Ertrag", "IBAN", "BIC", "Lief-Bed", "Lief-Text", "Lief-Termin",
"Lief-Addr-Nr", "Lieferadresse", "Zahl-Bed", "Zahl-Text", "Filiale", "Filiale Name", "Rech-KZ", "Rech-Bez",
"Sachb-Nr", "Sachb-Kurzz", "Sachb-Name", "Vertr-Weg", "Vertr-Bez", "Form-Nr", "Form-Bez"
];
var tableIDs = [
"j_rnr", "rk_dat", "rk_sammel", "j_kunr", "rk_rekunr", "rk_aufart", "j_aufnr", "rk_akdat", "rk_anzpos",
"rk_wertBrutto", "rk_wertNetto", "rk_srabatt", "rk_klrzu", "rk_fakost", "rk_skbetrag", "rk_storno",
"rk_izei", "rk_uzei", "rk_zart", "rk_sofort", "rk_update", "rk_bonus", "rk_mwstfrei", "z_stbetrag",
"rk_brunet", "rk_rabdr", "rk_jrlfdnr", "rech_name", "j_gsnr", "z_angwert", "j_kto", "j_blz",
"j_lbnr", "lb_text", "rk_ltermin", "rk_jllfdnr", "lief_name", "j_zab", "zb_text", "j_filial", "fa1_name",
"j_sammelkz", "skz_bez", "j_minr", "mi_kurz", "ad_name1", "j_vwnr", "vw_bez", "j_fonr", "fo_bez"
];
var toolTips = [
"Rechnungsnummer", "Rechnungsdatum", "Sammelrechnung", "Kundennummer", "Rechnungsempfänger", "Auftragsart",
"Auftragsnummer", "Auftragsdatum", "Anzahl Positionen", "Rechnungswert brutto", "Rechnungswert netto",
"Zu- und Abschlag in %", "Rechnungs- bzw. Kleinrechnungszuschlag", "", "Skontobetrag", "Rechnung storniert",
"", "", "", "Sofortrechnung", "Statistikupdate", "Bonusfähig", "Mehrwertsteuerfrei", "Mehrwertsteuerbetrag",
"Bruttopreise", "Rabattdruck", "Rechnungsadresse", "Rechnungsadresse", "Zahlungsfreigabe", "", "", "",
"Lieferbedingung Schlüssel", "Lieferbedingung Text", "Liefertermin", "Lieferadresse", "Lieferadresse",
"Zahlungsbedingung Schlüssel", "Zahlungsbedingung Text", "Filialnummer", "Filialname", "Rechnungskennzeichen",
"Rechnungskennzeichen Bezeichnung", "Sachbearbeiter Mitarbeiternummer", "Sachbearbeiter Kurzzeichen",
"Sachbearbeiter Name 1", "Vertriebsweg", "Vertriebsweg Bezeichnung", "Formularnummer", "Formularbezeichnung"
];
var tableModel = new qx.ui.table.model.Simple();
tableModel.setColumns(tableHeaders, tableIDs);
var table = new qx.ui.table.OptimizedTable(tableModel);
var tableColumnModel = table.getTableColumnModel();
table.setBlockHeaderUpdate(true);
// Setzen der Spalteneigenschaften
for (var i = 0; i < toolTips["length"]; i++) {
var cellHeader = new qx.ui.table.headerrenderer.Default();
cellHeader.setToolTip(toolTips[i]);
tableColumnModel.setHeaderCellRenderer(
i,
cellHeader
);
}
table.setBlockHeaderUpdate(false);
var doc = this.getRoot();
doc.add(table,
{
left : 10,
top : 10
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment