Service - FormObjectEdit Config: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Overview = Manages configuration for one form used to display or edit an existing object = Repository = https://bitbucket.org/izara-core-shared/izara-core-shared-formobjectedit-config = DynamoDB tables = == FormObjectEditConfigMain == <syntaxhighlight lang="JavaScript"> { formObjectEditConfigId: "xx", // {random uuid} formObjectEditConfig: "xx", // json encoded object of configuration formObjectEditConfigName: "yy", // user specified name of the config userId...") |
No edit summary |
||
| (One intermediate revision by one other user not shown) | |||
| Line 6: | Line 6: | ||
https://bitbucket.org/izara-core-shared/izara-core-shared-formobjectedit-config | https://bitbucket.org/izara-core-shared/izara-core-shared-formobjectedit-config | ||
= ObjectSchema = | |||
== formObjectEditConfig == | |||
<syntaxhighlight lang="JavaScript"> | |||
[ | |||
{ | |||
objectType: "formObjectEditConfig", | |||
storageResources: { | |||
dynamodb: { | |||
storageType: "dynamoDB", | |||
tableName: "FormObjectEditConfigMain", | |||
} | |||
}, | |||
fieldNames: { | |||
formObjectEditConfigId: { | |||
type: "string", | |||
randomOnCreate: true, | |||
requiredOnCreate: false, | |||
optionalOnCreate: false, | |||
canUpdate: false, | |||
storageResourceTags: ['dynamodb'], | |||
}, | |||
formObjectEditConfig: { | |||
type: "object", | |||
randomOnCreate: false, | |||
requiredOnCreate: true, | |||
optionalOnCreate: false, | |||
canUpdate: true, | |||
storageResourceTags: ['dynamodb'], | |||
}, | |||
formObjectEditConfigName: { | |||
type: "string", | |||
randomOnCreate: false, | |||
requiredOnCreate: true, | |||
optionalOnCreate: false, | |||
canUpdate: true, | |||
storageResourceTags: ['dynamodb'], | |||
}, | |||
userId: { // before put check with base-user-id or targetId | |||
type: "string", | |||
randomOnCreate: false, | |||
requiredOnCreate: true, | |||
optionalOnCreate: false, | |||
canUpdate: false, | |||
storageResourceTags: ['dynamodb'], | |||
}, | |||
}, | |||
identifiers: [ | |||
{ | |||
type: "partitionKey", | |||
fieldName:"formObjectEditConfigId" | |||
}, | |||
], | |||
}, | |||
] | |||
</syntaxhighlight> | |||
= DynamoDB tables = | = DynamoDB tables = | ||
| Line 63: | Line 121: | ||
formElementType: "data{same tableConfig}", | formElementType: "data{same tableConfig}", | ||
fieldName: "fieldName_1", | fieldName: "fieldName_1", | ||
displayOnly: | displaySetting: "xx", // "input"|"displayOnly" input is not available for calculatedData | ||
}, | |||
{ | |||
elementType: "calculatedField", | |||
fieldName: "xx" | |||
}, | |||
{ | |||
elementType: "recalculateDataLink", // links to any calculatedData for th objectType | |||
dataTag: "xx" | |||
}, | |||
{ | |||
elementType: "submitButton", | |||
text: "xx" | |||
}, | }, | ||
// want to add way to link to and output other linked to object (table for multiple, or plain fields for single) according to relationshipTypes | // want to add way to link to and output other linked to object (table for multiple, or plain fields for single) according to relationshipTypes | ||
Latest revision as of 02:29, 17 July 2025
Overview
Manages configuration for one form used to display or edit an existing object
Repository
https://bitbucket.org/izara-core-shared/izara-core-shared-formobjectedit-config
ObjectSchema
formObjectEditConfig
[
{
objectType: "formObjectEditConfig",
storageResources: {
dynamodb: {
storageType: "dynamoDB",
tableName: "FormObjectEditConfigMain",
}
},
fieldNames: {
formObjectEditConfigId: {
type: "string",
randomOnCreate: true,
requiredOnCreate: false,
optionalOnCreate: false,
canUpdate: false,
storageResourceTags: ['dynamodb'],
},
formObjectEditConfig: {
type: "object",
randomOnCreate: false,
requiredOnCreate: true,
optionalOnCreate: false,
canUpdate: true,
storageResourceTags: ['dynamodb'],
},
formObjectEditConfigName: {
type: "string",
randomOnCreate: false,
requiredOnCreate: true,
optionalOnCreate: false,
canUpdate: true,
storageResourceTags: ['dynamodb'],
},
userId: { // before put check with base-user-id or targetId
type: "string",
randomOnCreate: false,
requiredOnCreate: true,
optionalOnCreate: false,
canUpdate: false,
storageResourceTags: ['dynamodb'],
},
},
identifiers: [
{
type: "partitionKey",
fieldName:"formObjectEditConfigId"
},
],
},
]
DynamoDB tables
FormObjectEditConfigMain
{
formObjectEditConfigId: "xx", // {random uuid}
formObjectEditConfig: "xx", // json encoded object of configuration
formObjectEditConfigName: "yy", // user specified name of the config
userId: "xx"
}
- partition key: formObjectEditConfigId
- sort key: {none}
UsersFormObjectEditConfigs
{
userId: "xx" // user who owns the config
formObjectEditConfigId: "xx",
}
- partition key: userId
- sort key: formObjectEditConfigId
formObjectEditConfig Object
{
formName: "xx", // set by the creator of the form, displayed in setup pages
// grouping/row/cell/elements structure same tableConfig
// add css theme and overwrite settings
// standardize property names to match tableConfig structure (eg elementTypes)
rows: {
rowName: "xx",
groupings: [
{
groupingName: "xx",
rows: [
{
rowName: "xx",
cells: [
{
cellName: "xx",
elements: [
{
formElementType: "freeText", // freeText|data{same tableConfig}
text: "xxx",
},
{
formElementType: "data{same tableConfig}",
fieldName: "fieldName_1",
displaySetting: "xx", // "input"|"displayOnly" input is not available for calculatedData
},
{
elementType: "calculatedField",
fieldName: "xx"
},
{
elementType: "recalculateDataLink", // links to any calculatedData for th objectType
dataTag: "xx"
},
{
elementType: "submitButton",
text: "xx"
},
// want to add way to link to and output other linked to object (table for multiple, or plain fields for single) according to relationshipTypes
]
},
// ..
]
},
//...
],
},
//...
],
},
//...
}