Skip to content
This repository has been archived by the owner on Mar 19, 2024. It is now read-only.

Latest commit

 

History

History
181 lines (172 loc) · 4.35 KB

README.md

File metadata and controls

181 lines (172 loc) · 4.35 KB

Alpaca Quasar App Extension

Alpaca component built for use in quasar

Install

First link the extension to your app

npm link quasar-app-extension-alpaca-forms

Then invoke the component

quasar ext invoke alpaca-forms 

Usage

  • Add the formBuilder component to your desired .vue file

    <formBuilder :schema="schema" :formData="formData" @form-data="processFormData"/>

  • Example formData:

    formData: {
      "title": "test title"
    }
  • Example schema:

    schema: {
      "schema": {
        "type": "object",
        "properties": {
          "author": {
            "title": "Authors/Editor",
            "type": "array",
            "items": {
              "title": "Authors",
              "type": "object",
              "properties": {
                "family": {
                  "title": "First Name",
                  "type": "string",
                  "required": false
                },
                "authorMName": {
                  "title": "Middle Name",
                  "type": "string",
                  "required": false
                },
                "given": {
                  "type": "string",
                  "required": false,
                  "title": "Last Name"
                }
              },
              "required": false
            },
            "required": false
          },
          "title": {
            "type": "string",
            "required": false,
            "title": "Title"
          },
          "publisher": {
            "type": "string",
            "required": false,
            "title": "Publisher"
          },     
          "issued": {
            "type": "date",
            "required": false,
            "title": "Date",
            "format": "date"
          },
    
          "volume": {
            "type": "string",
            "required": false,
            "title": "Volume/Number (optional)"
          },
          "series": {
            "type": "string",
            "required": false,
            "title": "Series (optional)"
          },
          "address": {
            "type": "string",
            "required": false,
            "title": "Address (optional)"
          },
          "edition": {
            "type": "string",
            "required": false,
            "title": "Edition (optional)"
          },
          "note": {
            "type": "string",
            "required": false,
            "title": "Note (optional)"
          },
          "DOI": {
            "type": "string",
            "required": false,
            "title": "Key (optional)"
          }
        },
        "required": false
      },
      "options": {
        "fields": {
          "author": {
            "toolbarSticky": true,
            "toolbarPosition": "bottom",
            "actionbar": {
              "showLabels": true,
              "actions": [
                {
                  "label": "+",
                  "action": "add"
                },
                {
                  "label": "-",
                  "action": "remove"
                },
                {
                  "label": "",
                  "action": "up"
                },
                {
                  "label": "",
                  "action": "down"
                }
              ]
            }
          },
          "family": {
            "type": "text",
            "label": "Author First Name"
          },
          "authorMName": {
            "type": "text",
            "label": "Author Middle Name"
          },
          "given": {
            "type": "text",
            "label": "Author Last Name"
          },
          "issued": {
            "type": "date",
            "inputType": "date",
            "picker": {
              "format": "DD/MM/YY"
            }
          }
        },
        "focus": false,
        "type": "object",
        "helpers": [],
        "helpersPosition": "below",
        "validate": true,
        "disabled": false,
        "showMessages": true,
        "collapsible": false,
        "legendStyle": "button",
        "views": "base"
      }

Further reading:

Future development

  • The Quasar view for alpaca still needs to be finished. below are the elements that still need work. With that in mind. Alpaca should be completely useable but the UI aspects might not all look the same.
    • radio button
    • check boxes
    • file
    • disable fields
    • collapsible