Hi, After gil remarks and test with the POC-Vue.js
We are now working with two new "action" usable by link - hyperlink * set-area * set-watcher and in container, we have added attribute watcher-name, and using auto-update-target as target set-area is used to update a containerId, and, most of the time, uses only for included containerId set-watcher put some "parameters" in a watcher-name when whatcher-name change, all containerId which watch it, use their auto-update-target as target and watcher-name content as parameters to update the container content. Hoping that this solution responds correctly to the problem raised Le 15/05/2020 à 18:08, James Yong a écrit : > Hi Gil, > > Sorry for the late reply. > I agree that button actions should be decoupled from forms. > Shall we continue with Part 3? > > Regards, > James > > On 2020/01/10 17:58:59, Gil Portenseigne <gil.portensei...@nereide.fr> wrote: >> Hello ! >> >> In previous thread we focused on the process of how to define a dynamic >> workflow that raises some questions. >> >> Let's go back to our principles: we have to find simple things, limit >> the possibilities (do little but good) and remember that on the >> backoffice it's end-users who are focused on specific tasks. >> >> To make it simple, implement screen dynamism that will generate >> alterations of the dom, to limit side effects, we establish the >> following principles: >> * We can only ask for an update of the area known by the calling >> element. >> >> Knowing that the element of coherence in the screen engine is the >> screen itself, we can refine this rule on the following basis >> * An element triggering a screen update, can only update elements >> present within the screen where it belongs. >> >> Why did we made this choice? We will see it below, but the goal is >> always to make writing easier for the developer by avoiding him to >> wonder what is the value of the area to be refreshed. >> >> If for various reasons we need to update an area outside the screen >> where the call is located, it is better to ask for a global refresh of >> the page. (Always simpler for the developer) >> >> Another point to aim for simplicity, which zone to update? >> We can identify several actions: >> * I'm on an item and I want to see related items data >> * I'm on an item and I want to refresh that item data >> >> The first case is a defined relation, I will refresh this area with >> this screen, area that will be generally determined by the decorator. >> Then, we will talk about the so-called embedded screens: "embedded >> screen". >> >> The second case is about updating oneself following some sort of >> procedure, I have to refresh myself. Nothing is best than "knowing it >> yourself". >> >> It was needed to implement an optimization to facilitate the application >> of these principles. The idea is that in most cases, the developer >> doesn't have to think about which zone he needs to specify to display >> his data. >> >> In order to apply the operation in a homogeneous way, we added new >> structuring decorators in the common-theme with dedicated zone >> identifiers allowing each implementation to exploit the refresh. >> >> For example, for a detail screen of an entity (e.g. product categories), >> we use a "DetailScreenDecorator" decorator. The main refresh area >> "Associated Objects Details" is the main dynamic area of the screen. >> We are going to identify precise areas so that each theme can be used in >> knowledge: >> * breadcrumb: to display how we see the path to an entity >> * summary: to display a quick information on this entity >> * action: different actions available to this entity >> * navigation: links or other element who help user to navigate on >> the entity relation >> * detail: to display a relation >> >> In our searchn once the list of needs is done, we have exploited the >> areas for our theme as follows: >> >> >> +-----------------------------------------------------+ >> | Catalog -> Category (BreadCrumb) | >> | +-------------------------------------------------+ | >> | | +------------+| | >> | | | Quick Menu || | >> | | +------------+| | >> | | | | >> | | Category Summary | | >> | | | | >> | +-------------------------------------------------+ | >> | | >> | +-------------------------------------------------+ | >> | |Tab Menu | menu1 | menu2 | menu3 | | >> | |-------------------------------------------------| | >> | | <div id="detailArea"> | | >> | | | | >> | | Associated Objects Details | | >> | | | | >> | | | | >> | | | | >> | | | | >> | +-------------------------------------------------+ | >> +-----------------------------------------------------+ >> >> >> The decorator will set a variable "detailArea" in the context of this >> screen, which contains the id of the div to refresh to present a new >> screen (products of the category for example). >> >> The positioning of this type of variable facilitates the constraint on >> the developer to refresh an area of the screen, if he wants to code the >> Tab menu in a simplified way. >> >> Also we are speaking about technical decorator, because we think that it >> is necessary to add business decorators implementing those, facilitating >> the recovery of information from the main object that is processed. >> >> But we will discuss this in another mail Chapter 3 : promoting decorator >> usage >> >> Best Regards, >> >> Leila, Nicolas and Gil >> >> >>