Print, export and draw a footer as a value of its own type

Chiusa
#1,963 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java

Direzione di ricerca

Start by locating the form footer handling used by table, React, print, and XLS/XLSX rendering, then trace how a property's declared type and pattern are applied to its footer value. Check the CUSTOM 'renderFunction' path for image properties as well. Done means each view renders the footer's own value and markup, applies the column pattern only for matching types, and handles image render functions without error; update the FOOTER documentation as described.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Description

A property's footer (the FOOTER option of a property on a form) is a value of its own type, which may differ from the column's: a string such as 'Total' under dates, a count under amounts, a total under quantities.

The print view and the export to Excel formatted a footer by its column:

  • under a column of dates, times or date-times, the footer showed the value of the column's last row, whatever the footer was;
  • the column's pattern was applied to a footer of any type: a count under a column with the pattern '000000' was printed as 000002;
  • in XLS and XLSX, a number pattern with optional fraction digits ('#,##0.##') was chosen for the footer by the column's last value: a total of 1.5 and 2 under a last row of 2 was shown as 4;
  • an HTML footer under a column of strings was printed with its tags as text.

A render function (CUSTOM 'renderFunction') of a property named image, whose values name images, took a string footer for an image too: the footer row stayed empty, and an error was shown.

CLASS Order;
date 'Date' = DATA DATE (Order);
sum 'Sum' = DATA NUMERIC[14,2] (Order) PATTERN '#,##0.##';
totalSum = GROUP SUM sum(Order o);

FORM orders 'Orders'
    OBJECTS o = Order
    PROPERTIES(o) date FOOTER 'Total', sum FOOTER totalSum()
;

PRINT orders showed the last order's date instead of Total under the dates, and PRINT orders XLSX could show the total rounded.

Reason

Footers in printed and exported forms showed wrong values, and a render function of an image failed on a footer.

Fix

A footer is printed, exported and given to a render function as a value of its own type: its own value, the markup of its type, and the column's pattern only where the footer is of the same kind of type as the column (a total under its column), the pattern of its own type otherwise. The documentation of the FOOTER option says where a footer is shown: in the table's footer row, in a React view, in the print view.

Lingua principale
Java
Stelle
214
Fork
46
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di lsfusion/platform

Tutte le issue di lsfusion/platform

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.