[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Working on the query parameter pages ("dialogs")

Hi Yves,

As promissed on IRC, I'm writing down a description of how to work on what you call the "dialogs" for the searches and reports. (We call them the "filter pages".)

There are several things to know here:

 * All listing-based reports (that is, not the balance sheet and the PNL, but all others) run through what we call "dynatable"
 * Most filters (including balance_sheet.html and income_statement.html) are in UI/Reports/filters/
 * All filters and "dynatable" are Template::Toolkit templates
 * There are two libraries of "predefined" HTML expansions: (a) UI/lib/elements.html and (b) UI/lib/report-base.html
 * The "report-base.html" library is typically used by the filter pages
 * elements.html is used by nearly all pages
 * The filter pages define forms which posts to scripts you can find in LedgerSMB/Scripts/*.pm (even though the URL says .pl)
 * The scripts use Report objects which you can find in LedgerSMB/Report/*
 * The various forms of income statements (including PNLs) are in LedgerSMB/Report/Income_Statement/*.pm (including PNL.pm)

Just came up with a another one:

 * In 1.5, you can easily work with Dojo widgets of any type and kind, self-implemented or not, but in 1.4,
   widgets are instantiated by UI/lib/Loader.js. Any widgets the loader doesn't know about need to be
   added to the loader, or - my preference - simply not be used until 1.5 (which is a major reason to want
   to release 1.5!)



http://efficito.com -- Hosted accounting and ERP.
Robust and Flexible. No vendor lock-in.
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
Ledger-smb-devel mailing list