Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-2602

Programming Model: add @ActionLayout/@PropertyLayout(fieldSetId=..., fieldSetName=...)

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Implemented
    • None
    • 2.0.0-M6
    • Core
    • None

    Description

      1. In the XML, every fieldset has an `id`, though it may be inferred from a non-empty `name`. (If the name is empty "" or missing, then the id is mandatory).
      2. We place a property in a fieldset either by locating within the XML, or by using `@PropertyLayout(fieldSet=...)`. If the latter then `@PropertyLayout(sequence=...)` is then the relative position within that fieldset.
      3. We can associate an action with a property or collection using `@Action(associateWith=...)`. This will be positioned close to the property/collection, either under it or on the header panel depending on other layout facets.
      4. We can override (3) using `@ActionLayout(fieldSet=...)`. In such a case, the action is placed on the panel.
      5. We take the fieldset name and pass it to the TranslationService along with a context. As with all translations, if none is available then the name is returned unchanged. For this reason it is the fieldset name (not its id) that is passed in to translations.
      6. For the context of a fieldset name translation, we use a construct `com.mycompany.Customer~fieldSets`. We DON'T indicate the id of the fieldset, the human translator doesn't need that detail.
      7. Similar, we take the tab name and pass it through to be translated.
      8. For the context of a tab, we use a construct `com.mycompany.Customer~tabs`. Again, no more detail than that is needed by the human translator.

      Attachments

        Issue Links

          Activity

            People

              hobrom Andi Huber
              hobrom Andi Huber
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: