Skip to content

Setup Wizard: configure display options of Matching View #2127

@sleidig

Description

@sleidig

The MatchingComponent with its special UI should be configurable by users, defining which fields and filters are displayed in the selection tables and the comparison list on top.

Image

The config is currently stored as a central element in the Config:CONFIG_ENTITY under the "appConfig:matching-entities":

"appConfig:matching-entities": {
      "matchActionLabel": "Create Match",
      "columns": [
        [
          {
            "label": "Name",
            "id": "_id",
            "additional": "Child",
            "noSorting": true,
            "viewComponent": "DisplayEntity"
          },
          {
            "label": "Name",
            "id": "_id",
            "additional": "School",
            "noSorting": true,
            "viewComponent": "DisplayEntity"
          }
        ],
        [
          "gender",
          "gender"
        ]
      ],
      "rightSide": {
// ...
      },
      "leftSide": {
        "entityType": "Child",
        "availableFilters": [
// ...
        ],
        "prefilter": {
          "$or": [
// ...
          ]
        }
      },
      "onMatch": {
// ...
      }
    }

It is also possible to overwrite the config for one specific view where the component is used, e.g.

// in view:child/:id
"components": [
        {
          "title": "Matching",
          "component": "MatchingEntities",
          "config": {
            "leftSide": {} // hide the left side (and use the current entity in the details view automatically
          }
        }
      ]
    }
]

  • implement a component to configure the properties of this MatchingEntitiesConfig
  • add a route to the admin module + a link to the admin-overview shortcuts to "Manage Matching View"
  • implement a Admin-Panel-Component (similar to the one to configure the RelatedEntitiesComponent in Entity Details) that also makes this admin-component available wherever it is used in details views
    • maybe this could open the component to edit the global (appConfig:matching-entities) config in a dialog, to keep it simple?
    • this admin-panel-component view has to let the user select which "side" is pre-selected with the current entity (or can we infer that from the types?)

Metadata

Metadata

Assignees

Projects

Status

Technical Review

Relationships

None yet

Development

No branches or pull requests

Issue actions