CuneiModal

จาก คูนิฟ็อกซ์ วิกิ

CuneiModals are basically pop-up windows with pre-defined scripts and event handlers to make them work fluently with CuneiForms and CuneiTables. They are purely client-side constructs, so there are no needs to define and initiate them on the server side. It is, however, necessary for the server-side developer to anticipate their existence and, in most cases, their IDs in the server-side code. (See attributes in_modal of CuneiForms and in_modal/bound_modal of CuneiTables.)

Design & Pre-made Scripts

The process of putting up a CuneiModal is designed to be as straigtforward as possible, at least for the most common use cases (see notes on CuneiModal types below). All one has to do is to surround whatever that go in a modal with 2 extra lines of Jinja2 macros.

{{ CuneiModals.modal_upper_half("<ModalID>", ...) }}
    /* Modal content goes here. */
{{ CuneiModals.modal_lower_half("<ModalID>", ...) }}

Modal Upper Macro & Modal Object

modal_upper_half(modalid, type="table", title="Look up", 
				 class="primary", head_bg=false, size=false,
				 first_focus=false)
Parameters DO NOT rely on argument order farther than modalid and type, ALWAYS PROVIDE argument keywords.
  • modalid (str)
  • type (str):
  • title (str):
  • class and head_bg take the formats of class and custom_color arguments of CuneiForm's render_btn respectively. They dictates the colour of the table header as well as the color scheme of the full-form modal (when applicable). Note that, if both are given, head_bg takes precedence.
  • size (str):
  • first_focus (str):

The Working of Modal Upper Macro

Modal Object Attributes

Below is the list of and notes on modal object attributes:

  • Basic Attributes
  • Colours & Classes
  • References to Modal Elements
  • References to Other Elements
  • Status Attributes

Modal Lower Macro

modal_lower_half(modalid, class="success", head_bg=false, hidden=false,
				 ok_btn="OK", hide_ok=false, addi_btns=[],
				 close_btn="Close", hide_cancel=false)
Parameters DO NOT rely on argument order farther than modalid and type, ALWAYS PROVIDE argument keywords.
  • modalid (str)
  • class and head_bg take the formats of class and custom_color arguments of CuneiForm's render_btn respectively. They dictates the colour of the table header as well as the color scheme of the full-form modal (when applicable). Note that, if both are given, head_bg takes precedence.
  • hidden (bool):
  • ok_btn (str):
  • hide_ok (bool):
  • addi_btns (array):
  • close_btn (str):
  • hide_cancel (bool):

Notable Sub-routines

Modal Showing

Modal Hiding