datocms-plugin-sdk 2.1.0-alpha.0 → 2.1.0-alpha.2
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/cjs/connect.js +4 -0
- package/dist/cjs/connect.js.map +1 -1
- package/dist/cjs/guardUtils.js +12 -0
- package/dist/cjs/guardUtils.js.map +1 -1
- package/dist/cjs/hooks/executeSchemaItemTypeDropdownAction.js +3 -0
- package/dist/cjs/hooks/executeSchemaItemTypeDropdownAction.js.map +1 -0
- package/dist/cjs/hooks/mainNavigationTabs.js +4 -1
- package/dist/cjs/hooks/mainNavigationTabs.js.map +1 -1
- package/dist/cjs/hooks/renderInspector.js +11 -0
- package/dist/cjs/hooks/renderInspector.js.map +1 -0
- package/dist/cjs/hooks/renderInspectorPanel.js +11 -0
- package/dist/cjs/hooks/renderInspectorPanel.js.map +1 -0
- package/dist/cjs/hooks/renderPage.js.map +1 -1
- package/dist/cjs/hooks/schemaItemTypeDropdownActions.js +3 -0
- package/dist/cjs/hooks/schemaItemTypeDropdownActions.js.map +1 -0
- package/dist/cjs/icon.js +12 -5
- package/dist/cjs/icon.js.map +1 -1
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/manifest.js +268 -32
- package/dist/cjs/manifest.js.map +1 -1
- package/dist/esm/connect.d.ts +5 -1
- package/dist/esm/connect.js +4 -0
- package/dist/esm/connect.js.map +1 -1
- package/dist/esm/ctx/base.d.ts +2 -0
- package/dist/esm/guardUtils.d.ts +4 -0
- package/dist/esm/guardUtils.js +8 -0
- package/dist/esm/guardUtils.js.map +1 -1
- package/dist/esm/hooks/executeSchemaItemTypeDropdownAction.d.ts +20 -0
- package/dist/esm/hooks/executeSchemaItemTypeDropdownAction.js +2 -0
- package/dist/esm/hooks/executeSchemaItemTypeDropdownAction.js.map +1 -0
- package/dist/esm/hooks/mainNavigationTabs.d.ts +15 -1
- package/dist/esm/hooks/mainNavigationTabs.js +4 -1
- package/dist/esm/hooks/mainNavigationTabs.js.map +1 -1
- package/dist/esm/hooks/onBeforeItemUpsert.d.ts +28 -3
- package/dist/esm/hooks/renderInspector.d.ts +147 -0
- package/dist/esm/hooks/renderInspector.js +8 -0
- package/dist/esm/hooks/renderInspector.js.map +1 -0
- package/dist/esm/hooks/renderInspectorPanel.d.ts +20 -0
- package/dist/esm/hooks/renderInspectorPanel.js +8 -0
- package/dist/esm/hooks/renderInspectorPanel.js.map +1 -0
- package/dist/esm/hooks/renderPage.d.ts +6 -0
- package/dist/esm/hooks/renderPage.js.map +1 -1
- package/dist/esm/hooks/schemaItemTypeDropdownActions.d.ts +17 -0
- package/dist/esm/hooks/schemaItemTypeDropdownActions.js +2 -0
- package/dist/esm/hooks/schemaItemTypeDropdownActions.js.map +1 -0
- package/dist/esm/icon.d.ts +61 -2
- package/dist/esm/icon.js +11 -6
- package/dist/esm/icon.js.map +1 -1
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/manifest.js +268 -32
- package/dist/esm/manifest.js.map +1 -1
- package/dist/types/connect.d.ts +5 -1
- package/dist/types/ctx/base.d.ts +2 -0
- package/dist/types/guardUtils.d.ts +4 -0
- package/dist/types/hooks/executeSchemaItemTypeDropdownAction.d.ts +20 -0
- package/dist/types/hooks/mainNavigationTabs.d.ts +15 -1
- package/dist/types/hooks/onBeforeItemUpsert.d.ts +28 -3
- package/dist/types/hooks/renderInspector.d.ts +147 -0
- package/dist/types/hooks/renderInspectorPanel.d.ts +20 -0
- package/dist/types/hooks/renderPage.d.ts +6 -0
- package/dist/types/hooks/schemaItemTypeDropdownActions.d.ts +17 -0
- package/dist/types/icon.d.ts +61 -2
- package/dist/types/index.d.ts +4 -0
- package/manifest.json +268 -32
- package/package.json +4 -3
- package/src/connect.ts +16 -0
- package/src/ctx/base.ts +3 -0
- package/src/guardUtils.ts +13 -0
- package/src/hooks/executeSchemaItemTypeDropdownAction.ts +24 -0
- package/src/hooks/mainNavigationTabs.ts +24 -5
- package/src/hooks/onBeforeItemUpsert.ts +31 -3
- package/src/hooks/renderInspector.ts +176 -0
- package/src/hooks/renderInspectorPanel.ts +38 -0
- package/src/hooks/renderPage.ts +7 -0
- package/src/hooks/schemaItemTypeDropdownActions.ts +22 -0
- package/src/icon.ts +80 -9
- package/src/index.ts +4 -0
- package/src/manifest.ts +284 -32
package/dist/esm/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export * from './hooks/customMarksForStructuredTextField';
|
|
|
12
12
|
export * from './hooks/executeFieldDropdownAction';
|
|
13
13
|
export * from './hooks/executeItemFormDropdownAction';
|
|
14
14
|
export * from './hooks/executeItemsDropdownAction';
|
|
15
|
+
export * from './hooks/executeSchemaItemTypeDropdownAction';
|
|
15
16
|
export * from './hooks/executeUploadsDropdownAction';
|
|
16
17
|
export * from './hooks/fieldDropdownActions';
|
|
17
18
|
export * from './hooks/initialLocationQueryForItemSelector';
|
|
@@ -39,8 +40,11 @@ export * from './hooks/renderItemFormSidebarPanel';
|
|
|
39
40
|
export * from './hooks/renderManualFieldExtensionConfigScreen';
|
|
40
41
|
export * from './hooks/renderModal';
|
|
41
42
|
export * from './hooks/renderPage';
|
|
43
|
+
export * from './hooks/renderInspector';
|
|
44
|
+
export * from './hooks/renderInspectorPanel';
|
|
42
45
|
export * from './hooks/renderUploadSidebar';
|
|
43
46
|
export * from './hooks/renderUploadSidebarPanel';
|
|
47
|
+
export * from './hooks/schemaItemTypeDropdownActions';
|
|
44
48
|
export * from './hooks/settingsAreaSidebarItemGroups';
|
|
45
49
|
export * from './hooks/uploadsDropdownActions';
|
|
46
50
|
export * from './hooks/uploadSidebarPanels';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
package/dist/esm/manifest.js
CHANGED
|
@@ -94,6 +94,29 @@ export var manifest = {
|
|
|
94
94
|
lineNumber: 19,
|
|
95
95
|
},
|
|
96
96
|
},
|
|
97
|
+
schemaItemTypeDropdownActions: {
|
|
98
|
+
name: 'schemaItemTypeDropdownActions',
|
|
99
|
+
comment: {
|
|
100
|
+
markdownText: 'Use this function to define custom actions (or groups of actions) for a model/block model in the Schema section.\n\nThe `executeSchemaItemTypeDropdownAction()` hook will be triggered once the user\nclicks on one of the defined actions.',
|
|
101
|
+
tag: 'dropdownActions',
|
|
102
|
+
},
|
|
103
|
+
nonCtxArguments: [
|
|
104
|
+
{
|
|
105
|
+
name: 'itemType',
|
|
106
|
+
typeName: 'ItemType',
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
ctxArgument: {
|
|
110
|
+
type: 'Ctx',
|
|
111
|
+
additionalProperties: [],
|
|
112
|
+
additionalMethods: [],
|
|
113
|
+
},
|
|
114
|
+
returnType: 'Array<DropdownAction | DropdownActionGroup>',
|
|
115
|
+
location: {
|
|
116
|
+
filePath: 'src/hooks/schemaItemTypeDropdownActions.ts',
|
|
117
|
+
lineNumber: 16,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
97
120
|
renderUploadSidebarPanel: {
|
|
98
121
|
name: 'renderUploadSidebarPanel',
|
|
99
122
|
comment: {
|
|
@@ -237,6 +260,16 @@ export var manifest = {
|
|
|
237
260
|
},
|
|
238
261
|
type: 'string',
|
|
239
262
|
},
|
|
263
|
+
location: {
|
|
264
|
+
comment: {
|
|
265
|
+
markdownText: 'Current page location.',
|
|
266
|
+
},
|
|
267
|
+
location: {
|
|
268
|
+
filePath: 'src/hooks/renderPage.ts',
|
|
269
|
+
lineNumber: 22,
|
|
270
|
+
},
|
|
271
|
+
type: '{\n pathname: string;\n search: string;\n hash: string;\n }',
|
|
272
|
+
},
|
|
240
273
|
},
|
|
241
274
|
},
|
|
242
275
|
],
|
|
@@ -1106,6 +1139,140 @@ export var manifest = {
|
|
|
1106
1139
|
lineNumber: 14,
|
|
1107
1140
|
},
|
|
1108
1141
|
},
|
|
1142
|
+
renderInspectorPanel: {
|
|
1143
|
+
name: 'renderInspectorPanel',
|
|
1144
|
+
comment: {
|
|
1145
|
+
markdownText: 'This function will be called when an inspector needs to render a specific\npanel (see the `renderInspector` and `setInspectorMode` functions).',
|
|
1146
|
+
tag: 'inspector',
|
|
1147
|
+
},
|
|
1148
|
+
nonCtxArguments: [
|
|
1149
|
+
{
|
|
1150
|
+
name: 'panelId',
|
|
1151
|
+
typeName: 'string',
|
|
1152
|
+
},
|
|
1153
|
+
],
|
|
1154
|
+
ctxArgument: {
|
|
1155
|
+
type: 'ImposedSizePluginFrameCtx',
|
|
1156
|
+
additionalProperties: [
|
|
1157
|
+
{
|
|
1158
|
+
items: {
|
|
1159
|
+
panelId: {
|
|
1160
|
+
comment: {
|
|
1161
|
+
markdownText: 'The ID of the inspector panel that needs to be rendered.',
|
|
1162
|
+
},
|
|
1163
|
+
location: {
|
|
1164
|
+
filePath: 'src/hooks/renderInspectorPanel.ts',
|
|
1165
|
+
lineNumber: 18,
|
|
1166
|
+
},
|
|
1167
|
+
type: 'string',
|
|
1168
|
+
},
|
|
1169
|
+
parameters: {
|
|
1170
|
+
comment: {
|
|
1171
|
+
markdownText: 'The arbitrary `parameters` of the modal declared in the `setInspectorMode`\nfunction.',
|
|
1172
|
+
},
|
|
1173
|
+
location: {
|
|
1174
|
+
filePath: 'src/hooks/renderInspectorPanel.ts',
|
|
1175
|
+
lineNumber: 24,
|
|
1176
|
+
},
|
|
1177
|
+
type: 'Record<string, unknown>',
|
|
1178
|
+
},
|
|
1179
|
+
},
|
|
1180
|
+
},
|
|
1181
|
+
],
|
|
1182
|
+
additionalMethods: [],
|
|
1183
|
+
},
|
|
1184
|
+
returnType: 'void',
|
|
1185
|
+
location: {
|
|
1186
|
+
filePath: 'src/hooks/renderInspectorPanel.ts',
|
|
1187
|
+
lineNumber: 11,
|
|
1188
|
+
},
|
|
1189
|
+
},
|
|
1190
|
+
renderInspector: {
|
|
1191
|
+
name: 'renderInspector',
|
|
1192
|
+
comment: {
|
|
1193
|
+
markdownText: 'This function will be called when the plugin needs to render a specific\ninspector. Inspectors provide a side panel interface for displaying and\ninteracting with content alongside a custom interface.',
|
|
1194
|
+
tag: 'inspector',
|
|
1195
|
+
example: "connect({\n renderInspector(inspectorId, ctx) {\n render(\n <div>\n <h1>Inspector: {inspectorId}</h1>\n <button onClick={() => ctx.setInspectorMode({\n type: 'itemEditor',\n itemId: 'some-item-id'\n })}>\n Show Item Editor\n </button>\n </div>\n );\n }\n});",
|
|
1196
|
+
},
|
|
1197
|
+
nonCtxArguments: [
|
|
1198
|
+
{
|
|
1199
|
+
name: 'inspectorId',
|
|
1200
|
+
typeName: 'string',
|
|
1201
|
+
},
|
|
1202
|
+
],
|
|
1203
|
+
ctxArgument: {
|
|
1204
|
+
type: 'ImposedSizePluginFrameCtx',
|
|
1205
|
+
additionalProperties: [
|
|
1206
|
+
{
|
|
1207
|
+
items: {
|
|
1208
|
+
inspectorId: {
|
|
1209
|
+
comment: {
|
|
1210
|
+
markdownText: 'The ID of the inspector that needs to be rendered.',
|
|
1211
|
+
},
|
|
1212
|
+
location: {
|
|
1213
|
+
filePath: 'src/hooks/renderInspector.ts',
|
|
1214
|
+
lineNumber: 80,
|
|
1215
|
+
},
|
|
1216
|
+
type: 'string',
|
|
1217
|
+
},
|
|
1218
|
+
highlightedItemId: {
|
|
1219
|
+
comment: {
|
|
1220
|
+
markdownText: 'The ID of the record the currently is highlighted by the user.',
|
|
1221
|
+
},
|
|
1222
|
+
location: {
|
|
1223
|
+
filePath: 'src/hooks/renderInspector.ts',
|
|
1224
|
+
lineNumber: 83,
|
|
1225
|
+
},
|
|
1226
|
+
type: 'string | undefined',
|
|
1227
|
+
},
|
|
1228
|
+
location: {
|
|
1229
|
+
comment: {
|
|
1230
|
+
markdownText: 'Current page location.',
|
|
1231
|
+
},
|
|
1232
|
+
location: {
|
|
1233
|
+
filePath: 'src/hooks/renderInspector.ts',
|
|
1234
|
+
lineNumber: 86,
|
|
1235
|
+
},
|
|
1236
|
+
type: '{\n pathname: string;\n search: string;\n hash: string;\n }',
|
|
1237
|
+
},
|
|
1238
|
+
},
|
|
1239
|
+
},
|
|
1240
|
+
],
|
|
1241
|
+
additionalMethods: [
|
|
1242
|
+
{
|
|
1243
|
+
items: {
|
|
1244
|
+
setInspectorMode: {
|
|
1245
|
+
comment: {
|
|
1246
|
+
markdownText: 'Changes the current display mode of the inspector. This allows the plugin\nto dynamically switch between showing a record list, record editor, or custom\npanel within the inspector interface.',
|
|
1247
|
+
example: "// Switch to record editor mode\nawait ctx.setInspectorMode({\n type: 'itemEditor',\n itemId: 'item-123',\n fieldPath: 'title'\n});\n\n// Switch to record list mode\nawait ctx.setInspectorMode({ type: 'itemList' });\nawait ctx.setInspectorItemListData({\n title: 'Related Records',\n itemIds: ['item-1', 'item-2', 'item-3']\n});\n\n// Switch to custom panel mode\nawait ctx.setInspectorMode({\n type: 'customPanel',\n panelId: 'my-custom-panel',\n parameters: { filter: 'active' }\n});\n\n// Low intent mode change - won't interrupt editing with unsaved changes\nawait ctx.setInspectorMode(\n { type: 'itemList' },\n { ignoreIfUnsavedChanges: true }\n);",
|
|
1248
|
+
},
|
|
1249
|
+
location: {
|
|
1250
|
+
filePath: 'src/hooks/renderInspector.ts',
|
|
1251
|
+
lineNumber: 136,
|
|
1252
|
+
},
|
|
1253
|
+
type: '(\n mode: InspectorMode,\n options?: SetInspectorModeOptions,\n ) => Promise<void>',
|
|
1254
|
+
},
|
|
1255
|
+
setInspectorItemListData: {
|
|
1256
|
+
comment: {
|
|
1257
|
+
markdownText: 'Sets the data for the item list inspector mode.',
|
|
1258
|
+
example: "// Set the item list data\nawait ctx.setInspectorItemListData({\n title: 'Related Records',\n itemIds: ['item-1', 'item-2', 'item-3']\n});\n\n// Switch to item list mode\nawait ctx.setInspectorMode({ type: 'itemList' });",
|
|
1259
|
+
},
|
|
1260
|
+
location: {
|
|
1261
|
+
filePath: 'src/hooks/renderInspector.ts',
|
|
1262
|
+
lineNumber: 157,
|
|
1263
|
+
},
|
|
1264
|
+
type: '(data: {\n /** The title to show in the inspector header */\n title: string;\n /** Array of record IDs to display in the list */\n itemIds: string[];\n }) => Promise<void>',
|
|
1265
|
+
},
|
|
1266
|
+
},
|
|
1267
|
+
},
|
|
1268
|
+
],
|
|
1269
|
+
},
|
|
1270
|
+
returnType: 'void',
|
|
1271
|
+
location: {
|
|
1272
|
+
filePath: 'src/hooks/renderInspector.ts',
|
|
1273
|
+
lineNumber: 73,
|
|
1274
|
+
},
|
|
1275
|
+
},
|
|
1109
1276
|
renderFieldExtension: {
|
|
1110
1277
|
name: 'renderFieldExtension',
|
|
1111
1278
|
comment: {
|
|
@@ -1583,7 +1750,7 @@ export var manifest = {
|
|
|
1583
1750
|
onBeforeItemUpsert: {
|
|
1584
1751
|
name: 'onBeforeItemUpsert',
|
|
1585
1752
|
comment: {
|
|
1586
|
-
markdownText: 'This
|
|
1753
|
+
markdownText: 'This hook is called when the user attempts to save a record. You can use it to block record saving.\n\nIf you return `false`, the record will NOT be saved. A small on-page error will say "A plugin blocked the action".\nHowever, for better UX, consider also using `ctx.alert()` to better explain to the user why their save was blocked.\n\nIf you return `true`, the save will proceed as normal.\n\nThis hook runs BEFORE serverside validation. You can use it to do your own additional validation before returning.\nClientside validations are not affected by this hook, since those occur on individual fields\' `onBlur()` events.',
|
|
1587
1754
|
tag: 'beforeHooks',
|
|
1588
1755
|
},
|
|
1589
1756
|
nonCtxArguments: [
|
|
@@ -1594,13 +1761,33 @@ export var manifest = {
|
|
|
1594
1761
|
],
|
|
1595
1762
|
ctxArgument: {
|
|
1596
1763
|
type: 'Ctx',
|
|
1597
|
-
additionalProperties: [
|
|
1598
|
-
|
|
1764
|
+
additionalProperties: [
|
|
1765
|
+
{
|
|
1766
|
+
items: {},
|
|
1767
|
+
},
|
|
1768
|
+
],
|
|
1769
|
+
additionalMethods: [
|
|
1770
|
+
{
|
|
1771
|
+
items: {
|
|
1772
|
+
scrollToField: {
|
|
1773
|
+
comment: {
|
|
1774
|
+
markdownText: 'Smoothly navigates to a specific field in the form. If the field is\nlocalized it will switch language tab and then navigate to the chosen\nfield.',
|
|
1775
|
+
example: "const fieldPath = prompt(\n 'Please insert the path of a field in the form',\n ctx.fieldPath,\n);\n\nawait ctx.scrollToField(fieldPath);",
|
|
1776
|
+
},
|
|
1777
|
+
location: {
|
|
1778
|
+
filePath: 'src/hooks/onBeforeItemUpsert.ts',
|
|
1779
|
+
lineNumber: 47,
|
|
1780
|
+
},
|
|
1781
|
+
type: '(path: string, locale?: string) => Promise<void>',
|
|
1782
|
+
},
|
|
1783
|
+
},
|
|
1784
|
+
},
|
|
1785
|
+
],
|
|
1599
1786
|
},
|
|
1600
1787
|
returnType: 'MaybePromise<boolean>',
|
|
1601
1788
|
location: {
|
|
1602
1789
|
filePath: 'src/hooks/onBeforeItemUpsert.ts',
|
|
1603
|
-
lineNumber:
|
|
1790
|
+
lineNumber: 22,
|
|
1604
1791
|
},
|
|
1605
1792
|
},
|
|
1606
1793
|
manualFieldExtensions: {
|
|
@@ -2114,6 +2301,45 @@ export var manifest = {
|
|
|
2114
2301
|
lineNumber: 13,
|
|
2115
2302
|
},
|
|
2116
2303
|
},
|
|
2304
|
+
executeSchemaItemTypeDropdownAction: {
|
|
2305
|
+
name: 'executeSchemaItemTypeDropdownAction',
|
|
2306
|
+
comment: {
|
|
2307
|
+
markdownText: 'Use this function to execute a particular dropdown action defined via\nthe `schemaItemTypeDropdownActions()` hook.',
|
|
2308
|
+
tag: 'dropdownActions',
|
|
2309
|
+
},
|
|
2310
|
+
nonCtxArguments: [
|
|
2311
|
+
{
|
|
2312
|
+
name: 'actionId',
|
|
2313
|
+
typeName: 'string',
|
|
2314
|
+
},
|
|
2315
|
+
{
|
|
2316
|
+
name: 'itemType',
|
|
2317
|
+
typeName: 'ItemType',
|
|
2318
|
+
},
|
|
2319
|
+
],
|
|
2320
|
+
ctxArgument: {
|
|
2321
|
+
type: 'Ctx',
|
|
2322
|
+
additionalProperties: [
|
|
2323
|
+
{
|
|
2324
|
+
items: {
|
|
2325
|
+
parameters: {
|
|
2326
|
+
location: {
|
|
2327
|
+
filePath: 'src/hooks/executeSchemaItemTypeDropdownAction.ts',
|
|
2328
|
+
lineNumber: 23,
|
|
2329
|
+
},
|
|
2330
|
+
type: 'Record<string, unknown> | undefined',
|
|
2331
|
+
},
|
|
2332
|
+
},
|
|
2333
|
+
},
|
|
2334
|
+
],
|
|
2335
|
+
additionalMethods: [],
|
|
2336
|
+
},
|
|
2337
|
+
returnType: 'Promise<void>',
|
|
2338
|
+
location: {
|
|
2339
|
+
filePath: 'src/hooks/executeSchemaItemTypeDropdownAction.ts',
|
|
2340
|
+
lineNumber: 13,
|
|
2341
|
+
},
|
|
2342
|
+
},
|
|
2117
2343
|
executeItemsDropdownAction: {
|
|
2118
2344
|
name: 'executeItemsDropdownAction',
|
|
2119
2345
|
comment: {
|
|
@@ -2840,13 +3066,23 @@ export var manifest = {
|
|
|
2840
3066
|
},
|
|
2841
3067
|
type: 'string',
|
|
2842
3068
|
},
|
|
3069
|
+
isEnvironmentPrimary: {
|
|
3070
|
+
comment: {
|
|
3071
|
+
markdownText: 'Whether the current environment is the primary one.',
|
|
3072
|
+
},
|
|
3073
|
+
location: {
|
|
3074
|
+
filePath: 'src/ctx/base.ts',
|
|
3075
|
+
lineNumber: 64,
|
|
3076
|
+
},
|
|
3077
|
+
type: 'boolean',
|
|
3078
|
+
},
|
|
2843
3079
|
owner: {
|
|
2844
3080
|
comment: {
|
|
2845
3081
|
markdownText: 'The account/organization that is the project owner.',
|
|
2846
3082
|
},
|
|
2847
3083
|
location: {
|
|
2848
3084
|
filePath: 'src/ctx/base.ts',
|
|
2849
|
-
lineNumber:
|
|
3085
|
+
lineNumber: 67,
|
|
2850
3086
|
},
|
|
2851
3087
|
type: 'Account | Organization',
|
|
2852
3088
|
},
|
|
@@ -2857,7 +3093,7 @@ export var manifest = {
|
|
|
2857
3093
|
},
|
|
2858
3094
|
location: {
|
|
2859
3095
|
filePath: 'src/ctx/base.ts',
|
|
2860
|
-
lineNumber:
|
|
3096
|
+
lineNumber: 75,
|
|
2861
3097
|
},
|
|
2862
3098
|
type: 'Account | undefined',
|
|
2863
3099
|
},
|
|
@@ -2867,7 +3103,7 @@ export var manifest = {
|
|
|
2867
3103
|
},
|
|
2868
3104
|
location: {
|
|
2869
3105
|
filePath: 'src/ctx/base.ts',
|
|
2870
|
-
lineNumber:
|
|
3106
|
+
lineNumber: 81,
|
|
2871
3107
|
},
|
|
2872
3108
|
type: '{\n /** Preferred locale */\n locale: string;\n }',
|
|
2873
3109
|
},
|
|
@@ -2877,7 +3113,7 @@ export var manifest = {
|
|
|
2877
3113
|
},
|
|
2878
3114
|
location: {
|
|
2879
3115
|
filePath: 'src/ctx/base.ts',
|
|
2880
|
-
lineNumber:
|
|
3116
|
+
lineNumber: 87,
|
|
2881
3117
|
},
|
|
2882
3118
|
type: 'Theme',
|
|
2883
3119
|
},
|
|
@@ -2895,7 +3131,7 @@ export var manifest = {
|
|
|
2895
3131
|
},
|
|
2896
3132
|
location: {
|
|
2897
3133
|
filePath: 'src/ctx/base.ts',
|
|
2898
|
-
lineNumber:
|
|
3134
|
+
lineNumber: 97,
|
|
2899
3135
|
},
|
|
2900
3136
|
type: 'Partial<Record<string, ItemType>>',
|
|
2901
3137
|
},
|
|
@@ -2905,7 +3141,7 @@ export var manifest = {
|
|
|
2905
3141
|
},
|
|
2906
3142
|
location: {
|
|
2907
3143
|
filePath: 'src/ctx/base.ts',
|
|
2908
|
-
lineNumber:
|
|
3144
|
+
lineNumber: 104,
|
|
2909
3145
|
},
|
|
2910
3146
|
type: 'Partial<Record<string, Field>>',
|
|
2911
3147
|
},
|
|
@@ -2915,7 +3151,7 @@ export var manifest = {
|
|
|
2915
3151
|
},
|
|
2916
3152
|
location: {
|
|
2917
3153
|
filePath: 'src/ctx/base.ts',
|
|
2918
|
-
lineNumber:
|
|
3154
|
+
lineNumber: 111,
|
|
2919
3155
|
},
|
|
2920
3156
|
type: 'Partial<Record<string, Fieldset>>',
|
|
2921
3157
|
},
|
|
@@ -2925,7 +3161,7 @@ export var manifest = {
|
|
|
2925
3161
|
},
|
|
2926
3162
|
location: {
|
|
2927
3163
|
filePath: 'src/ctx/base.ts',
|
|
2928
|
-
lineNumber:
|
|
3164
|
+
lineNumber: 118,
|
|
2929
3165
|
},
|
|
2930
3166
|
type: 'Partial<Record<string, User>>',
|
|
2931
3167
|
},
|
|
@@ -2935,7 +3171,7 @@ export var manifest = {
|
|
|
2935
3171
|
},
|
|
2936
3172
|
location: {
|
|
2937
3173
|
filePath: 'src/ctx/base.ts',
|
|
2938
|
-
lineNumber:
|
|
3174
|
+
lineNumber: 125,
|
|
2939
3175
|
},
|
|
2940
3176
|
type: 'Partial<Record<string, SsoUser>>',
|
|
2941
3177
|
},
|
|
@@ -2956,7 +3192,7 @@ export var manifest = {
|
|
|
2956
3192
|
},
|
|
2957
3193
|
location: {
|
|
2958
3194
|
filePath: 'src/ctx/base.ts',
|
|
2959
|
-
lineNumber:
|
|
3195
|
+
lineNumber: 168,
|
|
2960
3196
|
},
|
|
2961
3197
|
type: '(itemTypeId: string) => Promise<Field[]>',
|
|
2962
3198
|
},
|
|
@@ -2967,7 +3203,7 @@ export var manifest = {
|
|
|
2967
3203
|
},
|
|
2968
3204
|
location: {
|
|
2969
3205
|
filePath: 'src/ctx/base.ts',
|
|
2970
|
-
lineNumber:
|
|
3206
|
+
lineNumber: 187,
|
|
2971
3207
|
},
|
|
2972
3208
|
type: '(itemTypeId: string) => Promise<Fieldset[]>',
|
|
2973
3209
|
},
|
|
@@ -2978,7 +3214,7 @@ export var manifest = {
|
|
|
2978
3214
|
},
|
|
2979
3215
|
location: {
|
|
2980
3216
|
filePath: 'src/ctx/base.ts',
|
|
2981
|
-
lineNumber:
|
|
3217
|
+
lineNumber: 204,
|
|
2982
3218
|
},
|
|
2983
3219
|
type: '() => Promise<Field[]>',
|
|
2984
3220
|
},
|
|
@@ -2989,7 +3225,7 @@ export var manifest = {
|
|
|
2989
3225
|
},
|
|
2990
3226
|
location: {
|
|
2991
3227
|
filePath: 'src/ctx/base.ts',
|
|
2992
|
-
lineNumber:
|
|
3228
|
+
lineNumber: 217,
|
|
2993
3229
|
},
|
|
2994
3230
|
type: '() => Promise<User[]>',
|
|
2995
3231
|
},
|
|
@@ -3000,7 +3236,7 @@ export var manifest = {
|
|
|
3000
3236
|
},
|
|
3001
3237
|
location: {
|
|
3002
3238
|
filePath: 'src/ctx/base.ts',
|
|
3003
|
-
lineNumber:
|
|
3239
|
+
lineNumber: 230,
|
|
3004
3240
|
},
|
|
3005
3241
|
type: '() => Promise<SsoUser[]>',
|
|
3006
3242
|
},
|
|
@@ -3019,7 +3255,7 @@ export var manifest = {
|
|
|
3019
3255
|
},
|
|
3020
3256
|
location: {
|
|
3021
3257
|
filePath: 'src/ctx/base.ts',
|
|
3022
|
-
lineNumber:
|
|
3258
|
+
lineNumber: 252,
|
|
3023
3259
|
},
|
|
3024
3260
|
type: '(params: Record<string, unknown>) => Promise<void>',
|
|
3025
3261
|
},
|
|
@@ -3030,7 +3266,7 @@ export var manifest = {
|
|
|
3030
3266
|
},
|
|
3031
3267
|
location: {
|
|
3032
3268
|
filePath: 'src/ctx/base.ts',
|
|
3033
|
-
lineNumber:
|
|
3269
|
+
lineNumber: 303,
|
|
3034
3270
|
},
|
|
3035
3271
|
type: '(\n fieldId: string,\n changes: FieldAppearanceChange[],\n ) => Promise<void>',
|
|
3036
3272
|
},
|
|
@@ -3049,7 +3285,7 @@ export var manifest = {
|
|
|
3049
3285
|
},
|
|
3050
3286
|
location: {
|
|
3051
3287
|
filePath: 'src/ctx/base.ts',
|
|
3052
|
-
lineNumber:
|
|
3288
|
+
lineNumber: 408,
|
|
3053
3289
|
},
|
|
3054
3290
|
type: '(message: string) => Promise<void>',
|
|
3055
3291
|
},
|
|
@@ -3060,7 +3296,7 @@ export var manifest = {
|
|
|
3060
3296
|
},
|
|
3061
3297
|
location: {
|
|
3062
3298
|
filePath: 'src/ctx/base.ts',
|
|
3063
|
-
lineNumber:
|
|
3299
|
+
lineNumber: 423,
|
|
3064
3300
|
},
|
|
3065
3301
|
type: '(message: string) => Promise<void>',
|
|
3066
3302
|
},
|
|
@@ -3071,7 +3307,7 @@ export var manifest = {
|
|
|
3071
3307
|
},
|
|
3072
3308
|
location: {
|
|
3073
3309
|
filePath: 'src/ctx/base.ts',
|
|
3074
|
-
lineNumber:
|
|
3310
|
+
lineNumber: 447,
|
|
3075
3311
|
},
|
|
3076
3312
|
type: '<CtaValue = unknown>(\n toast: Toast<CtaValue>,\n ) => Promise<CtaValue | null>',
|
|
3077
3313
|
},
|
|
@@ -3090,7 +3326,7 @@ export var manifest = {
|
|
|
3090
3326
|
},
|
|
3091
3327
|
location: {
|
|
3092
3328
|
filePath: 'src/ctx/base.ts',
|
|
3093
|
-
lineNumber:
|
|
3329
|
+
lineNumber: 333,
|
|
3094
3330
|
},
|
|
3095
3331
|
type: '(itemTypeId: string) => Promise<Item | null>',
|
|
3096
3332
|
},
|
|
@@ -3101,7 +3337,7 @@ export var manifest = {
|
|
|
3101
3337
|
},
|
|
3102
3338
|
location: {
|
|
3103
3339
|
filePath: 'src/ctx/base.ts',
|
|
3104
|
-
lineNumber:
|
|
3340
|
+
lineNumber: 354,
|
|
3105
3341
|
},
|
|
3106
3342
|
type: '{\n (\n itemTypeId: string,\n options: { multiple: true; initialLocationQuery?: ItemListLocationQuery },\n ): Promise<Item[] | null>;\n (\n itemTypeId: string,\n options?: {\n multiple: false;\n initialLocationQuery?: ItemListLocationQuery;\n },\n ): Promise<Item | null>;\n }',
|
|
3107
3343
|
},
|
|
@@ -3112,7 +3348,7 @@ export var manifest = {
|
|
|
3112
3348
|
},
|
|
3113
3349
|
location: {
|
|
3114
3350
|
filePath: 'src/ctx/base.ts',
|
|
3115
|
-
lineNumber:
|
|
3351
|
+
lineNumber: 386,
|
|
3116
3352
|
},
|
|
3117
3353
|
type: '(itemId: string) => Promise<Item | null>',
|
|
3118
3354
|
},
|
|
@@ -3131,7 +3367,7 @@ export var manifest = {
|
|
|
3131
3367
|
},
|
|
3132
3368
|
location: {
|
|
3133
3369
|
filePath: 'src/ctx/base.ts',
|
|
3134
|
-
lineNumber:
|
|
3370
|
+
lineNumber: 474,
|
|
3135
3371
|
},
|
|
3136
3372
|
type: '{\n (options: { multiple: true }): Promise<Upload[] | null>;\n (options?: { multiple: false }): Promise<Upload | null>;\n }',
|
|
3137
3373
|
},
|
|
@@ -3142,7 +3378,7 @@ export var manifest = {
|
|
|
3142
3378
|
},
|
|
3143
3379
|
location: {
|
|
3144
3380
|
filePath: 'src/ctx/base.ts',
|
|
3145
|
-
lineNumber:
|
|
3381
|
+
lineNumber: 502,
|
|
3146
3382
|
},
|
|
3147
3383
|
type: '(\n uploadId: string,\n ) => Promise<(Upload & { deleted?: true }) | null>',
|
|
3148
3384
|
},
|
|
@@ -3153,7 +3389,7 @@ export var manifest = {
|
|
|
3153
3389
|
},
|
|
3154
3390
|
location: {
|
|
3155
3391
|
filePath: 'src/ctx/base.ts',
|
|
3156
|
-
lineNumber:
|
|
3392
|
+
lineNumber: 530,
|
|
3157
3393
|
},
|
|
3158
3394
|
type: '(\n /** The "single asset" field structure */\n fileFieldValue: FileFieldValue,\n /** Shows metadata information for a specific locale */\n locale?: string,\n ) => Promise<FileFieldValue | null>',
|
|
3159
3395
|
},
|
|
@@ -3172,7 +3408,7 @@ export var manifest = {
|
|
|
3172
3408
|
},
|
|
3173
3409
|
location: {
|
|
3174
3410
|
filePath: 'src/ctx/base.ts',
|
|
3175
|
-
lineNumber:
|
|
3411
|
+
lineNumber: 561,
|
|
3176
3412
|
},
|
|
3177
3413
|
type: '(modal: Modal) => Promise<unknown>',
|
|
3178
3414
|
},
|
|
@@ -3183,7 +3419,7 @@ export var manifest = {
|
|
|
3183
3419
|
},
|
|
3184
3420
|
location: {
|
|
3185
3421
|
filePath: 'src/ctx/base.ts',
|
|
3186
|
-
lineNumber:
|
|
3422
|
+
lineNumber: 598,
|
|
3187
3423
|
},
|
|
3188
3424
|
type: '(options: ConfirmOptions) => Promise<unknown>',
|
|
3189
3425
|
},
|
|
@@ -3202,7 +3438,7 @@ export var manifest = {
|
|
|
3202
3438
|
},
|
|
3203
3439
|
location: {
|
|
3204
3440
|
filePath: 'src/ctx/base.ts',
|
|
3205
|
-
lineNumber:
|
|
3441
|
+
lineNumber: 612,
|
|
3206
3442
|
},
|
|
3207
3443
|
type: '(path: string) => Promise<void>',
|
|
3208
3444
|
},
|