Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

@sms/plugin-meta

Interfaces

ActionSpec

Defined in: packages/plugins/meta/src/types.ts:37

Point action. Opens a model in the given views.

Properties

context?
optional context?: Values;

Defined in: packages/plugins/meta/src/types.ts:47

defaultFilters?
optional defaultFilters?: string[];

Defined in: packages/plugins/meta/src/types.ts:49

Default filters/groupby to activate (search filter names).

domain?
optional domain?: Domain;

Defined in: packages/plugins/meta/src/types.ts:46

groups?
optional groups?: string[];

Defined in: packages/plugins/meta/src/types.ts:51

Only these groups see it.

help?
optional help?: string;

Defined in: packages/plugins/meta/src/types.ts:52

id
id: string;

Defined in: packages/plugins/meta/src/types.ts:38

kind?
optional kind?: string;

Defined in: packages/plugins/meta/src/types.ts:41

‘model’ (default) opens model in views; other kinds are consumer-defined (e.g. ‘report’).

model
model: string;

Defined in: packages/plugins/meta/src/types.ts:42

name
name: string;

Defined in: packages/plugins/meta/src/types.ts:39

target?
optional target?: "current" | "new";

Defined in: packages/plugins/meta/src/types.ts:54

‘new’ opens in a dialog. Default ‘current’.

viewIds?
optional viewIds?: Partial<Record<ViewKind, string>>;

Defined in: packages/plugins/meta/src/types.ts:45

Optional explicit view ids per kind.

views
views: ViewKind[];

Defined in: packages/plugins/meta/src/types.ts:43


CompiledView

Defined in: packages/plugins/meta/src/types.ts:75

A compiled view: base arch with all inherit ops applied.

Properties

arch
arch: ViewNode;

Defined in: packages/plugins/meta/src/types.ts:79

id
id: string;

Defined in: packages/plugins/meta/src/types.ts:76

kind
kind: ViewKind;

Defined in: packages/plugins/meta/src/types.ts:78

model
model: string;

Defined in: packages/plugins/meta/src/types.ts:77


Defined in: packages/plugins/meta/src/types.ts:70

The resolved menu tree.

Extends

Properties

action?
optional action?: string;

Defined in: packages/plugins/meta/src/types.ts:62

Inherited from

MenuSpec.action

children
children: MenuNode[];

Defined in: packages/plugins/meta/src/types.ts:71

color?
optional color?: string;

Defined in: packages/plugins/meta/src/types.ts:65

Inherited from

MenuSpec.color

groups?
optional groups?: string[];

Defined in: packages/plugins/meta/src/types.ts:66

Inherited from

MenuSpec.groups

icon?
optional icon?: string;

Defined in: packages/plugins/meta/src/types.ts:64

Inherited from

MenuSpec.icon

id
id: string;

Defined in: packages/plugins/meta/src/types.ts:59

Inherited from

MenuSpec.id

label
label: string;

Defined in: packages/plugins/meta/src/types.ts:60

Inherited from

MenuSpec.label

parent?
optional parent?: string;

Defined in: packages/plugins/meta/src/types.ts:61

Inherited from

MenuSpec.parent

sequence?
optional sequence?: number;

Defined in: packages/plugins/meta/src/types.ts:63

Inherited from

MenuSpec.sequence


Defined in: packages/plugins/meta/src/types.ts:58

Point menu. A root menu (no parent) is an “app”.

Extended by

Properties

action?
optional action?: string;

Defined in: packages/plugins/meta/src/types.ts:62

color?
optional color?: string;

Defined in: packages/plugins/meta/src/types.ts:65

groups?
optional groups?: string[];

Defined in: packages/plugins/meta/src/types.ts:66

icon?
optional icon?: string;

Defined in: packages/plugins/meta/src/types.ts:64

id
id: string;

Defined in: packages/plugins/meta/src/types.ts:59

label
label: string;

Defined in: packages/plugins/meta/src/types.ts:60

parent?
optional parent?: string;

Defined in: packages/plugins/meta/src/types.ts:61

sequence?
optional sequence?: number;

Defined in: packages/plugins/meta/src/types.ts:63


MetaService

Defined in: packages/plugins/meta/src/types.ts:83

The meta key. view() is undefined when nothing was contributed for that model/kind (no defaults).

Methods

action()
action(id): ActionSpec | undefined;

Defined in: packages/plugins/meta/src/types.ts:86

Parameters
ParameterType
idstring
Returns

ActionSpec | undefined

actions()
actions(): ActionSpec[];

Defined in: packages/plugins/meta/src/types.ts:87

Returns

ActionSpec[]

actionsFor()
actionsFor(model): ActionSpec[];

Defined in: packages/plugins/meta/src/types.ts:88

Parameters
ParameterType
modelstring
Returns

ActionSpec[]

menu(id): MenuSpec | undefined;

Defined in: packages/plugins/meta/src/types.ts:91

Parameters
ParameterType
idstring
Returns

MenuSpec | undefined

menus(ctx): MenuNode[];

Defined in: packages/plugins/meta/src/types.ts:90

Menu tree visible to a user with these groups, sorted by sequence then label.

Parameters
ParameterType
ctx{ groups: string[]; }
ctx.groupsstring[]
Returns

MenuNode[]

view()
view(
   model, 
   kind, 
   id?
): CompiledView | undefined;

Defined in: packages/plugins/meta/src/types.ts:84

Parameters
ParameterType
modelstring
kindViewKind
id?string
Returns

CompiledView | undefined

views()
views(model): Partial<Record<ViewKind, CompiledView>>;

Defined in: packages/plugins/meta/src/types.ts:85

Parameters
ParameterType
modelstring
Returns

Partial<Record<ViewKind, CompiledView>>


ViewNode

Defined in: packages/plugins/meta/src/types.ts:7

View arch: a JSON tree. Tags and attributes are the consumer UI’s vocabulary; the baseline only compiles.

Properties

attrs?
optional attrs?: Record<string, string | number | boolean | string[] | Domain>;

Defined in: packages/plugins/meta/src/types.ts:9

children?
optional children?: ViewNode[];

Defined in: packages/plugins/meta/src/types.ts:10

tag
tag: string;

Defined in: packages/plugins/meta/src/types.ts:8


ViewOp

Defined in: packages/plugins/meta/src/types.ts:29

Patch op for view inheritance. target is a tiny selector: tag, tag[attr=value] or [attr=value], e.g. field[name=email], page[label=Notes], notebook. First match in document order.

Properties

attrs?
optional attrs?: Record<string, string | number | boolean | string[] | Domain>;

Defined in: packages/plugins/meta/src/types.ts:33

nodes?
optional nodes?: ViewNode[];

Defined in: packages/plugins/meta/src/types.ts:32

position
position: "replace" | "remove" | "before" | "after" | "inside" | "attributes";

Defined in: packages/plugins/meta/src/types.ts:31

target
target: string;

Defined in: packages/plugins/meta/src/types.ts:30


ViewSpec

Defined in: packages/plugins/meta/src/types.ts:14

Point view. Either a base view (arch) or an extension (inherit + ops) of another view id.

Properties

arch?
optional arch?: ViewNode;

Defined in: packages/plugins/meta/src/types.ts:18

id
id: string;

Defined in: packages/plugins/meta/src/types.ts:15

inherit?
optional inherit?: string;

Defined in: packages/plugins/meta/src/types.ts:19

kind
kind: ViewKind;

Defined in: packages/plugins/meta/src/types.ts:17

model
model: string;

Defined in: packages/plugins/meta/src/types.ts:16

ops?
optional ops?: ViewOp[];

Defined in: packages/plugins/meta/src/types.ts:20

priority?
optional priority?: number;

Defined in: packages/plugins/meta/src/types.ts:22

Lower wins when several base views exist for the same model/kind. Default 16.

Type Aliases

ViewKind

type ViewKind = "form" | "list" | "kanban" | "search";

Defined in: packages/plugins/meta/src/types.ts:3

Variables

ACTION_POINT

const ACTION_POINT: "action" = 'action';

Defined in: packages/plugins/meta/src/contract.ts:15


KINDS

const KINDS: ViewKind[];

Defined in: packages/plugins/meta/src/types.ts:4


const MENU_POINT: "menu" = 'menu';

Defined in: packages/plugins/meta/src/contract.ts:16


META_KEY

const META_KEY: "meta" = 'meta';

Defined in: packages/plugins/meta/src/contract.ts:13

Key under which the meta plugin provides MetaService.


metaPlugin

const metaPlugin: SystemPlugin;

Defined in: packages/plugins/meta/src/index.ts:68


VIEW_POINT

const VIEW_POINT: "view" = 'view';

Defined in: packages/plugins/meta/src/contract.ts:14

Functions

applyOps()

function applyOps(
   arch, 
   ops, 
   viewId
): ViewNode;

Defined in: packages/plugins/meta/src/compile.ts:52

Parameters

ParameterType
archViewNode
opsViewOp[]
viewIdstring

Returns

ViewNode


buildMenuTree()

function buildMenuTree(input): MenuNode[];

Defined in: packages/plugins/meta/src/menus.ts:44

Parameters

ParameterType
inputMenuInput

Returns

MenuNode[]


cloneNode()

function cloneNode(node): ViewNode;

Defined in: packages/plugins/meta/src/selector.ts:61

Parameters

ParameterType
nodeViewNode

Returns

ViewNode


compileFromBase()

function compileFromBase(base, all): CompiledView;

Defined in: packages/plugins/meta/src/compile.ts:87

Parameters

ParameterType
baseViewSpec
allViewSpec[]

Returns

CompiledView


createMetaService()

function createMetaService(regs): MetaService & {
  invalidate: void;
};

Defined in: packages/plugins/meta/src/index.ts:35

Parameters

ParameterType
regsRegistries

Returns

MetaService & { invalidate: void; }


findNode()

function findNode(root, sel): Match | undefined;

Defined in: packages/plugins/meta/src/selector.ts:45

First match in document order (depth-first).

Parameters

ParameterType
rootViewNode
selSelector

Returns

Match | undefined


parseSelector()

function parseSelector(target): Selector;

Defined in: packages/plugins/meta/src/selector.ts:22

Parameters

ParameterType
targetstring

Returns

Selector


pickBase()

function pickBase(
   all, 
   model, 
   kind, 
   id?
): ViewSpec | undefined;

Defined in: packages/plugins/meta/src/compile.ts:59

Pick the base view: lowest priority, ties broken by contribution order.

Parameters

ParameterType
allViewSpec[]
modelstring
kindViewKind
id?string

Returns

ViewSpec | undefined


validateAction()

function validateAction(item): asserts item is ActionSpec;

Defined in: packages/plugins/meta/src/validate.ts:57

Parameters

ParameterType
itemunknown

Returns

asserts item is ActionSpec


validateMenu()

function validateMenu(item): asserts item is MenuSpec;

Defined in: packages/plugins/meta/src/validate.ts:68

Parameters

ParameterType
itemunknown

Returns

asserts item is MenuSpec


validateView()

function validateView(item): asserts item is ViewSpec;

Defined in: packages/plugins/meta/src/validate.ts:37

Parameters

ParameterType
itemunknown

Returns

asserts item is ViewSpec