Skip to main content

Model builder plugin for oarepo-ui

Project description

UI model builder plugin

An OARepo Model Builder plugin to generate user interface layout from model specification.

Installation

pip install oarepo-model-builder-ui

Usage

The plugin adds support for UI annotation of the model file:

title:
  type: keyword
  label.key: title.label
  label.cs: Název
  label.en: Title
  help.key: title.help
  hint.key: title.hint
  ui:
    detail: <detail component name>
    edit: <edit component name>
    // any other property here - not validated

The following files are generated:

<package>
  +- model
    +- ui.json 
  +- templates
    +- <langcode>
      +- LC_MESSAGES
        +- messages.po
        +- messages.mo

i18n

The po and mo files are standard gettext po files. The translation keys are taken from the *.key properties. If keys are not specified, they are generated from the property path (for example, metadata.creator.firstName.label ).

UI layout

The UI layout is generated as a convenience for other tools, for example for oarepo-cli. It contains simplified layout of the model. Example:

{
  "children": {
    "title": {
      "detail": "fulltext",
      "input": "fulltext",
      "help": "title.help",
      "label": "title.label",
      "hint": "title.hint"
    },
    "providers": {
      "detail": "array",
      "input": "array",
      "help": "providers.help",
      "label": "providers.label",
      "hint": "providers.hint",
      "child": {
        "detail": "provider",
        "input": "provider",
        "children": {
          "name": {
            "detail": "keyword",
            "input": "keyword",
            "help": "providers/name.help",
            "label": "providers/name.label",
            "hint": "providers/name.hint"
          }
        }
      }
    }
  }
}

Fields:

  • detail: component used for rendering the detail page
  • input: component used for rendering input
  • help/label/hint: keys to gettext message catalogues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oarepo-model-builder-ui-4.0.9.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

oarepo_model_builder_ui-4.0.9-py3-none-any.whl (10.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page