Uploaded image for project: 'Blossom'
  1. Blossom
  2. BLOSSOM-322

Resolve Blossom dialog in template, to render content based on page/component model

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Fixed
    • Icon: High High
    • 3.7.0
    • None
    • None
    • None
    • Yes

      e.g. to determine if a dialog field is i18n

      Currently, Blossom dialogs are only "generated" if we're in an app, in the Admincentral.
      However at rendering time, the registry returns an empty dialog.

      Example code

      @RequestMapping("/foo")
      public String render(Model model, Node node) {
          var dialog = dialogRegistry.getProvider("acme:foo").get();
          var bar = dialog.getForm().getFieldDefinition("bar").get();
          if (bar.isI18n()) {
              model.put(...)
          }
      
          return "components/foo.ftl";
      }

       

      Original summary: Unnecessary/confusing legacy ConfiguredFormDialogDefinition creation

      Hello,

      Blossom is still providing the UI5 ConfiguredFormDialogDefinition in the BlossomDialogDefinitionProvider regardless whether UI5 or UI6 is used. It gets replaced by the DialogCreatorDefinitionDecorator anyway, but since other decorators might get triggered beforehand, they still get the old definition (without any form and properties in there). Can we move the creation of the definition from DialogCreatorDefinitionDecorator to BlossomDialogDefinitionProvider? Or is there any intention behind creating an unfinished legacy definition and then decorating it later on?

        Acceptance criteria

              mgeljic Mikaël Geljić
              beschle Björn Eschle
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:
                Work Started: