Quotes

A quote list. The user filters by customer, opens a dialog with "新規" (New), and saves, which shows a notification.

quote.html is ordinary HTML and CSS written by a designer who does not know LPScript. The appearance is entirely in that file. It contains nothing specific to LPScript.

Cloned elements

Html clone: '#lines tr'         a line item row
Html clone: '#board .modal'     the edit dialog

The dialog is cloned from the HTML, like the rows. The designer placed one to check its appearance, and the program uses it. No markup is rewritten in the program.

Regions the actor owns

#board          the table and the dialog. The actor draws this region
#filter #new    events only. The elements are not modified
#count #toast   values only

The actor owns #board. The rest of the page stays as the designer wrote it. Elements the actor only needs clicks from are not drawn by it; it listens to them.

me listen: '#new' on: #click send: #startNew.

Compile-time checks

A handler named on a button must exist, or it is a compile error. The type of an ask result is the type of the handler's reply. Event values are typed.

If the designer changes a class name, the build fails.