Saltar al contenido principal

PageStructure


interface PageStructure {
_id?: string,
typeId: string,
name: string, // nombre de la pagina
cols: string[], // columnas
visible?: boolean, // es visible?
filter?: FilterStructureLevelsI | FiltersArrayI, // filtros
// this field is for a page, for example cuota, where cuota is in multiple paths in the same time
idsOfMultipleNodesToSearch?: string[],
icon?: string, // icono de la pagina
colsExternalReferences?: string[], // no se usa
structureLevels: StructureLevels, // marca la jerarquía del árbol, ver StructureLevels
smartFormLevels: StructureLevels, // marca la jerarquía del smart form para crear un nuevo elemento, ver StructureLevels
filtersLevels?: StructureLevels, // marca la jerarquía para los filtros
fixedFilter?: { // filtro personalizado
active?: boolean,
filterType?: 'customMongoFilter' | 'normalFilter'
normalFilter?: any,
customMongoFilter?: string,
variables?: {
[key: string]: PropertyQueryOptionsI
}
},
pageButtons?: PageButtonI[], // los botones de la página
itemsPerPage?: { // la cantidad de elementos por página
enabled?: boolean, // if true, the users can change the number of items per page
value?: number, // the default value
max?: number, // the max value
},
views?: { // las diferentes vistas para esa página
kanban: {
enabled: boolean,
titlePropertyId: string, // the property that will be shown in the kanban card title
propertyIdToTakeOptionsState: string, // the property that will be used to take the options states
allStatesValues: string[], // the values of the states that will be shown in the kanban
},
gallery: {
enabled: boolean,
},
table: {
enabled: boolean,
},
calendar: {
enabled: boolean,
propertyIdToTakeDate: string, // the property that will be used to take the date
},
grid: {
enabled: boolean,
}
}
// only in frontend
searchInputString?: string,
orderByColumn?: string, // {'cliente.name': 1}
}