Renderable Commands ******************* This type of commands generate html tags as rendering result. .. note:: The :class:`Renderable Commands` inherit from :doc:`../command-base`. .. code-block:: html :caption: general structure of renderable commands :linenos: ... ... ... ... ... ... Attributes ========== datamembername :class:`string` :class:`required` :class:`[##-notation` Determine data source name that serve to get source data for use in rendering process. For more information see :doc:`../data-binding` Tags ==== layout :class:`optional` :class:`single` Determine output structure of rendering result and add extra tag to beginning or end of generated html tags. Only one :class:`layout` tag Allowed and default value is :class:`@child`. For more information see :doc:`base/layout-tag`. For example see :ref:`Use-simple-layout`. face :class:`required` :class:`multi` Determine template for rendering process. At last one :class:`face` tag required. For more information see :doc:`base/face-tag`. For example see :ref:`Use Simple Face `. replace :class:`optional` :class:`multi` Use this tag add functionality for format some section in face rendering result. Multi :class:`replace` tag Allowed and default value is :class:`null`. For more information see :doc:`base/replace-tag`. For example see :ref:`Use Replace `. divider :class:`optional` :class:`single` The :class:`divider` tag use for determine delimiter content between two data row rendering result. Only one :class:`divider` tag Allowed and default value is :class:`null`. For more information see :doc:`base/divider-tag`. For example see :ref:`Use Divider `. incomplete :class:`optional` :class:`single` The :class:`incomplete` tag use for determine empty cell template when rendering result in some command like :doc:`view` that generate rows with data present as cells like view-card template. Only one :class:`incomplete` tag Allowed and default value is :class:`null`. For more information see :doc:`base/incomplete-tag` For example see :ref:`Use Incomplete Tag `. else-layout :class:`optional` :class:`single` The :class:`else-layout` tag use for determine no-data template when rendering result don't generate result. Only one :class:`else-layout` tag Allowed and default value is :class:`null`. For more information see :doc:`base/else-layout-tag`. For example see :ref:`Use Else-Layout Tag `. .. note:: For see more Information about :class:`[##-notation`,see :doc:`../[-sharp-sharp-notation` Remarks ======= In :class:`renderable command` rendering process for create output consist of some steps. In first step, data source determined by :class:`datamembername` attribute load from :doc:`/host/context-object`. If data not exist, rendering process wait until data loaded in :class:`Context`. In next step for each data item (object or row) in data source (collection or table) preferred :class:`face` selected by checking :class:`face` related attributes like :class:`filter`. Order of selecting face is from up to down in order that :class:`face` declared in command. So in case of two :class:`face` that pass data item checking, first of them is selected for rendering. In next step, data injection process run and data item apply to :class:`face` :class:`template` using :class:`@ Notation`. .. note:: For more information about :class:`face` rendering process, see :doc:`base/face-tag`. In next step if :class:`replace` tags exist and active in :class:`face`, apply to rendering result and add extra formatting to command output. Next step use :class:`divider` and :class:`incomplete` tags for format output for grid base result. If generated result til now is empty, :class:`else-layout` use for generate result. .. toctree:: :titlesonly: :caption: Commands :hidden: base/layout-tag base/face-tag base/replace-tag base/divider-tag base/incomplete-tag base/else-layout-tag print list view tree