@ynput/ayon-frontend-shared 0.7.5 → 0.8.0
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/DetailsPanel.es.js +471 -469
- package/dist/Feed.es.js +1 -1
- package/dist/ListTable.es.js +20 -20
- package/dist/NewEntity.es.js +7 -7
- package/dist/ProjectTreeTable.es.js +2523 -2502
- package/dist/ProjectsTable.es.js +5 -5
- package/dist/Slicer.es.js +28 -25
- package/dist/Views.es.js +150 -151
- package/dist/api.es.js +166 -165
- package/dist/chunks/Actions.es.js +9 -10
- package/dist/chunks/ColumnDropIndicator.es.js +4 -4
- package/dist/chunks/ColumnHeaderMenuUI.es.js +4 -5
- package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +2 -2
- package/dist/chunks/DetailsDialog.es.js +3 -3
- package/dist/chunks/EmptyPlaceholder.es.js +7 -7
- package/dist/chunks/EntityPath.es.js +38 -39
- package/dist/chunks/EntityPickerDialog.es.js +482 -462
- package/dist/chunks/EntityTooltip.es.js +18 -19
- package/dist/chunks/Feed.es.js +1382 -1355
- package/dist/chunks/FilmstripEntityCard.es.js +5201 -0
- package/dist/chunks/FilterErrorActions.es.js +3 -4
- package/dist/chunks/GroupSettingsFallback.es.js +4 -4
- package/dist/chunks/Menu.es.js +242 -240
- package/dist/chunks/MetaWidget.es.js +1948 -1875
- package/dist/chunks/ProjectFoldersContext.es.js +237 -0
- package/dist/chunks/RepresentationsList.es.js +1 -1
- package/dist/chunks/ReviewablesSelector.es.js +1260 -1190
- package/dist/chunks/SimpleTable.es.js +303 -297
- package/dist/chunks/Slicer.es.js +420 -413
- package/dist/chunks/TableExportContextInstance.es.js +622 -378
- package/dist/chunks/TableSettingsFallback.es.js +3 -4
- package/dist/chunks/ThumbnailSimple.es.js +114 -99
- package/dist/chunks/ThumbnailUploaderContext.es.js +48 -0
- package/dist/chunks/VideoPlayer.es.js +8 -9
- package/dist/chunks/Watchers.es.js +929 -872
- package/dist/chunks/{ColumnDropIndicator.styled.es.js → addonColumnTags.es.js} +60 -47
- package/dist/chunks/expandRelativeDates.es.js +1 -1
- package/dist/chunks/getThumbnailUrl.es.js +33 -21
- package/dist/chunks/getUris.es.js +1580 -1610
- package/dist/chunks/queryFilterToClientFilter.es.js +1 -1
- package/dist/chunks/realtimeUpdatesUtils.es.js +15 -15
- package/dist/chunks/searchTerms.es.js +773 -696
- package/dist/chunks/useAttributeEnums.es.js +22 -22
- package/dist/chunks/useDateRangeFilter.es.js +1 -1
- package/dist/chunks/useHierarchySelection.es.js +3 -4
- package/dist/chunks/useLoadModule.es.js +3 -4
- package/dist/components.es.js +1391 -1253
- package/dist/context.es.js +645 -668
- package/dist/hooks.es.js +193 -171
- package/dist/index.es.js +4 -4
- package/dist/types/Actions.d.ts +10 -8
- package/dist/types/DetailsPanel.d.ts +54 -76
- package/dist/types/EntityPickerDialog.d.ts +51 -2
- package/dist/types/Feed.d.ts +24 -24
- package/dist/types/ListTable.d.ts +33 -27
- package/dist/types/NewEntity.d.ts +26 -39
- package/dist/types/ProjectTreeTable.d.ts +318 -212
- package/dist/types/ProjectsTable.d.ts +6 -6
- package/dist/types/RepresentationsList.d.ts +4 -0
- package/dist/types/Slicer.d.ts +63 -246
- package/dist/types/Views.d.ts +71 -298
- package/dist/types/api.d.ts +3164 -2363
- package/dist/types/components.d.ts +537 -497
- package/dist/types/context.d.ts +293 -572
- package/dist/types/hooks.d.ts +76 -47
- package/dist/types/index.d.ts +6 -0
- package/dist/types/util.d.ts +141 -120
- package/dist/util.es.js +71 -68
- package/package.json +6 -6
- package/dist/chunks/EntityUpdatesContext.es.js +0 -61
- package/dist/chunks/PlayableIcon.es.js +0 -5020
- package/dist/chunks/ProjectContext.es.js +0 -158
- package/dist/chunks/useQueryArgumentChangeLoading.es.js +0 -11
- package/dist/chunks/viewUpdateHelper.es.js +0 -153
|
@@ -105,8 +105,6 @@ export declare type ActivityOperationsResponseModel = {
|
|
|
105
105
|
success: boolean;
|
|
106
106
|
};
|
|
107
107
|
|
|
108
|
-
export declare const ADDON_COLUMN_PREFIX = "addon__";
|
|
109
|
-
|
|
110
108
|
/**
|
|
111
109
|
* Gets the values of every shown addon column for the rows on screen (fetchValues), into the
|
|
112
110
|
* store the cells read. Wraps the table body.
|
|
@@ -171,6 +169,22 @@ declare type AddonMenuItem =
|
|
|
171
169
|
danger?: boolean
|
|
172
170
|
}
|
|
173
171
|
|
|
172
|
+
/** The signed-in user, as addons see it: in every slot's context (`user`) and from `useUser`. */
|
|
173
|
+
declare interface AddonUser {
|
|
174
|
+
name: string
|
|
175
|
+
fullName?: string
|
|
176
|
+
email?: string
|
|
177
|
+
/** admins, and service users (the server treats them as admins) */
|
|
178
|
+
isAdmin: boolean
|
|
179
|
+
/** managers and admins */
|
|
180
|
+
isManager: boolean
|
|
181
|
+
isGuest: boolean
|
|
182
|
+
/** a service user: an API key session (services, agents, CI) */
|
|
183
|
+
isService: boolean
|
|
184
|
+
/** developer mode is on */
|
|
185
|
+
isDeveloper: boolean
|
|
186
|
+
}
|
|
187
|
+
|
|
174
188
|
export declare const allowedGroupByFields: string[];
|
|
175
189
|
|
|
176
190
|
export declare const ALWAYS_VISIBLE_COLUMNS: string[];
|
|
@@ -183,7 +197,9 @@ declare type Anatomy = {
|
|
|
183
197
|
/** Path templates configuration */
|
|
184
198
|
templates?: Templates;
|
|
185
199
|
/** Attributes configuration */
|
|
186
|
-
attributes?:
|
|
200
|
+
attributes?: {
|
|
201
|
+
[key: string]: any;
|
|
202
|
+
};
|
|
187
203
|
/** Folder types configuration */
|
|
188
204
|
folder_types?: FolderType[];
|
|
189
205
|
/** Task types configuration */
|
|
@@ -205,7 +221,9 @@ declare type Anatomy_2 = {
|
|
|
205
221
|
/** Path templates configuration */
|
|
206
222
|
templates?: Templates_2;
|
|
207
223
|
/** Attributes configuration */
|
|
208
|
-
attributes?:
|
|
224
|
+
attributes?: {
|
|
225
|
+
[key: string]: any;
|
|
226
|
+
};
|
|
209
227
|
/** Folder types configuration */
|
|
210
228
|
folder_types?: FolderType_4[];
|
|
211
229
|
/** Task types configuration */
|
|
@@ -223,76 +241,96 @@ export declare const appliesToPage: (contribution: {
|
|
|
223
241
|
pages?: ProjectTablePage[];
|
|
224
242
|
}, page: ProjectTablePage) => boolean;
|
|
225
243
|
|
|
244
|
+
/** Context of a service. */
|
|
245
|
+
declare interface AppServiceContext {
|
|
246
|
+
/** the project whose page is open, else `null` */
|
|
247
|
+
projectName: string | null
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/** Description of an `app.service` contribution. */
|
|
251
|
+
declare interface AppServiceMeta {
|
|
252
|
+
/** unique among the addon's services */
|
|
253
|
+
id: string
|
|
254
|
+
}
|
|
255
|
+
|
|
226
256
|
declare type AttributeData = {
|
|
227
257
|
/** Type of attribute value */
|
|
228
258
|
type?: 'string' | 'integer' | 'float' | 'boolean' | 'datetime' | 'list_of_strings' | 'list_of_integers' | 'list_of_any' | 'list_of_submodels' | 'dict';
|
|
229
259
|
/** Nice, human readable title of the attribute */
|
|
230
|
-
title?: string;
|
|
231
|
-
description?: string;
|
|
260
|
+
title?: string | null;
|
|
261
|
+
description?: string | null;
|
|
232
262
|
/** Example value of the field. */
|
|
233
263
|
example?: any;
|
|
234
264
|
/** Default value for the attribute. Do not set for list types. */
|
|
235
265
|
default?: any;
|
|
236
|
-
gt?: number | number;
|
|
237
|
-
ge?: number | number;
|
|
238
|
-
lt?: number | number;
|
|
239
|
-
le?: number | number;
|
|
240
|
-
minLength?: number;
|
|
241
|
-
maxLength?: number;
|
|
266
|
+
gt?: number | number | null;
|
|
267
|
+
ge?: number | number | null;
|
|
268
|
+
lt?: number | number | null;
|
|
269
|
+
le?: number | number | null;
|
|
270
|
+
minLength?: number | null;
|
|
271
|
+
maxLength?: number | null;
|
|
242
272
|
/** Minimum number of items in list type. */
|
|
243
|
-
minItems?: number;
|
|
273
|
+
minItems?: number | null;
|
|
244
274
|
/** Only for list types. Maximum number of items in the list. */
|
|
245
|
-
maxItems?: number;
|
|
275
|
+
maxItems?: number | null;
|
|
246
276
|
/** Only for string types. The value must match this regex. */
|
|
247
|
-
regex?: string;
|
|
277
|
+
regex?: string | null;
|
|
248
278
|
/** List of enum items used for displaying select widgets */
|
|
249
|
-
enum?: EnumItem[];
|
|
279
|
+
enum?: EnumItem[] | null;
|
|
250
280
|
/** Name of the function that provides enum values dynamically. */
|
|
251
|
-
enumResolver?: string;
|
|
281
|
+
enumResolver?: string | null;
|
|
252
282
|
/** Settings passed to the enum resolver function. */
|
|
253
|
-
enumResolverSettings?:
|
|
283
|
+
enumResolverSettings?: {
|
|
284
|
+
[key: string]: any;
|
|
285
|
+
} | null;
|
|
254
286
|
/** Inherit the attribute value from the parent entity. */
|
|
255
287
|
inherit?: boolean;
|
|
256
288
|
/** Specific widget style this field should use. */
|
|
257
|
-
widget?: string;
|
|
289
|
+
widget?: string | null;
|
|
258
290
|
/** Any additional config specific for the widget style.(Date formats, precision etc.) */
|
|
259
|
-
widgetSettings?:
|
|
291
|
+
widgetSettings?: {
|
|
292
|
+
[key: string]: any;
|
|
293
|
+
} | null;
|
|
260
294
|
};
|
|
261
295
|
|
|
262
296
|
declare type AttributeData_2 = {
|
|
263
297
|
/** Type of attribute value */
|
|
264
298
|
type?: 'string' | 'integer' | 'float' | 'boolean' | 'datetime' | 'list_of_strings' | 'list_of_integers' | 'list_of_any' | 'list_of_submodels' | 'dict';
|
|
265
299
|
/** Nice, human readable title of the attribute */
|
|
266
|
-
title?: string;
|
|
267
|
-
description?: string;
|
|
300
|
+
title?: string | null;
|
|
301
|
+
description?: string | null;
|
|
268
302
|
/** Example value of the field. */
|
|
269
303
|
example?: any;
|
|
270
304
|
/** Default value for the attribute. Do not set for list types. */
|
|
271
305
|
default?: any;
|
|
272
|
-
gt?: number | number;
|
|
273
|
-
ge?: number | number;
|
|
274
|
-
lt?: number | number;
|
|
275
|
-
le?: number | number;
|
|
276
|
-
minLength?: number;
|
|
277
|
-
maxLength?: number;
|
|
306
|
+
gt?: number | number | null;
|
|
307
|
+
ge?: number | number | null;
|
|
308
|
+
lt?: number | number | null;
|
|
309
|
+
le?: number | number | null;
|
|
310
|
+
minLength?: number | null;
|
|
311
|
+
maxLength?: number | null;
|
|
278
312
|
/** Minimum number of items in list type. */
|
|
279
|
-
minItems?: number;
|
|
313
|
+
minItems?: number | null;
|
|
280
314
|
/** Only for list types. Maximum number of items in the list. */
|
|
281
|
-
maxItems?: number;
|
|
315
|
+
maxItems?: number | null;
|
|
282
316
|
/** Only for string types. The value must match this regex. */
|
|
283
|
-
regex?: string;
|
|
317
|
+
regex?: string | null;
|
|
284
318
|
/** List of enum items used for displaying select widgets */
|
|
285
|
-
enum?: EnumItem_3[];
|
|
319
|
+
enum?: EnumItem_3[] | null;
|
|
286
320
|
/** Name of the function that provides enum values dynamically. */
|
|
287
|
-
enumResolver?: string;
|
|
321
|
+
enumResolver?: string | null;
|
|
288
322
|
/** Settings passed to the enum resolver function. */
|
|
289
|
-
enumResolverSettings?:
|
|
323
|
+
enumResolverSettings?: {
|
|
324
|
+
[key: string]: any;
|
|
325
|
+
} | null;
|
|
290
326
|
/** Inherit the attribute value from the parent entity. */
|
|
291
327
|
inherit?: boolean;
|
|
292
328
|
/** Specific widget style this field should use. */
|
|
293
|
-
widget?: string;
|
|
329
|
+
widget?: string | null;
|
|
294
330
|
/** Any additional config specific for the widget style.(Date formats, precision etc.) */
|
|
295
|
-
widgetSettings?:
|
|
331
|
+
widgetSettings?: {
|
|
332
|
+
[key: string]: any;
|
|
333
|
+
} | null;
|
|
296
334
|
};
|
|
297
335
|
|
|
298
336
|
declare interface AttributeField {
|
|
@@ -326,6 +364,8 @@ export declare interface BaseEntityData {
|
|
|
326
364
|
tags?: string[];
|
|
327
365
|
createdAt?: string;
|
|
328
366
|
updatedAt?: string;
|
|
367
|
+
createdBy?: string | null;
|
|
368
|
+
updatedBy?: string | null;
|
|
329
369
|
thumbnailHash?: string;
|
|
330
370
|
attrib?: Record<string, any>;
|
|
331
371
|
ownAttrib?: string[];
|
|
@@ -425,8 +465,20 @@ declare interface ButtonPieces<S extends SlotName> {
|
|
|
425
465
|
dialog?: Loader<ComponentType<SlotProps<S> & DialogScope>>
|
|
426
466
|
/** the items of a menu the host opens under the button, like the header's help menu */
|
|
427
467
|
menu?: Loader<MenuPiece<S>>
|
|
428
|
-
/**
|
|
429
|
-
|
|
468
|
+
/**
|
|
469
|
+
* the content of a popover the host opens under the button, like the header's menus: the host
|
|
470
|
+
* positions it and closes it on a click outside or Escape (an Escape or click inside a menu or
|
|
471
|
+
* dialog opened from the popover closes only that). It gets `close`
|
|
472
|
+
*/
|
|
473
|
+
popover?: Loader<ComponentType<SlotProps<S> & PopoverScope>>
|
|
474
|
+
/**
|
|
475
|
+
* the addon's own component instead of the host's button: a dropdown, a toggle, anything. With
|
|
476
|
+
* `popover`, it is the popover's button (its icon, a badge, a tooltip of its own) and gets
|
|
477
|
+
* `popoverOpen` and `togglePopover`
|
|
478
|
+
*/
|
|
479
|
+
component?:
|
|
480
|
+
| Loader<ComponentType<SlotProps<S>>>
|
|
481
|
+
| Loader<ComponentType<SlotProps<S> & PopoverButtonScope>>
|
|
430
482
|
}
|
|
431
483
|
|
|
432
484
|
/** Context of a button's code (`run`, `dialog`, `menu`, `component`) besides the slot's own. */
|
|
@@ -796,7 +848,7 @@ export declare const DEFAULT_ROW_SCOPE: RowScope;
|
|
|
796
848
|
|
|
797
849
|
export declare const DEFAULT_SUMMARY_FORMAT: SummaryFormat;
|
|
798
850
|
|
|
799
|
-
export declare type DefaultColumns = typeof ROW_SELECTION_COLUMN_ID | 'thumbnail' | 'name' | 'entityType' | typeof ENTITY_COLUMN_IDS.folder | 'status' | 'subType' | 'assignees' | 'tags' | 'createdAt' | 'updatedAt' | 'comments' | typeof LISTS_COLUMN_ID | typeof REVIEW_SESSIONS_COLUMN_ID;
|
|
851
|
+
export declare type DefaultColumns = typeof ROW_SELECTION_COLUMN_ID | 'thumbnail' | 'name' | 'entityType' | typeof ENTITY_COLUMN_IDS.folder | 'status' | 'subType' | 'assignees' | 'tags' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy' | 'comments' | typeof LISTS_COLUMN_ID | typeof REVIEW_SESSIONS_COLUMN_ID;
|
|
800
852
|
|
|
801
853
|
declare type DefaultMenuItem = 'copy-paste' | 'show-details' | 'rename' | 'expand-collapse' | 'inherit' | 'delete' | 'export' | 'create-folder' | 'create-task' | 'open-viewer';
|
|
802
854
|
|
|
@@ -842,11 +894,7 @@ export declare interface DetailsPanelEntityProviderProps {
|
|
|
842
894
|
}
|
|
843
895
|
|
|
844
896
|
/** Context of a details panel menu item. */
|
|
845
|
-
declare interface DetailsPanelMenuItemContext extends ProjectNameScope {
|
|
846
|
-
entityType: string
|
|
847
|
-
/** the entities the panel shows */
|
|
848
|
-
selectedEntities: EntityRef[]
|
|
849
|
-
}
|
|
897
|
+
declare interface DetailsPanelMenuItemContext extends ProjectNameScope, EntityScope_2 {}
|
|
850
898
|
|
|
851
899
|
/** Description of a `detailsPanel.menuItem` contribution. */
|
|
852
900
|
declare interface DetailsPanelMenuItemMeta extends MenuItemMeta {
|
|
@@ -937,6 +985,8 @@ declare interface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivEleme
|
|
|
937
985
|
}
|
|
938
986
|
|
|
939
987
|
export declare type EditorProductNode = {
|
|
988
|
+
createdBy?: string | null;
|
|
989
|
+
updatedBy?: string | null;
|
|
940
990
|
id: string;
|
|
941
991
|
entityId: string;
|
|
942
992
|
entityType: 'product';
|
|
@@ -957,7 +1007,9 @@ export declare type EditorProductNode = {
|
|
|
957
1007
|
hasVersions?: boolean;
|
|
958
1008
|
};
|
|
959
1009
|
|
|
960
|
-
export declare type EditorTaskNode = Omit<TaskNode, 'links' | 'data'> & {
|
|
1010
|
+
export declare type EditorTaskNode = Omit<TaskNode, 'links' | 'data' | 'createdBy' | 'updatedBy'> & {
|
|
1011
|
+
createdBy?: string | null;
|
|
1012
|
+
updatedBy?: string | null;
|
|
961
1013
|
attrib: Record<string, any>;
|
|
962
1014
|
entityId: string;
|
|
963
1015
|
entityType: 'task';
|
|
@@ -971,6 +1023,8 @@ export declare type EditorTaskNode = Omit<TaskNode, 'links' | 'data'> & {
|
|
|
971
1023
|
};
|
|
972
1024
|
|
|
973
1025
|
export declare type EditorVersionNode = {
|
|
1026
|
+
createdBy?: string | null;
|
|
1027
|
+
updatedBy?: string | null;
|
|
974
1028
|
id: string;
|
|
975
1029
|
entityId: string;
|
|
976
1030
|
entityType: 'version';
|
|
@@ -1150,7 +1204,9 @@ export declare type EntityScope = 'primary' | EntityType;
|
|
|
1150
1204
|
|
|
1151
1205
|
/** Slots about one or more entities of one type. */
|
|
1152
1206
|
declare interface EntityScope_2 {
|
|
1207
|
+
/** the type of every entity in `entities` */
|
|
1153
1208
|
entityType: string
|
|
1209
|
+
/** the entities the slot is about, e.g. the ones the details panel shows */
|
|
1154
1210
|
entities: EntityRef[]
|
|
1155
1211
|
}
|
|
1156
1212
|
|
|
@@ -1190,46 +1246,61 @@ export declare const EnumCellValue: ({ selectedOptions, placeholder, hasMultiple
|
|
|
1190
1246
|
declare type EnumItem = {
|
|
1191
1247
|
value: string | number | number | boolean;
|
|
1192
1248
|
label: string;
|
|
1193
|
-
description?: string;
|
|
1194
|
-
fulltext?: string[];
|
|
1195
|
-
group?: string;
|
|
1249
|
+
description?: string | null;
|
|
1250
|
+
fulltext?: string[] | null;
|
|
1251
|
+
group?: string | null;
|
|
1196
1252
|
/** Icon name (material symbol) or IconModel object */
|
|
1197
|
-
icon?: string | IconModel;
|
|
1198
|
-
color?: string;
|
|
1199
|
-
shortName?: string;
|
|
1253
|
+
icon?: string | IconModel | null;
|
|
1254
|
+
color?: string | null;
|
|
1255
|
+
shortName?: string | null;
|
|
1200
1256
|
/** Enum item is visible, but not selectable */
|
|
1201
1257
|
disabled?: boolean;
|
|
1202
1258
|
/** Message to show when the option is disabled */
|
|
1203
|
-
disabledMessage?: string;
|
|
1204
|
-
/** Enum item is not
|
|
1259
|
+
disabledMessage?: string | null;
|
|
1260
|
+
/** Enum item is not visible in the dropdown */
|
|
1205
1261
|
hidden?: boolean;
|
|
1262
|
+
/** Extra badge labels to display next to the item */
|
|
1263
|
+
badges?: string[] | null;
|
|
1206
1264
|
};
|
|
1207
1265
|
|
|
1208
1266
|
declare type EnumItem_2 = {
|
|
1209
1267
|
value: string | number | number | boolean;
|
|
1210
1268
|
label: string;
|
|
1211
|
-
description?: string;
|
|
1212
|
-
fulltext?: string[];
|
|
1213
|
-
group?: string;
|
|
1269
|
+
description?: string | null;
|
|
1270
|
+
fulltext?: string[] | null;
|
|
1271
|
+
group?: string | null;
|
|
1214
1272
|
/** Icon name (material symbol) or IconModel object */
|
|
1215
|
-
icon?: string | IconModel_2;
|
|
1216
|
-
color?: string;
|
|
1217
|
-
shortName?: string;
|
|
1273
|
+
icon?: string | IconModel_2 | null;
|
|
1274
|
+
color?: string | null;
|
|
1275
|
+
shortName?: string | null;
|
|
1218
1276
|
/** Enum item is visible, but not selectable */
|
|
1219
1277
|
disabled?: boolean;
|
|
1220
1278
|
/** Message to show when the option is disabled */
|
|
1221
|
-
disabledMessage?: string;
|
|
1279
|
+
disabledMessage?: string | null;
|
|
1280
|
+
/** Enum item is not visible in the dropdown */
|
|
1281
|
+
hidden?: boolean;
|
|
1282
|
+
/** Extra badge labels to display next to the item */
|
|
1283
|
+
badges?: string[] | null;
|
|
1222
1284
|
};
|
|
1223
1285
|
|
|
1224
1286
|
declare type EnumItem_3 = {
|
|
1225
1287
|
value: string | number | number | boolean;
|
|
1226
1288
|
label: string;
|
|
1227
|
-
description?: string;
|
|
1228
|
-
fulltext?: string[];
|
|
1229
|
-
group?: string;
|
|
1289
|
+
description?: string | null;
|
|
1290
|
+
fulltext?: string[] | null;
|
|
1291
|
+
group?: string | null;
|
|
1230
1292
|
/** Icon name (material symbol) or IconModel object */
|
|
1231
|
-
icon?: string | IconModel_3;
|
|
1232
|
-
color?: string;
|
|
1293
|
+
icon?: string | IconModel_3 | null;
|
|
1294
|
+
color?: string | null;
|
|
1295
|
+
shortName?: string | null;
|
|
1296
|
+
/** Enum item is visible, but not selectable */
|
|
1297
|
+
disabled?: boolean;
|
|
1298
|
+
/** Message to show when the option is disabled */
|
|
1299
|
+
disabledMessage?: string | null;
|
|
1300
|
+
/** Enum item is not visible in the dropdown */
|
|
1301
|
+
hidden?: boolean;
|
|
1302
|
+
/** Extra badge labels to display next to the item */
|
|
1303
|
+
badges?: string[] | null;
|
|
1233
1304
|
};
|
|
1234
1305
|
|
|
1235
1306
|
declare interface EnumOption extends EnumItem {
|
|
@@ -1421,6 +1492,8 @@ export declare type FolderListItem = {
|
|
|
1421
1492
|
ownAttrib?: string[];
|
|
1422
1493
|
updatedAt: string;
|
|
1423
1494
|
createdAt: string;
|
|
1495
|
+
createdBy?: string | null;
|
|
1496
|
+
updatedBy?: string | null;
|
|
1424
1497
|
thumbnailHash?: string;
|
|
1425
1498
|
hasReviewables?: boolean;
|
|
1426
1499
|
hasVersions?: boolean;
|
|
@@ -1430,22 +1503,28 @@ export declare type FolderListItem = {
|
|
|
1430
1503
|
declare type FolderListItem_2 = {
|
|
1431
1504
|
id: string;
|
|
1432
1505
|
path: string;
|
|
1433
|
-
parentId?: string;
|
|
1506
|
+
parentId?: string | null;
|
|
1434
1507
|
parents: string[];
|
|
1435
1508
|
name: string;
|
|
1436
|
-
label?: string;
|
|
1509
|
+
label?: string | null;
|
|
1437
1510
|
folderType: string;
|
|
1438
1511
|
hasTasks?: boolean;
|
|
1439
1512
|
hasChildren?: boolean;
|
|
1440
1513
|
hasReviewables?: boolean;
|
|
1441
1514
|
thumbnailHash: string;
|
|
1442
|
-
taskNames?: string[];
|
|
1443
|
-
tags?: string[];
|
|
1515
|
+
taskNames?: string[] | null;
|
|
1516
|
+
tags?: string[] | null;
|
|
1444
1517
|
status: string;
|
|
1445
|
-
attrib?:
|
|
1446
|
-
|
|
1518
|
+
attrib?: {
|
|
1519
|
+
[key: string]: any;
|
|
1520
|
+
} | null;
|
|
1521
|
+
active?: boolean;
|
|
1522
|
+
visible?: boolean;
|
|
1523
|
+
ownAttrib?: string[] | null;
|
|
1447
1524
|
createdAt: string;
|
|
1448
1525
|
updatedAt: string;
|
|
1526
|
+
createdBy?: string | null;
|
|
1527
|
+
updatedBy?: string | null;
|
|
1449
1528
|
};
|
|
1450
1529
|
|
|
1451
1530
|
declare type FolderListModel = {
|
|
@@ -1457,7 +1536,7 @@ export declare type FolderNodeMap = Map<string, MatchingFolder>;
|
|
|
1457
1536
|
|
|
1458
1537
|
declare type FolderType = {
|
|
1459
1538
|
name: string;
|
|
1460
|
-
original_name?: string;
|
|
1539
|
+
original_name?: string | null;
|
|
1461
1540
|
shortName?: string;
|
|
1462
1541
|
color?: string;
|
|
1463
1542
|
icon?: string;
|
|
@@ -1465,7 +1544,7 @@ declare type FolderType = {
|
|
|
1465
1544
|
|
|
1466
1545
|
declare type FolderType_2 = {
|
|
1467
1546
|
name: string;
|
|
1468
|
-
original_name?: string;
|
|
1547
|
+
original_name?: string | null;
|
|
1469
1548
|
shortName?: string;
|
|
1470
1549
|
color?: string;
|
|
1471
1550
|
icon?: string;
|
|
@@ -1481,7 +1560,7 @@ declare type FolderType_3 = {
|
|
|
1481
1560
|
|
|
1482
1561
|
declare type FolderType_4 = {
|
|
1483
1562
|
name: string;
|
|
1484
|
-
original_name?: string;
|
|
1563
|
+
original_name?: string | null;
|
|
1485
1564
|
shortName?: string;
|
|
1486
1565
|
color?: string;
|
|
1487
1566
|
icon?: string;
|
|
@@ -1489,7 +1568,7 @@ declare type FolderType_4 = {
|
|
|
1489
1568
|
|
|
1490
1569
|
declare type FolderType_5 = {
|
|
1491
1570
|
name: string;
|
|
1492
|
-
original_name?: string;
|
|
1571
|
+
original_name?: string | null;
|
|
1493
1572
|
shortName?: string;
|
|
1494
1573
|
color?: string;
|
|
1495
1574
|
icon?: string;
|
|
@@ -1789,6 +1868,8 @@ declare type GetTasksByParentQuery = {
|
|
|
1789
1868
|
taskType: string;
|
|
1790
1869
|
updatedAt: unknown;
|
|
1791
1870
|
createdAt: unknown;
|
|
1871
|
+
createdBy: string | null;
|
|
1872
|
+
updatedBy: string | null;
|
|
1792
1873
|
thumbnailHash: string;
|
|
1793
1874
|
active: boolean;
|
|
1794
1875
|
assignees: Array<string>;
|
|
@@ -2134,31 +2215,31 @@ declare type IconAnatomy = Pick<Anatomy_2, 'folder_types' | 'task_types' | 'prod
|
|
|
2134
2215
|
declare type IconModel = {
|
|
2135
2216
|
type?: 'material-symbols' | 'url';
|
|
2136
2217
|
/** The name of the icon (for type material-symbols) */
|
|
2137
|
-
name?: string;
|
|
2218
|
+
name?: string | null;
|
|
2138
2219
|
/** The color of the icon (for type material-symbols) */
|
|
2139
|
-
color?: string;
|
|
2220
|
+
color?: string | null;
|
|
2140
2221
|
/** The URL of the icon (for type url) */
|
|
2141
|
-
url?: string;
|
|
2222
|
+
url?: string | null;
|
|
2142
2223
|
};
|
|
2143
2224
|
|
|
2144
2225
|
declare type IconModel_2 = {
|
|
2145
2226
|
type?: 'material-symbols' | 'url';
|
|
2146
2227
|
/** The name of the icon (for type material-symbols) */
|
|
2147
|
-
name?: string;
|
|
2228
|
+
name?: string | null;
|
|
2148
2229
|
/** The color of the icon (for type material-symbols) */
|
|
2149
|
-
color?: string;
|
|
2230
|
+
color?: string | null;
|
|
2150
2231
|
/** The URL of the icon (for type url) */
|
|
2151
|
-
url?: string;
|
|
2232
|
+
url?: string | null;
|
|
2152
2233
|
};
|
|
2153
2234
|
|
|
2154
2235
|
declare type IconModel_3 = {
|
|
2155
2236
|
type?: 'material-symbols' | 'url';
|
|
2156
2237
|
/** The name of the icon (for type material-symbols) */
|
|
2157
|
-
name?: string;
|
|
2238
|
+
name?: string | null;
|
|
2158
2239
|
/** The color of the icon (for type material-symbols) */
|
|
2159
|
-
color?: string;
|
|
2240
|
+
color?: string | null;
|
|
2160
2241
|
/** The URL of the icon (for type url) */
|
|
2161
|
-
url?: string;
|
|
2242
|
+
url?: string | null;
|
|
2162
2243
|
};
|
|
2163
2244
|
|
|
2164
2245
|
declare interface InheritedDependent {
|
|
@@ -2269,7 +2350,7 @@ declare type LinkType = {
|
|
|
2269
2350
|
link_type: string;
|
|
2270
2351
|
input_type: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2271
2352
|
output_type: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2272
|
-
color?: string;
|
|
2353
|
+
color?: string | null;
|
|
2273
2354
|
style?: 'solid' | 'dashed';
|
|
2274
2355
|
};
|
|
2275
2356
|
|
|
@@ -2277,7 +2358,7 @@ declare type LinkType_2 = {
|
|
|
2277
2358
|
link_type: string;
|
|
2278
2359
|
input_type: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2279
2360
|
output_type: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2280
|
-
color?: string;
|
|
2361
|
+
color?: string | null;
|
|
2281
2362
|
style?: 'solid' | 'dashed';
|
|
2282
2363
|
};
|
|
2283
2364
|
|
|
@@ -2291,7 +2372,9 @@ declare type LinkTypeModel = {
|
|
|
2291
2372
|
/** Output entity type */
|
|
2292
2373
|
outputType: string;
|
|
2293
2374
|
/** Additional link type data */
|
|
2294
|
-
data?:
|
|
2375
|
+
data?: {
|
|
2376
|
+
[key: string]: any;
|
|
2377
|
+
};
|
|
2295
2378
|
};
|
|
2296
2379
|
|
|
2297
2380
|
declare type LinkTypeModel_2 = {
|
|
@@ -2304,7 +2387,9 @@ declare type LinkTypeModel_2 = {
|
|
|
2304
2387
|
/** Output entity type */
|
|
2305
2388
|
outputType: string;
|
|
2306
2389
|
/** Additional link type data */
|
|
2307
|
-
data?:
|
|
2390
|
+
data?: {
|
|
2391
|
+
[key: string]: any;
|
|
2392
|
+
};
|
|
2308
2393
|
};
|
|
2309
2394
|
|
|
2310
2395
|
export declare type LinkValue = LinkEntity[];
|
|
@@ -2399,6 +2484,8 @@ export declare interface MarkdownWidgetProps extends WidgetBaseProps {
|
|
|
2399
2484
|
}
|
|
2400
2485
|
|
|
2401
2486
|
export declare type MatchingFolder = FolderListItem & {
|
|
2487
|
+
createdBy?: string | null;
|
|
2488
|
+
updatedBy?: string | null;
|
|
2402
2489
|
childOnlyMatch?: boolean;
|
|
2403
2490
|
entityId: string;
|
|
2404
2491
|
entityType: 'folder';
|
|
@@ -2489,10 +2576,12 @@ declare type OperationModel_2 = {
|
|
|
2489
2576
|
id?: string;
|
|
2490
2577
|
type: 'create' | 'update' | 'delete';
|
|
2491
2578
|
entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2492
|
-
entityId?: string;
|
|
2493
|
-
data?:
|
|
2579
|
+
entityId?: string | null;
|
|
2580
|
+
data?: {
|
|
2581
|
+
[key: string]: any;
|
|
2582
|
+
} | null;
|
|
2494
2583
|
force?: boolean;
|
|
2495
|
-
asUser?: string;
|
|
2584
|
+
asUser?: string | null;
|
|
2496
2585
|
};
|
|
2497
2586
|
|
|
2498
2587
|
export declare type OperationResponseModel = {
|
|
@@ -2679,6 +2768,23 @@ export declare type PatchOperation = Pick<OperationModel, 'entityId' | 'entityTy
|
|
|
2679
2768
|
type?: OperationModel['type'];
|
|
2680
2769
|
};
|
|
2681
2770
|
|
|
2771
|
+
/**
|
|
2772
|
+
* What a `component` gets besides the slot context when it draws the button of a `popover`. The
|
|
2773
|
+
* host anchors the popover on the component's box.
|
|
2774
|
+
*/
|
|
2775
|
+
declare interface PopoverButtonScope {
|
|
2776
|
+
/** the popover is open: show the button as active (`aria-expanded`) */
|
|
2777
|
+
popoverOpen: boolean
|
|
2778
|
+
/** opens or closes the popover: the button's `onClick` */
|
|
2779
|
+
togglePopover: () => void
|
|
2780
|
+
}
|
|
2781
|
+
|
|
2782
|
+
/** What a `popover` piece gets besides the slot context. */
|
|
2783
|
+
declare interface PopoverScope {
|
|
2784
|
+
/** closes the popover */
|
|
2785
|
+
close: () => void
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2682
2788
|
declare type PowerpackContextType = {
|
|
2683
2789
|
selectedPowerPack: PowerpackFeature | null;
|
|
2684
2790
|
selectedAddon: AddonDialogSelection | null;
|
|
@@ -2757,78 +2863,9 @@ declare type ProductType_2 = {
|
|
|
2757
2863
|
|
|
2758
2864
|
declare type ProductTypeListItem = {
|
|
2759
2865
|
name: string;
|
|
2760
|
-
baseType?: string;
|
|
2761
|
-
color?: string;
|
|
2762
|
-
icon?: string;
|
|
2763
|
-
};
|
|
2764
|
-
|
|
2765
|
-
declare type ProjectAttribModel = {
|
|
2766
|
-
priority?: 'urgent' | 'high' | 'normal' | 'low';
|
|
2767
|
-
/** Frame rate */
|
|
2768
|
-
fps?: number;
|
|
2769
|
-
/** Horizontal resolution */
|
|
2770
|
-
resolutionWidth?: number;
|
|
2771
|
-
/** Vertical resolution */
|
|
2772
|
-
resolutionHeight?: number;
|
|
2773
|
-
pixelAspect?: number;
|
|
2774
|
-
clipIn?: number;
|
|
2775
|
-
clipOut?: number;
|
|
2776
|
-
frameStart?: number;
|
|
2777
|
-
frameEnd?: number;
|
|
2778
|
-
handleStart?: number;
|
|
2779
|
-
handleEnd?: number;
|
|
2780
|
-
/** Date and time when the project or task or asset was started */
|
|
2781
|
-
startDate?: string;
|
|
2782
|
-
/** Deadline date and time */
|
|
2783
|
-
endDate?: string;
|
|
2784
|
-
/** Textual description of the entity */
|
|
2785
|
-
description?: string;
|
|
2786
|
-
};
|
|
2787
|
-
|
|
2788
|
-
declare type ProjectAttribModel2 = {
|
|
2789
|
-
priority?: 'urgent' | 'high' | 'normal' | 'low';
|
|
2790
|
-
/** Frame rate */
|
|
2791
|
-
fps?: number;
|
|
2792
|
-
/** Horizontal resolution */
|
|
2793
|
-
resolutionWidth?: number;
|
|
2794
|
-
/** Vertical resolution */
|
|
2795
|
-
resolutionHeight?: number;
|
|
2796
|
-
pixelAspect?: number;
|
|
2797
|
-
clipIn?: number;
|
|
2798
|
-
clipOut?: number;
|
|
2799
|
-
frameStart?: number;
|
|
2800
|
-
frameEnd?: number;
|
|
2801
|
-
handleStart?: number;
|
|
2802
|
-
handleEnd?: number;
|
|
2803
|
-
/** Date and time when the project or task or asset was started */
|
|
2804
|
-
startDate?: string;
|
|
2805
|
-
/** Deadline date and time */
|
|
2806
|
-
endDate?: string;
|
|
2807
|
-
/** Textual description of the entity */
|
|
2808
|
-
description?: string;
|
|
2809
|
-
};
|
|
2810
|
-
|
|
2811
|
-
declare type ProjectAttribModel_2 = {
|
|
2812
|
-
priority?: 'urgent' | 'high' | 'normal' | 'low';
|
|
2813
|
-
/** Frame rate */
|
|
2814
|
-
fps?: number;
|
|
2815
|
-
/** Horizontal resolution */
|
|
2816
|
-
resolutionWidth?: number;
|
|
2817
|
-
/** Vertical resolution */
|
|
2818
|
-
resolutionHeight?: number;
|
|
2819
|
-
pixelAspect?: number;
|
|
2820
|
-
clipIn?: number;
|
|
2821
|
-
clipOut?: number;
|
|
2822
|
-
frameStart?: number;
|
|
2823
|
-
frameEnd?: number;
|
|
2824
|
-
handleStart?: number;
|
|
2825
|
-
handleEnd?: number;
|
|
2826
|
-
/** Date and time when the project or task or asset was started */
|
|
2827
|
-
startDate?: string;
|
|
2828
|
-
/** Deadline date and time */
|
|
2829
|
-
endDate?: string;
|
|
2830
|
-
/** Textual description of the entity */
|
|
2831
|
-
description?: string;
|
|
2866
|
+
baseType?: string | null;
|
|
2867
|
+
color?: string | null;
|
|
2868
|
+
icon?: string | null;
|
|
2832
2869
|
};
|
|
2833
2870
|
|
|
2834
2871
|
declare interface ProjectContextValue extends ProjectModelWithProducts {
|
|
@@ -2889,6 +2926,7 @@ declare interface ProjectFolders {
|
|
|
2889
2926
|
}
|
|
2890
2927
|
|
|
2891
2928
|
declare interface ProjectFoldersContextValue {
|
|
2929
|
+
projectName: string;
|
|
2892
2930
|
folders: FolderListItem_2[];
|
|
2893
2931
|
getFolderById: (id: string) => FolderListItem_2 | undefined;
|
|
2894
2932
|
findNonInheritedValues: (folderId: string | undefined, attribNames: string[], projectAttrib?: Record<string, any>) => Record<string, any>;
|
|
@@ -2943,22 +2981,30 @@ declare interface ProjectListMenuItemContext {
|
|
|
2943
2981
|
}
|
|
2944
2982
|
|
|
2945
2983
|
declare type ProjectModel = {
|
|
2946
|
-
/**
|
|
2984
|
+
/** Unique name of the project */
|
|
2947
2985
|
name: string;
|
|
2948
2986
|
code: string;
|
|
2949
|
-
label?: string;
|
|
2987
|
+
label?: string | null;
|
|
2950
2988
|
library?: boolean;
|
|
2951
2989
|
folderTypes?: FolderType_2[];
|
|
2952
2990
|
taskTypes?: TaskType_2[];
|
|
2953
2991
|
linkTypes?: LinkTypeModel_2[];
|
|
2954
2992
|
statuses?: Status_2[];
|
|
2955
2993
|
tags?: Tag_2[];
|
|
2956
|
-
config?:
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
/**
|
|
2994
|
+
config?: {
|
|
2995
|
+
[key: string]: any;
|
|
2996
|
+
};
|
|
2997
|
+
skeleton?: boolean | null;
|
|
2998
|
+
/** Attribute values of the entity */
|
|
2999
|
+
attrib?: {
|
|
3000
|
+
[key: string]: any;
|
|
3001
|
+
};
|
|
3002
|
+
data?: {
|
|
3003
|
+
[key: string]: any;
|
|
3004
|
+
};
|
|
3005
|
+
/** Whether the entity is active */
|
|
2961
3006
|
active?: boolean;
|
|
3007
|
+
/** List of attributes explicitly set on the entity itself (not inherited) */
|
|
2962
3008
|
ownAttrib?: string[];
|
|
2963
3009
|
/** Time of creation */
|
|
2964
3010
|
createdAt?: string;
|
|
@@ -3041,6 +3087,15 @@ export declare interface ProjectOverviewProviderProps {
|
|
|
3041
3087
|
modules: ProjectTableModulesType;
|
|
3042
3088
|
}
|
|
3043
3089
|
|
|
3090
|
+
/** Description of a `project.page` contribution: a page, and what the host adds around it. */
|
|
3091
|
+
declare interface ProjectPageMeta extends PageMeta {
|
|
3092
|
+
/**
|
|
3093
|
+
* Shows AYON's details panel next to the page, for the page to open with `openDetails`. The page
|
|
3094
|
+
* is in a splitter while the panel is there; it only shows when the page opens it.
|
|
3095
|
+
*/
|
|
3096
|
+
detailsPanel?: boolean
|
|
3097
|
+
}
|
|
3098
|
+
|
|
3044
3099
|
/** Slots that are about one project, with the project itself. */
|
|
3045
3100
|
declare interface ProjectScope extends ProjectNameScope {
|
|
3046
3101
|
/** the project; `undefined` while it loads */
|
|
@@ -3200,6 +3255,8 @@ export declare interface ProjectTableProviderProps {
|
|
|
3200
3255
|
versionId?: string;
|
|
3201
3256
|
}, config?: {
|
|
3202
3257
|
quickView?: boolean;
|
|
3258
|
+
goToPosition?: number;
|
|
3259
|
+
reviewableId?: string;
|
|
3203
3260
|
}) => void;
|
|
3204
3261
|
onResetView?: () => void;
|
|
3205
3262
|
hiddenListIds?: string[];
|
|
@@ -3330,9 +3387,9 @@ declare type QueryCondition_3 = {
|
|
|
3330
3387
|
/** Path to the key separated by slashes */
|
|
3331
3388
|
key: string;
|
|
3332
3389
|
/** Value to compare against */
|
|
3333
|
-
value?: string | number | number | boolean | string[] | number[] | number[];
|
|
3334
|
-
/** Comparison operator */
|
|
3335
|
-
operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
|
|
3390
|
+
value?: string | number | number | boolean | string[] | number[] | number[] | null;
|
|
3391
|
+
/** Comparison operator. like and notlike perform case-insensitive substring matching. One surrounding pair of % is treated as a substring wrapper; %, _ and backslashes within it are literal. */
|
|
3392
|
+
operator?: 'eq' | 'like' | 'notlike' | 're' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
|
|
3336
3393
|
};
|
|
3337
3394
|
|
|
3338
3395
|
export declare type QueryFilter = {
|
|
@@ -3611,6 +3668,8 @@ declare interface SlicerMenuItemContext extends ProjectNameScope {
|
|
|
3611
3668
|
sliceType: string
|
|
3612
3669
|
/** the rows it acts on: the selected ones, or the right-clicked one */
|
|
3613
3670
|
selected: SlicerRowRef[]
|
|
3671
|
+
/** `hierarchy`: the folders and tasks of `selected`; empty for the other slice types */
|
|
3672
|
+
entities: EntityRef[]
|
|
3614
3673
|
menu: MenuKind
|
|
3615
3674
|
}
|
|
3616
3675
|
|
|
@@ -3647,9 +3706,12 @@ declare interface SlicerSelection {
|
|
|
3647
3706
|
selection: string[]
|
|
3648
3707
|
}
|
|
3649
3708
|
|
|
3650
|
-
/**
|
|
3709
|
+
/**
|
|
3710
|
+
* What the code of a contribution to slot `S` gets: `{ slot: S, user, ...context }`. The host
|
|
3711
|
+
* passes the slot's own context; `ContributionView` and `runContribution` add `slot` and `user`.
|
|
3712
|
+
*/
|
|
3651
3713
|
declare type SlotContext<S extends SlotName> = S extends SlotName
|
|
3652
|
-
? { slot: S } & SlotMap[S]['context']
|
|
3714
|
+
? { slot: S } & UserScope & SlotMap[S]['context']
|
|
3653
3715
|
: never
|
|
3654
3716
|
|
|
3655
3717
|
/**
|
|
@@ -3664,7 +3726,7 @@ declare interface SlotMap {
|
|
|
3664
3726
|
*/
|
|
3665
3727
|
'project.page': {
|
|
3666
3728
|
version: 1
|
|
3667
|
-
meta:
|
|
3729
|
+
meta: ProjectPageMeta
|
|
3668
3730
|
context: ProjectScope & SlicerScope & ProjectFoldersScope & ViewsScope
|
|
3669
3731
|
pieces: { component: Loader<ComponentType<SlotProps<'project.page'>>> }
|
|
3670
3732
|
}
|
|
@@ -3680,8 +3742,9 @@ declare interface SlotMap {
|
|
|
3680
3742
|
}
|
|
3681
3743
|
/**
|
|
3682
3744
|
* A button in the main header, drawn by the host like its own buttons. What a click does is the
|
|
3683
|
-
* addon's: navigate (`to`), run code (`run`), open a dialog (`dialog`)
|
|
3684
|
-
* addon draws the item itself (`component`, loaded with the header).
|
|
3745
|
+
* addon's: navigate (`to`), run code (`run`), open a dialog (`dialog`), a menu (`menu`) or a
|
|
3746
|
+
* popover (`popover`); or the addon draws the item itself (`component`, loaded with the header).
|
|
3747
|
+
* Set exactly one, except that `component` may draw the button of a `popover`.
|
|
3685
3748
|
*/
|
|
3686
3749
|
'header.item': {
|
|
3687
3750
|
version: 1
|
|
@@ -3742,8 +3805,9 @@ declare interface SlotMap {
|
|
|
3742
3805
|
/**
|
|
3743
3806
|
* A button in the project tables' toolbar, before Customize (Overview, Products, Lists), drawn
|
|
3744
3807
|
* by the host like the toolbar's own. What a click does is the addon's: navigate (`to`), run code
|
|
3745
|
-
* (`run`), open a dialog (`dialog`)
|
|
3746
|
-
* (`component`, loaded with the toolbar). Set exactly one
|
|
3808
|
+
* (`run`), open a dialog (`dialog`), a menu (`menu`) or a popover (`popover`); or the addon draws
|
|
3809
|
+
* the item itself (`component`, loaded with the toolbar). Set exactly one, except that
|
|
3810
|
+
* `component` may draw the button of a `popover`.
|
|
3747
3811
|
*/
|
|
3748
3812
|
'projectTable.toolbarItem': {
|
|
3749
3813
|
version: 1
|
|
@@ -3766,7 +3830,9 @@ declare interface SlotMap {
|
|
|
3766
3830
|
* settings from the description; `cell` and `fetchValues` load with the table. The host draws
|
|
3767
3831
|
* the cell box (padding, selection, focus), so `cell` renders only its content; selecting, the
|
|
3768
3832
|
* right-click menu and Copy (the cell's `value` as text) work as in other columns. Not sortable,
|
|
3769
|
-
* and pasting into it changes nothing.
|
|
3833
|
+
* and pasting into it changes nothing. When the values depend on data your mutations change, list
|
|
3834
|
+
* its cache tags in `providesTags` and the column refreshes itself when they are invalidated:
|
|
3835
|
+
* `tableColumn({ id, label, cell, fetchValues, providesTags: [{ type: 'myaddonLog', id: 'LIST' }] })`.
|
|
3770
3836
|
*/
|
|
3771
3837
|
tableColumn: {
|
|
3772
3838
|
version: 1
|
|
@@ -3790,6 +3856,19 @@ declare interface SlotMap {
|
|
|
3790
3856
|
context: TableShortcutContext
|
|
3791
3857
|
pieces: TableShortcutPieces
|
|
3792
3858
|
}
|
|
3859
|
+
/**
|
|
3860
|
+
* Code with no UI that runs while AYON is open, whatever the page: keeping a state, listening to
|
|
3861
|
+
* websocket events, registering a store listener. `component` loads at startup and is mounted
|
|
3862
|
+
* once for the whole app, under AYON's providers (store, router, contexts), so it can use hooks;
|
|
3863
|
+
* it renders nothing (`return null`). Clean up in its effects. A crash unmounts it and shows a
|
|
3864
|
+
* toast; the rest of AYON keeps working.
|
|
3865
|
+
*/
|
|
3866
|
+
'app.service': {
|
|
3867
|
+
version: 1
|
|
3868
|
+
meta: AppServiceMeta
|
|
3869
|
+
context: AppServiceContext
|
|
3870
|
+
pieces: { component: Loader<ComponentType<SlotProps<'app.service'>>> }
|
|
3871
|
+
}
|
|
3793
3872
|
}
|
|
3794
3873
|
|
|
3795
3874
|
/** The name of a slot, e.g. `'project.page'`. */
|
|
@@ -3830,24 +3909,24 @@ declare type StagingDirectory_2 = {
|
|
|
3830
3909
|
|
|
3831
3910
|
declare type Status = {
|
|
3832
3911
|
name: string;
|
|
3833
|
-
original_name?: string;
|
|
3912
|
+
original_name?: string | null;
|
|
3834
3913
|
shortName?: string;
|
|
3835
3914
|
state?: 'not_started' | 'in_progress' | 'done' | 'blocked';
|
|
3836
3915
|
icon?: string;
|
|
3837
3916
|
color?: string;
|
|
3838
3917
|
/** Limit the status to specific entity types. */
|
|
3839
|
-
scope?: string[];
|
|
3918
|
+
scope?: string[] | null;
|
|
3840
3919
|
};
|
|
3841
3920
|
|
|
3842
3921
|
declare type Status_2 = {
|
|
3843
3922
|
name: string;
|
|
3844
|
-
original_name?: string;
|
|
3923
|
+
original_name?: string | null;
|
|
3845
3924
|
shortName?: string;
|
|
3846
3925
|
state?: 'not_started' | 'in_progress' | 'done' | 'blocked';
|
|
3847
3926
|
icon?: string;
|
|
3848
3927
|
color?: string;
|
|
3849
3928
|
/** Limit the status to specific entity types. */
|
|
3850
|
-
scope?: string[];
|
|
3929
|
+
scope?: string[] | null;
|
|
3851
3930
|
};
|
|
3852
3931
|
|
|
3853
3932
|
declare type Status_3 = {
|
|
@@ -3863,24 +3942,24 @@ declare type Status_3 = {
|
|
|
3863
3942
|
|
|
3864
3943
|
declare type Status_4 = {
|
|
3865
3944
|
name: string;
|
|
3866
|
-
original_name?: string;
|
|
3945
|
+
original_name?: string | null;
|
|
3867
3946
|
shortName?: string;
|
|
3868
3947
|
state?: 'not_started' | 'in_progress' | 'done' | 'blocked';
|
|
3869
3948
|
icon?: string;
|
|
3870
3949
|
color?: string;
|
|
3871
3950
|
/** Limit the status to specific entity types. */
|
|
3872
|
-
scope?: string[];
|
|
3951
|
+
scope?: string[] | null;
|
|
3873
3952
|
};
|
|
3874
3953
|
|
|
3875
3954
|
declare type Status_5 = {
|
|
3876
3955
|
name: string;
|
|
3877
|
-
original_name?: string;
|
|
3956
|
+
original_name?: string | null;
|
|
3878
3957
|
shortName?: string;
|
|
3879
3958
|
state?: 'not_started' | 'in_progress' | 'done' | 'blocked';
|
|
3880
3959
|
icon?: string;
|
|
3881
3960
|
color?: string;
|
|
3882
3961
|
/** Limit the status to specific entity types. */
|
|
3883
|
-
scope?: string[];
|
|
3962
|
+
scope?: string[] | null;
|
|
3884
3963
|
};
|
|
3885
3964
|
|
|
3886
3965
|
/** Context of a studio page. */
|
|
@@ -3977,6 +4056,8 @@ export declare type SummaryFormat = 'count' | 'percent' | 'both' | 'none';
|
|
|
3977
4056
|
|
|
3978
4057
|
export declare type SummaryKind = 'main' | 'number' | 'boolean' | 'text' | 'enum' | 'assignee' | 'blank';
|
|
3979
4058
|
|
|
4059
|
+
export declare const SYSTEM_READ_ONLY_COLUMNS: string[];
|
|
4060
|
+
|
|
3980
4061
|
export declare const TABLE_CONTAINER_ATTR = "data-column-dnd-container";
|
|
3981
4062
|
|
|
3982
4063
|
export declare const TableCellContext: Context<TableCellContextValue>;
|
|
@@ -4013,7 +4094,8 @@ export declare type TableCellContextValue = {
|
|
|
4013
4094
|
* Gets a column's values, by entity id; each cell gets its own as `value`. AYON calls it with
|
|
4014
4095
|
* the rows that come on screen and that it has no value for yet, in batches once scrolling
|
|
4015
4096
|
* pauses, and keeps what it returns: scrolling back costs nothing. A row whose entity changes
|
|
4016
|
-
* (here or by someone else) is asked for again;
|
|
4097
|
+
* (here or by someone else) is asked for again; for anything else the values depend on, list its
|
|
4098
|
+
* cache tags in the column's `providesTags`, or call `refreshTableColumn(id)` to ask again for all.
|
|
4017
4099
|
* When it throws, those cells show the error and are tried again when they next come on
|
|
4018
4100
|
* screen. Fetch through AYON's store (`dispatch(api.endpoints.x.initiate(...))`) to share its
|
|
4019
4101
|
* cache.
|
|
@@ -4048,8 +4130,23 @@ declare interface TableColumnMeta {
|
|
|
4048
4130
|
* `false` for the menu's top level
|
|
4049
4131
|
*/
|
|
4050
4132
|
menu?: string | false
|
|
4133
|
+
/**
|
|
4134
|
+
* cache tags of AYON's api that the values depend on: when one is invalidated (by your
|
|
4135
|
+
* mutations or AYON's), the values are fetched again as with `refreshTableColumn`. Needs
|
|
4136
|
+
* `fetchValues`. Names as you register them (`enhanceEndpoints({ addTagTypes })`, prefixed with
|
|
4137
|
+
* your addon name) or AYON's own. A plain name follows invalidations of the whole type only: to
|
|
4138
|
+
* follow `{ type, id }`, such as a list tag, give that tag
|
|
4139
|
+
*/
|
|
4140
|
+
providesTags?: TableColumnTag[]
|
|
4051
4141
|
}
|
|
4052
4142
|
|
|
4143
|
+
/**
|
|
4144
|
+
* A cache tag a `tableColumn` depends on (`providesTags`), as in RTK Query: a tag type, or a type
|
|
4145
|
+
* and id. Invalidating `'x'` refreshes columns that list `'x'` or `{ type: 'x', id }`;
|
|
4146
|
+
* invalidating `{ type: 'x', id: 'LIST' }` refreshes only columns that list that tag.
|
|
4147
|
+
*/
|
|
4148
|
+
declare type TableColumnTag = string | { type: string; id?: string | number }
|
|
4149
|
+
|
|
4053
4150
|
export declare interface TableGroupBy {
|
|
4054
4151
|
desc: boolean;
|
|
4055
4152
|
id: string;
|
|
@@ -4103,6 +4200,11 @@ declare interface TableShortcutContext {
|
|
|
4103
4200
|
projectName: string | null
|
|
4104
4201
|
/** the rows it acts on: the selected ones when the key was pressed in one of them, else its row */
|
|
4105
4202
|
rows: TableRowRef[]
|
|
4203
|
+
/**
|
|
4204
|
+
* the entities of `rows` in the project tables (list items resolve to their entity); empty in
|
|
4205
|
+
* the panels' tables, whose rows are not all entities: read `rows` there
|
|
4206
|
+
*/
|
|
4207
|
+
entities: EntityRef[]
|
|
4106
4208
|
/** where the key was pressed: the row's id, and the column's in the project tables */
|
|
4107
4209
|
focused: { rowId: string; columnId?: string }
|
|
4108
4210
|
/** project tables: the selected cells, by row (entity) and column id; empty elsewhere */
|
|
@@ -4148,13 +4250,13 @@ export declare type TableUser = {
|
|
|
4148
4250
|
|
|
4149
4251
|
declare type Tag = {
|
|
4150
4252
|
name: string;
|
|
4151
|
-
original_name?: string;
|
|
4253
|
+
original_name?: string | null;
|
|
4152
4254
|
color?: string;
|
|
4153
4255
|
};
|
|
4154
4256
|
|
|
4155
4257
|
declare type Tag_2 = {
|
|
4156
4258
|
name: string;
|
|
4157
|
-
original_name?: string;
|
|
4259
|
+
original_name?: string | null;
|
|
4158
4260
|
color?: string;
|
|
4159
4261
|
};
|
|
4160
4262
|
|
|
@@ -4166,13 +4268,13 @@ declare type Tag_3 = {
|
|
|
4166
4268
|
|
|
4167
4269
|
declare type Tag_4 = {
|
|
4168
4270
|
name: string;
|
|
4169
|
-
original_name?: string;
|
|
4271
|
+
original_name?: string | null;
|
|
4170
4272
|
color?: string;
|
|
4171
4273
|
};
|
|
4172
4274
|
|
|
4173
4275
|
declare type Tag_5 = {
|
|
4174
4276
|
name: string;
|
|
4175
|
-
original_name?: string;
|
|
4277
|
+
original_name?: string | null;
|
|
4176
4278
|
color?: string;
|
|
4177
4279
|
};
|
|
4178
4280
|
|
|
@@ -4208,9 +4310,9 @@ export declare type TasksByFolderMap = Map<string, string[]>;
|
|
|
4208
4310
|
|
|
4209
4311
|
declare type TasksFoldersQuery = {
|
|
4210
4312
|
/** Filter object used to resolve the tasks */
|
|
4211
|
-
filter?: QueryFilter_3;
|
|
4313
|
+
filter?: QueryFilter_3 | null;
|
|
4212
4314
|
/** 'fulltext' search used to resolve the tasks */
|
|
4213
|
-
search?: string;
|
|
4315
|
+
search?: string | null;
|
|
4214
4316
|
};
|
|
4215
4317
|
|
|
4216
4318
|
export declare type TaskStatsArgs = {
|
|
@@ -4224,7 +4326,7 @@ export declare type TaskStatsArgs = {
|
|
|
4224
4326
|
|
|
4225
4327
|
declare type TaskType = {
|
|
4226
4328
|
name: string;
|
|
4227
|
-
original_name?: string;
|
|
4329
|
+
original_name?: string | null;
|
|
4228
4330
|
shortName?: string;
|
|
4229
4331
|
color?: string;
|
|
4230
4332
|
icon?: string;
|
|
@@ -4232,7 +4334,7 @@ declare type TaskType = {
|
|
|
4232
4334
|
|
|
4233
4335
|
declare type TaskType_2 = {
|
|
4234
4336
|
name: string;
|
|
4235
|
-
original_name?: string;
|
|
4337
|
+
original_name?: string | null;
|
|
4236
4338
|
shortName?: string;
|
|
4237
4339
|
color?: string;
|
|
4238
4340
|
icon?: string;
|
|
@@ -4248,7 +4350,7 @@ declare type TaskType_3 = {
|
|
|
4248
4350
|
|
|
4249
4351
|
declare type TaskType_4 = {
|
|
4250
4352
|
name: string;
|
|
4251
|
-
original_name?: string;
|
|
4353
|
+
original_name?: string | null;
|
|
4252
4354
|
shortName?: string;
|
|
4253
4355
|
color?: string;
|
|
4254
4356
|
icon?: string;
|
|
@@ -4256,7 +4358,7 @@ declare type TaskType_4 = {
|
|
|
4256
4358
|
|
|
4257
4359
|
declare type TaskType_5 = {
|
|
4258
4360
|
name: string;
|
|
4259
|
-
original_name?: string;
|
|
4361
|
+
original_name?: string | null;
|
|
4260
4362
|
shortName?: string;
|
|
4261
4363
|
color?: string;
|
|
4262
4364
|
icon?: string;
|
|
@@ -4575,21 +4677,20 @@ declare type User = {
|
|
|
4575
4677
|
hidden?: boolean;
|
|
4576
4678
|
};
|
|
4577
4679
|
|
|
4578
|
-
declare type UserAttribModel = {
|
|
4579
|
-
fullName?: string;
|
|
4580
|
-
email?: string;
|
|
4581
|
-
avatarUrl?: string;
|
|
4582
|
-
developerMode?: boolean;
|
|
4583
|
-
};
|
|
4584
|
-
|
|
4585
4680
|
declare type UserModel = {
|
|
4586
|
-
/**
|
|
4681
|
+
/** Unique name of the user */
|
|
4587
4682
|
name: string;
|
|
4588
|
-
uiExposureLevel?: number;
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4683
|
+
uiExposureLevel?: number | null;
|
|
4684
|
+
/** Attribute values of the entity */
|
|
4685
|
+
attrib?: {
|
|
4686
|
+
[key: string]: any;
|
|
4687
|
+
};
|
|
4688
|
+
data?: {
|
|
4689
|
+
[key: string]: any;
|
|
4690
|
+
};
|
|
4691
|
+
/** Whether the entity is active */
|
|
4592
4692
|
active?: boolean;
|
|
4693
|
+
/** List of attributes explicitly set on the entity itself (not inherited) */
|
|
4593
4694
|
ownAttrib?: string[];
|
|
4594
4695
|
/** Time of creation */
|
|
4595
4696
|
createdAt?: string;
|
|
@@ -4597,6 +4698,11 @@ declare type UserModel = {
|
|
|
4597
4698
|
updatedAt?: string;
|
|
4598
4699
|
};
|
|
4599
4700
|
|
|
4701
|
+
/** Every slot: the signed-in user. The host adds it; AYON renders addons only once signed in. */
|
|
4702
|
+
declare interface UserScope {
|
|
4703
|
+
user: AddonUser
|
|
4704
|
+
}
|
|
4705
|
+
|
|
4600
4706
|
export declare const useScopedAttributeFields: <T extends AttributeField>({ attribFields, allowedScopes, }: UseScopedAttributeFieldsProps<T>) => T[];
|
|
4601
4707
|
|
|
4602
4708
|
declare interface UseScopedAttributeFieldsProps<T extends AttributeField> {
|