Master data
Backend
1. ItemSizeMaster
ensure spreadsheet: ItemSizeMaster
withFields: ["Size", "Stock"]
ofTypes: [text, logNumber]
removeRoleSet: [Owner]
insertRoleSet: [Owner]
updateRoleSet: [Owner]
readRoleSet: [Owner]
ensure layoutSpreadsheet ListLayout kind: list
filter.showSearchBar: true
firstLine.first.lineFields: [Size]
ensure spreadsheet ItemSizeMaster searchables: [Size]
ensure form EntityItemSize label: "Tile Size"
2. ItemTypeMaster
ensure spreadsheet: ItemTypeMaster
withFields: ["Type", "Stock"]
ofTypes: [text, logNumber]
removeRoleSet: [Owner]
insertRoleSet: [Owner]
updateRoleSet: [Owner]
readRoleSet: [Owner]
ensure layoutSpreadsheet ListLayout kind: list
filter.showSearchBar: true
firstLine.first.lineFields: [Type]
ensure spreadsheet ItemTypeMaster searchables: [Type]
ensure form EntityItemType label: "Tile Type"
3. ItemMaster
ensure spreadsheet: ItemMaster
withFields: ["Name", "Description", "Price"]
ofTypes: [text, paragraph, number]
removeRoleSet: [Owner]
insertRoleSet: [Owner]
updateRoleSet: [Owner]
readRoleSet: [Owner]
ensure form EntityItem label: "Tile"
ensure section: Details
ensure field Description lineCount: 5
ensure field Price prefix: "₹"
ensure field ItemTypeRef kind: ref
spreadsheet: ItemTypeMaster
layoutSpreadsheet: ListLayout
copyFieldMap: {
'ItemTypeMasterRowId': '$RowId',
'ItemType': 'Type'
}
ensure field ItemSizeRef kind: ref
spreadsheet: ItemSizeMaster
layoutSpreadsheet: ListLayout
copyFieldMap: {
'ItemSizeMasterRowId': '$RowId',
'ItemSize': 'Size'
}
ensure spreadsheet ItemMaster
searchables: [Name, Price, ItemType, ItemSize]
queryables: [ItemTypeMasterRowId, ItemSizeMasterRowId, Price, ItemType, ItemSize]
ensure layoutSpreadsheet ListLayout kind: list
filter.kind: tree
filter.showSearchBar: true
filter.categoryFields: [Details.ItemTypeRef, Details.ItemSizeRef]
filter.advanceFilterFields: [Details.Price]
firstLine.first.lineFields: [Details.Name]
secondLine.first.lineFields: [Details.Price]
secondLine.first.showLabels: true
thirdLine.first.lineFields: [Details.ItemType, Details.ItemSize]
thirdLine.first.showLabels: true
ensure layoutSpreadsheet TableLayout kind: table
showComps: [Name, Description, Price, ItemType, ItemSize]
columnSizeSet: ["AutoSize"]
Frontend
1. Actions
a. EditItemSizeMaster
// this action will allow you to edit or add new size
ensure action EditItemSizeMaster kind: spreadsheetEditor
icon: "CategoryRounded"
spreadsheet: ItemSizeMaster
layoutSpreadsheet: ListLayout
bulkInsertRoleSet: [Owner]
b. EditItemTypeMaster
ensure action EditItemTypeMaster kind: spreadsheetEditor
icon: "CategoryRounded"
spreadsheet: ItemTypeMaster
layoutSpreadsheet: ListLayout
bulkInsertRoleSet: [Owner]
c. EditItemMaster
ensure action EditItemMaster kind: spreadsheetEditor
icon: "FeaturedPlayListRounded"
spreadsheet: ItemMaster
layoutSpreadsheet: TableLayout
bulkInsertRoleSet: [Owner]
2. Group actions
ensure group MasterData
pinnedActions: [EditItemMaster]
actionPermission: {
'EditItemTypeMaster': {
'roles': [
'Owner'
]
},
'EditItemSizeMaster': {
'roles': [
'Owner'
]
},
'EditItemMaster': {
'roles': [
'Owner'
]
}
}