@synergy-client/types 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,17 +1,18 @@
1
1
  export type ViewType = 'list' | 'detail' | 'other' | 'worker' | 'static' | 'select' | 'component' | 'print';
2
- export interface SortBy {
3
- key: string;
4
- order: 'asc' | 'desc' | string;
5
- }
2
+ export type ItemType = 'objectField' | 'field' | 'advancedComponent' | 'dynamic' | 'tabs' | 'tab' | 'radio' | 'file' | 'img' | 'text' | 'dynamicList' | 'dynamicTable' | 'group' | 'card' | 'progress' | 'calendar' | 'link' | 'button' | 'tablePart' | 'tableField' | 'select' | 'viewList';
3
+ export type FieldType = 'object' | 'text' | 'number' | 'enum' | 'boolean' | 'date' | 'datetime' | 'time' | 'textarea';
4
+ export type ToolbarPosition = 'top' | 'bottom' | 'none';
5
+ export type ToolbarButtonsPosition = 'left' | 'right' | 'middle' | 'none';
6
6
  /** A form element (field, group, table, button, ...). */
7
7
  export interface ViewItem {
8
8
  id: string;
9
- type: string;
9
+ type: ItemType;
10
10
  name: string;
11
11
  label: string;
12
12
  labelPosition: 'left' | 'top' | 'none';
13
13
  groupType?: 'toolbar' | 'collapsible';
14
14
  tagName?: string;
15
+ tagRef?: any;
15
16
  multiType: boolean;
16
17
  multiTypeVariant: 'common' | 'objects';
17
18
  fieldPath: string;
@@ -19,44 +20,96 @@ export interface ViewItem {
19
20
  dataLinked?: boolean;
20
21
  dataPath?: string;
21
22
  defaultValue?: any;
22
- fieldType: string;
23
+ fieldType: FieldType;
24
+ valueTypes?: any;
25
+ selectView?: any;
23
26
  viewAttribute: boolean;
24
- ref: null | string;
27
+ ref: string | string[] | null;
25
28
  required: boolean;
26
29
  visible: boolean;
27
30
  translate: boolean;
28
31
  newRow: boolean;
32
+ noGreed?: boolean;
29
33
  fieldCols: number;
30
34
  labelCols: number;
31
35
  contentCols: number | null;
32
36
  itemOffset: number;
33
37
  dataType: 'string' | 'integer' | 'decimal' | 'date' | 'enum';
34
38
  dateType: 'date' | 'datetime' | 'time';
39
+ detailView: any;
35
40
  disabled: boolean;
41
+ /** Render slot key (for slot-based group items). */
42
+ slot?: string;
36
43
  options?: any;
37
44
  format: string | null;
38
45
  filter?: any;
46
+ filters?: any;
47
+ lang: any;
39
48
  switch?: boolean;
40
49
  maxLength: string | null;
41
50
  numberPrecision: string | null;
42
51
  numberScale: string | null;
43
52
  onChange: string | null;
44
53
  placeholder: string | null;
54
+ component?: any;
45
55
  icon: string;
46
56
  tooltip?: any;
47
57
  classes: string | null;
48
58
  styles: string | null;
49
59
  inputClasses: string | null;
50
60
  inputStyles: string | null;
61
+ browseText?: any;
62
+ accept?: any;
63
+ noDrop?: boolean;
51
64
  multiple?: boolean;
65
+ appObjectId?: any;
52
66
  showTotals?: boolean;
67
+ disableSorting?: boolean;
68
+ disableRowset?: boolean;
69
+ hideToolbar?: boolean;
70
+ hideActions?: boolean;
53
71
  usePagination?: boolean;
54
72
  rowsLimit?: number;
55
73
  maxHeight?: number;
56
74
  selectBtn?: boolean;
57
75
  openBtn?: boolean;
58
76
  addBtn?: boolean;
77
+ hyperLink?: boolean;
78
+ beforeSelect?: any;
79
+ maxRows?: number;
80
+ rowsCount?: number;
81
+ variant?: string;
82
+ pill?: boolean;
83
+ squared?: boolean;
84
+ block?: boolean;
85
+ toggleGroup?: any;
86
+ itemIcon?: any;
87
+ max?: any;
88
+ textVariant?: any;
89
+ bgVariant?: any;
59
90
  attrs: any;
91
+ /** Server function name invoked on select. */
92
+ onSelect?: string | null;
93
+ /** Detail-view route path for reference fields. */
94
+ detailPath?: string | null;
95
+ /** Referenced component id (for advancedComponent items). */
96
+ componentId?: string;
97
+ selectType?: string;
98
+ /** Render key. */
99
+ key?: string;
100
+ /** Dynamic-parameter payload (advanced components). */
101
+ parameter?: any;
102
+ parameterId?: string;
103
+ /** Totals row config (list/table parts). */
104
+ isTotal?: boolean;
105
+ totalFunc?: string | null;
106
+ totalExp?: string | null;
107
+ valueString?: any;
108
+ valueNumber?: any;
109
+ valueBoolean?: any;
110
+ valueDate?: any;
111
+ valueObject?: any;
112
+ valueRef?: any;
60
113
  /** Nested items (for groups/tables). */
61
114
  items?: ViewItem[];
62
115
  }
@@ -96,24 +149,38 @@ export interface ObjectField {
96
149
  name: string;
97
150
  title: string;
98
151
  ref: string | string[] | null;
99
- lang?: any;
152
+ lang: any;
100
153
  type: string | null;
101
- filter?: string | null;
102
- format?: string | null;
154
+ filter: string | null;
155
+ format: string | null;
156
+ leadingAlias: any;
103
157
  primaryKey: boolean;
104
158
  leading: boolean;
159
+ decryptable: boolean;
105
160
  multiType: boolean;
106
161
  multiTypeVariant: 'common' | 'objects';
107
- defaultValue?: any;
108
- dbName?: string;
109
- dateType?: string;
110
- notNull?: boolean;
162
+ defaultValue: any;
163
+ standard?: any;
164
+ dbName: string;
165
+ dateType: string;
166
+ notNull: boolean;
167
+ autoIncrement: boolean;
168
+ unique: boolean;
169
+ index: boolean;
170
+ password: boolean;
111
171
  isTablePart: boolean;
112
172
  model?: string;
113
- virtual?: boolean;
114
- comment?: string | null;
115
- typeOptions?: any;
173
+ role: string | null;
174
+ fullSearch: boolean;
175
+ fullName?: string;
176
+ typeOptions: any;
177
+ virtual: boolean;
178
+ comment: string | null;
179
+ confidential?: boolean;
180
+ confidentialRoleId?: string | null;
116
181
  fields?: ObjectField[];
182
+ get: any;
183
+ set: any;
117
184
  }
118
185
  /** A toolbar button/group. */
119
186
  export interface ToolbarItem {
@@ -130,18 +197,27 @@ export interface ToolbarItem {
130
197
  hidden: boolean;
131
198
  tooltip?: string;
132
199
  type?: string;
133
- click?: (...args: any[]) => any;
200
+ click?: Function;
201
+ /** Server function name invoked on click (resolved via serverFunc). */
202
+ onClick?: string;
203
+ /** i18n overrides (lang.title[langCode], ...). */
204
+ lang?: any;
134
205
  items?: ToolbarItem[];
135
206
  }
136
207
  export interface Toolbar {
137
- position: string;
138
- buttonsPosition: string;
208
+ position: ToolbarPosition;
209
+ buttonsPosition: ToolbarButtonsPosition;
139
210
  classes: string | null;
140
211
  styles: string | null;
141
212
  items: ToolbarItem[];
142
213
  staticItems: ToolbarItem[];
143
214
  commonCommands: ToolbarItem[];
144
215
  }
216
+ export interface SortBy {
217
+ key: string;
218
+ order?: 'asc' | 'desc' | string;
219
+ sortByOrig?: any;
220
+ }
145
221
  /** List/table view data (list and select forms). */
146
222
  export interface ListViewTable {
147
223
  items: any[];
@@ -174,6 +250,18 @@ export interface Router {
174
250
  forward(): void;
175
251
  go(delta: number): void;
176
252
  }
253
+ /** onCreate / onMount / afterConfirm / afterMarkedToDelete / afterDelete / onBeforeDestroy. */
254
+ export type ModuleHook = () => void | Promise<void>;
255
+ /** beforeWrite / beforeConfirm / beforeMarkedToDelete / beforeDelete — set params.cancel to abort. */
256
+ export type CancelableHook = (params: {
257
+ cancel: boolean;
258
+ }) => void | Promise<void>;
259
+ /** afterWrite — receives { close } (optional; also called with no args). */
260
+ export type AfterWriteHook = (options?: {
261
+ close?: boolean;
262
+ }) => void | Promise<void>;
263
+ /** setCustomStage — override the business-process stage. */
264
+ export type SetCustomStageHook = (process: any) => any | Promise<any>;
177
265
  /** Entity data store (useStore('object'), or a view's `store`). */
178
266
  export interface Store {
179
267
  findByPk(payload?: any): Promise<any>;
@@ -1 +1 @@
1
- export const moduleApiDts = "type ViewType = 'list' | 'detail' | 'other' | 'worker' | 'static' | 'select' | 'component' | 'print';\ninterface SortBy {\n key: string;\n order: 'asc' | 'desc' | string;\n}\n/** A form element (field, group, table, button, ...). */\ninterface ViewItem {\n id: string;\n type: string;\n name: string;\n label: string;\n labelPosition: 'left' | 'top' | 'none';\n groupType?: 'toolbar' | 'collapsible';\n tagName?: string;\n multiType: boolean;\n multiTypeVariant: 'common' | 'objects';\n fieldPath: string;\n fieldTypePath?: string;\n dataLinked?: boolean;\n dataPath?: string;\n defaultValue?: any;\n fieldType: string;\n viewAttribute: boolean;\n ref: null | string;\n required: boolean;\n visible: boolean;\n translate: boolean;\n newRow: boolean;\n fieldCols: number;\n labelCols: number;\n contentCols: number | null;\n itemOffset: number;\n dataType: 'string' | 'integer' | 'decimal' | 'date' | 'enum';\n dateType: 'date' | 'datetime' | 'time';\n disabled: boolean;\n options?: any;\n format: string | null;\n filter?: any;\n switch?: boolean;\n maxLength: string | null;\n numberPrecision: string | null;\n numberScale: string | null;\n onChange: string | null;\n placeholder: string | null;\n icon: string;\n tooltip?: any;\n classes: string | null;\n styles: string | null;\n inputClasses: string | null;\n inputStyles: string | null;\n multiple?: boolean;\n showTotals?: boolean;\n usePagination?: boolean;\n rowsLimit?: number;\n maxHeight?: number;\n selectBtn?: boolean;\n openBtn?: boolean;\n addBtn?: boolean;\n attrs: any;\n /** Nested items (for groups/tables). */\n items?: ViewItem[];\n}\n/** A view attribute (form-level field, not bound to the object). */\ninterface ViewAttribute {\n id: string;\n title: string;\n name: string;\n type: 'field' | 'tableField' | 'dynamicTable' | null;\n dataType: string | null;\n standard?: boolean;\n multiType: boolean;\n multiTypeVariant: 'common' | 'objects';\n typeOptions?: any;\n dateType: string;\n defaultValue?: any;\n format: string | null;\n ref: string | string[] | null;\n lang?: any;\n tableName?: string | null;\n childs: ViewAttribute[];\n}\ninterface ViewAttributeTreeItem extends Omit<ViewAttribute, 'id' | 'childs'> {\n attrId: string;\n path: string;\n fullName: string;\n fullPath: string;\n fullTitle: string;\n expanded?: boolean;\n viewAttribute?: boolean;\n dependent: boolean;\n childs: ViewAttributeTreeItem[];\n}\n/** A field of an app object (catalog/document/register). */\ninterface ObjectField {\n id: string;\n name: string;\n title: string;\n ref: string | string[] | null;\n lang?: any;\n type: string | null;\n filter?: string | null;\n format?: string | null;\n primaryKey: boolean;\n leading: boolean;\n multiType: boolean;\n multiTypeVariant: 'common' | 'objects';\n defaultValue?: any;\n dbName?: string;\n dateType?: string;\n notNull?: boolean;\n isTablePart: boolean;\n model?: string;\n virtual?: boolean;\n comment?: string | null;\n typeOptions?: any;\n fields?: ObjectField[];\n}\n/** A toolbar button/group. */\ninterface ToolbarItem {\n id: string;\n title: string;\n icon?: string | null;\n presentation: string;\n variant: string;\n size: string;\n disabled: boolean;\n visible: boolean;\n systemDisabled: boolean;\n systemVisible: boolean;\n hidden: boolean;\n tooltip?: string;\n type?: string;\n click?: (...args: any[]) => any;\n items?: ToolbarItem[];\n}\ninterface Toolbar {\n position: string;\n buttonsPosition: string;\n classes: string | null;\n styles: string | null;\n items: ToolbarItem[];\n staticItems: ToolbarItem[];\n commonCommands: ToolbarItem[];\n}\n/** List/table view data (list and select forms). */\ninterface ListViewTable {\n items: any[];\n fields: any[];\n total: number;\n page: number;\n limit: number;\n filters: Record<string, any>;\n sort: SortBy[];\n folders: {\n items: any[];\n expanded: any[];\n };\n}\n/** Current route (vue-router). */\ninterface Route {\n path: string;\n fullPath: string;\n name?: string | symbol | null;\n params: Record<string, any>;\n query: Record<string, any>;\n hash: string;\n meta: Record<string, any>;\n}\n/** Router instance (vue-router). */\ninterface Router {\n push(to: any): Promise<any>;\n replace(to: any): Promise<any>;\n back(): void;\n forward(): void;\n go(delta: number): void;\n}\n/** Entity data store (useStore('object'), or a view's `store`). */\ninterface Store {\n findByPk(payload?: any): Promise<any>;\n findAll(payload?: any): Promise<any>;\n count(payload?: any): Promise<number>;\n create(payload?: any): Promise<any>;\n createItem(payload?: any): Promise<any>;\n update(payload?: any): Promise<any>;\n updateItem(payload?: any): Promise<any>;\n delete(payload?: any): Promise<any>;\n deleteItem(payload?: any): Promise<any>;\n addNewItem(payload?: any): Promise<any>;\n changeDeletionMark(payload?: any): Promise<any>;\n getView(): {\n object: any;\n attrs: any;\n objectMeta: any;\n };\n}";
1
+ export const moduleApiDts = "type ViewType = 'list' | 'detail' | 'other' | 'worker' | 'static' | 'select' | 'component' | 'print';\ntype ItemType = 'objectField' | 'field' | 'advancedComponent' | 'dynamic' | 'tabs' | 'tab' | 'radio' | 'file' | 'img' | 'text' | 'dynamicList' | 'dynamicTable' | 'group' | 'card' | 'progress' | 'calendar' | 'link' | 'button' | 'tablePart' | 'tableField' | 'select' | 'viewList';\ntype FieldType = 'object' | 'text' | 'number' | 'enum' | 'boolean' | 'date' | 'datetime' | 'time' | 'textarea';\ntype ToolbarPosition = 'top' | 'bottom' | 'none';\ntype ToolbarButtonsPosition = 'left' | 'right' | 'middle' | 'none';\n/** A form element (field, group, table, button, ...). */\ninterface ViewItem {\n id: string;\n type: ItemType;\n name: string;\n label: string;\n labelPosition: 'left' | 'top' | 'none';\n groupType?: 'toolbar' | 'collapsible';\n tagName?: string;\n tagRef?: any;\n multiType: boolean;\n multiTypeVariant: 'common' | 'objects';\n fieldPath: string;\n fieldTypePath?: string;\n dataLinked?: boolean;\n dataPath?: string;\n defaultValue?: any;\n fieldType: FieldType;\n valueTypes?: any;\n selectView?: any;\n viewAttribute: boolean;\n ref: string | string[] | null;\n required: boolean;\n visible: boolean;\n translate: boolean;\n newRow: boolean;\n noGreed?: boolean;\n fieldCols: number;\n labelCols: number;\n contentCols: number | null;\n itemOffset: number;\n dataType: 'string' | 'integer' | 'decimal' | 'date' | 'enum';\n dateType: 'date' | 'datetime' | 'time';\n detailView: any;\n disabled: boolean;\n /** Render slot key (for slot-based group items). */\n slot?: string;\n options?: any;\n format: string | null;\n filter?: any;\n filters?: any;\n lang: any;\n switch?: boolean;\n maxLength: string | null;\n numberPrecision: string | null;\n numberScale: string | null;\n onChange: string | null;\n placeholder: string | null;\n component?: any;\n icon: string;\n tooltip?: any;\n classes: string | null;\n styles: string | null;\n inputClasses: string | null;\n inputStyles: string | null;\n browseText?: any;\n accept?: any;\n noDrop?: boolean;\n multiple?: boolean;\n appObjectId?: any;\n showTotals?: boolean;\n disableSorting?: boolean;\n disableRowset?: boolean;\n hideToolbar?: boolean;\n hideActions?: boolean;\n usePagination?: boolean;\n rowsLimit?: number;\n maxHeight?: number;\n selectBtn?: boolean;\n openBtn?: boolean;\n addBtn?: boolean;\n hyperLink?: boolean;\n beforeSelect?: any;\n maxRows?: number;\n rowsCount?: number;\n variant?: string;\n pill?: boolean;\n squared?: boolean;\n block?: boolean;\n toggleGroup?: any;\n itemIcon?: any;\n max?: any;\n textVariant?: any;\n bgVariant?: any;\n attrs: any;\n /** Server function name invoked on select. */\n onSelect?: string | null;\n /** Detail-view route path for reference fields. */\n detailPath?: string | null;\n /** Referenced component id (for advancedComponent items). */\n componentId?: string;\n selectType?: string;\n /** Render key. */\n key?: string;\n /** Dynamic-parameter payload (advanced components). */\n parameter?: any;\n parameterId?: string;\n /** Totals row config (list/table parts). */\n isTotal?: boolean;\n totalFunc?: string | null;\n totalExp?: string | null;\n valueString?: any;\n valueNumber?: any;\n valueBoolean?: any;\n valueDate?: any;\n valueObject?: any;\n valueRef?: any;\n /** Nested items (for groups/tables). */\n items?: ViewItem[];\n}\n/** A view attribute (form-level field, not bound to the object). */\ninterface ViewAttribute {\n id: string;\n title: string;\n name: string;\n type: 'field' | 'tableField' | 'dynamicTable' | null;\n dataType: string | null;\n standard?: boolean;\n multiType: boolean;\n multiTypeVariant: 'common' | 'objects';\n typeOptions?: any;\n dateType: string;\n defaultValue?: any;\n format: string | null;\n ref: string | string[] | null;\n lang?: any;\n tableName?: string | null;\n childs: ViewAttribute[];\n}\ninterface ViewAttributeTreeItem extends Omit<ViewAttribute, 'id' | 'childs'> {\n attrId: string;\n path: string;\n fullName: string;\n fullPath: string;\n fullTitle: string;\n expanded?: boolean;\n viewAttribute?: boolean;\n dependent: boolean;\n childs: ViewAttributeTreeItem[];\n}\n/** A field of an app object (catalog/document/register). */\ninterface ObjectField {\n id: string;\n name: string;\n title: string;\n ref: string | string[] | null;\n lang: any;\n type: string | null;\n filter: string | null;\n format: string | null;\n leadingAlias: any;\n primaryKey: boolean;\n leading: boolean;\n decryptable: boolean;\n multiType: boolean;\n multiTypeVariant: 'common' | 'objects';\n defaultValue: any;\n standard?: any;\n dbName: string;\n dateType: string;\n notNull: boolean;\n autoIncrement: boolean;\n unique: boolean;\n index: boolean;\n password: boolean;\n isTablePart: boolean;\n model?: string;\n role: string | null;\n fullSearch: boolean;\n fullName?: string;\n typeOptions: any;\n virtual: boolean;\n comment: string | null;\n confidential?: boolean;\n confidentialRoleId?: string | null;\n fields?: ObjectField[];\n get: any;\n set: any;\n}\n/** A toolbar button/group. */\ninterface ToolbarItem {\n id: string;\n title: string;\n icon?: string | null;\n presentation: string;\n variant: string;\n size: string;\n disabled: boolean;\n visible: boolean;\n systemDisabled: boolean;\n systemVisible: boolean;\n hidden: boolean;\n tooltip?: string;\n type?: string;\n click?: Function;\n /** Server function name invoked on click (resolved via serverFunc). */\n onClick?: string;\n /** i18n overrides (lang.title[langCode], ...). */\n lang?: any;\n items?: ToolbarItem[];\n}\ninterface Toolbar {\n position: ToolbarPosition;\n buttonsPosition: ToolbarButtonsPosition;\n classes: string | null;\n styles: string | null;\n items: ToolbarItem[];\n staticItems: ToolbarItem[];\n commonCommands: ToolbarItem[];\n}\ninterface SortBy {\n key: string;\n order?: 'asc' | 'desc' | string;\n sortByOrig?: any;\n}\n/** List/table view data (list and select forms). */\ninterface ListViewTable {\n items: any[];\n fields: any[];\n total: number;\n page: number;\n limit: number;\n filters: Record<string, any>;\n sort: SortBy[];\n folders: {\n items: any[];\n expanded: any[];\n };\n}\n/** Current route (vue-router). */\ninterface Route {\n path: string;\n fullPath: string;\n name?: string | symbol | null;\n params: Record<string, any>;\n query: Record<string, any>;\n hash: string;\n meta: Record<string, any>;\n}\n/** Router instance (vue-router). */\ninterface Router {\n push(to: any): Promise<any>;\n replace(to: any): Promise<any>;\n back(): void;\n forward(): void;\n go(delta: number): void;\n}\n/** onCreate / onMount / afterConfirm / afterMarkedToDelete / afterDelete / onBeforeDestroy. */\ntype ModuleHook = () => void | Promise<void>;\n/** beforeWrite / beforeConfirm / beforeMarkedToDelete / beforeDelete — set params.cancel to abort. */\ntype CancelableHook = (params: {\n cancel: boolean;\n}) => void | Promise<void>;\n/** afterWrite — receives { close } (optional; also called with no args). */\ntype AfterWriteHook = (options?: {\n close?: boolean;\n}) => void | Promise<void>;\n/** setCustomStage — override the business-process stage. */\ntype SetCustomStageHook = (process: any) => any | Promise<any>;\n/** Entity data store (useStore('object'), or a view's `store`). */\ninterface Store {\n findByPk(payload?: any): Promise<any>;\n findAll(payload?: any): Promise<any>;\n count(payload?: any): Promise<number>;\n create(payload?: any): Promise<any>;\n createItem(payload?: any): Promise<any>;\n update(payload?: any): Promise<any>;\n updateItem(payload?: any): Promise<any>;\n delete(payload?: any): Promise<any>;\n deleteItem(payload?: any): Promise<any>;\n addNewItem(payload?: any): Promise<any>;\n changeDeletionMark(payload?: any): Promise<any>;\n getView(): {\n object: any;\n attrs: any;\n objectMeta: any;\n };\n}";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synergy-client/types",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Shared Synergy domain types (views, attributes, objects, store) used by the client and the configurator.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",