Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x | import {model} from '@feasibleone/blong';
export default model(
() =>
async function partyUnitModel() {
return {
subject: 'party',
object: 'unit',
objectTitle: 'Unit',
public: true,
nameField: 'unit.unitName',
schema: {
properties: {
unit: {
properties: {
unitName: {title: 'Unit Name'},
unitType: {
title: 'Unit Type',
widget: {
options: [
{value: 'division', label: 'Division'},
{value: 'department', label: 'Department'},
{value: 'branch', label: 'Branch'},
{value: 'team', label: 'Team'},
],
},
},
notes: {title: 'Notes'},
// server schema defined
// unitId: {},
},
widget: {
columns: ['unitName', 'unitType'],
},
},
/**
* Members of this unit.
*
* Hierarchy relationships (person → unit) are stored in core.triple
* with predicate \"belongsTo\". This card will be populated by a custom
* adapter handler that traverses core.triple — placeholder for future
* implementation or realm contribution.
*/
},
},
cards: {
browse: {
label: 'Units',
widgets: ['unit'],
},
details: {
label: 'Unit Details',
className: 'col-12',
widgets: ['unit.unitName', 'unit.unitType', 'unit.notes'],
},
/**
* Members tab — placeholder for core.triple-based hierarchy
* queries. Add a card and widget here once a custom adapter
* handler for person→unit membership is implemented.
*/
},
layouts: {
edit: [['details']],
editThumbIndex: {
orientation: 'left',
items: [
{
id: 'details',
label: 'Details',
icon: 'pi pi-info-circle',
widgets: ['details'],
},
/**
* Members tab — placeholder. Add widgets here once a
* custom adapter handler queries core.triple for person →
* unit membership.
*/
],
},
},
browser: {
icon: 'pi pi-sitemap',
toolbar: [
{
label: 'Create',
icon: 'pi pi-plus',
action: 'component/party.unit.new',
permission: 'party.unit.add',
},
{
label: 'Edit',
icon: 'pi pi-pencil',
enabled: 'current' as const,
method: 'component/party.unit.open',
params: '${current}',
},
{
label: 'Report',
icon: 'pi pi-chart-bar',
action: 'component/party.unit.report',
},
{
label: 'Delete',
icon: 'pi pi-trash',
enabled: 'selected' as const,
confirm: 'Delete selected unit record?',
method: 'party.unit.remove',
params: {unitId: '${unitId}'},
},
],
},
};
},
);
|