ui/pane.js
function displayFormsForRelation (pred, allowCreation) {
          var sts = kb.statementsMatching(subject, pred)
          const outliner = panes.getOutliner(dom)
          if (sts.length) {
            for (var i = 0; i < sts.length; i++) {
              outliner.appendPropertyTRs(box, [ sts[i] ])
              var form = sts[i].object
              var cell = dom.createElement('td')
              box.lastChild.appendChild(cell)
              if (allowCreation) {
                cell.appendChild(UI.widgets.newButton(
                  dom, kb, null, null, subject, form, store, function (ok, body) {
                    if (ok) {
                      // dom.outlineManager.GotoSubject(newThing@@, true, undefined, true, undefined);
                      // rerender(box);   // Deleted forms at the moment
                    } else complain('Sorry, failed to save your change:\n' + body)
                  }))
              }
              var formdef = kb.statementsMatching(form, ns.rdf('type'))
              if (!formdef.length) formdef = kb.statementsMatching(form)
              if (!formdef.length) complain('No data about form')
              else {
                UI.widgets.editFormButton(dom, box,
                form, formdef[0].why, complainIfBad)
              }
            }
            box.appendChild(dom.createElement('hr'))
          } else {
            mention('There are currently no known forms to make a ' +
              label + '.')
          }
        }
function displayFormsForRelation (pred, allowCreation) {
          var sts = kb.statementsMatching(subject, pred)
          const outliner = panes.getOutliner(dom)
          if (sts.length) {
            for (var i = 0; i < sts.length; i++) {
              outliner.appendPropertyTRs(box, [ sts[i] ])
              var form = sts[i].object
              var cell = dom.createElement('td')
              box.lastChild.appendChild(cell)
              if (allowCreation) {
                cell.appendChild(UI.widgets.newButton(
                  dom, kb, null, null, subject, form, store, function (ok, body) {
                    if (ok) {
                      // dom.outlineManager.GotoSubject(newThing@@, true, undefined, true, undefined);
                      // rerender(box);   // Deleted forms at the moment
                    } else complain('Sorry, failed to save your change:\n' + body)
                  }))
              }
              var formdef = kb.statementsMatching(form, ns.rdf('type'))
              if (!formdef.length) formdef = kb.statementsMatching(form)
              if (!formdef.length) complain('No data about form')
              else {
                UI.widgets.editFormButton(dom, box,
                form, formdef[0].why, complainIfBad)
              }
            }
            box.appendChild(dom.createElement('hr'))
          } else {
            mention('There are currently no known forms to make a ' +
              label + '.')
          }
        }
For each creation form, allow one to create a new object with it, and also to edit the form.