basic pattern

The BasicPattern component is really just an example of how to relate views, editors, and lists.

Whether extending these regularly is a good idea remains to be seen.

The basic hierarchy is like this:
  1. Pattern
    1. List
      1. View
    2. Editor
Basic Interface Pattern
1. Editor — edit an object
2. List — render each object in a view
3a. View — object 1
3b. View — object 2
3c. View — object 3…
Pattern:
    constructor:
      editor = new BasicEditor
      list = new BasicList

    attributes:
      fields: set editor.fields
      fields: set list.fields

    getters & setters:
      .data = array of objects
      .data = [] ➡️ List.data = []

    listeners: 
      objectcreated: List.add(object)

    add(objects):
      
    List: 
        constructor:
          this.view = new BasicView

        attributes:
          fields: set editor.fields
          fields: set list.fields

        getters & setters:
          set data(objects){ this.objects = objects }
          get data { return this.objects }

        methods: 
          add(object) => data.push(object)

          render:
            this.data.forEach(object => {
              let view = new this.view
              view.data = object
              view.render()
              this.querySelector('main').append(view)
            })
    View:
        construct:
          

    Editor: 
        get data ➡️ object
        onsubmit
          dispatch objectcreated