Saltar al contenido principal

Parámetro trigger del Plugin

Este parámetro es este: async function totalumPlugin(trigger, modules)

type TotalumTriggersTypes = 'onPageButtonClicked' | 'onElementButtonClicked' | 'onGetTableDataFilters'
| 'onGetTableData' | 'onBeforeFilterLoad' | 'smartFormBeforeOnAddUpdate' | 'beforeExpandRow'
| 'beforeTreeElementIsCreated' | 'afterTreeIsShowed' | 'smartFormAfterOnAddUpdate' | 'beforeSmartFormLoad';

type TotalumActionsTypes = 'setTableData' | 'setFiltersBeforeLoad' | 'isSmartFormValidBeforeUpdate'
| 'setRowExpandedDataBeforeExpand' | 'editTreeElement' | 'updateTreeElementStyle' | 'reloadSmartForm';

type TotalumContextTypes = 'table' | 'table-filter' | 'table-rowExpanded' | 'tree';

interface TotalumTriggerI {
triggerType: TotalumTriggersTypes, // tipo de trigger
context: TotalumContextTypes, // el contexto donde se ha ejecutado
timestamp?: Date, // cuando se ha ejecutado
data: {
user?: UserI, // el usuario que está realizando la acción
structure?: {
currentPageStructure?: PageStructure, // la estructura de la página (ves a PageStructure en interfaces para verlo)
pagesStructures?: PageStructure[], // todas las páginas de este Totalum
dataStructures?: DataStructure[], // todas las estructuras de datos (las que has creado en el Estructurador de Elementos)
limitPerPage?: number // límite de elementos por página
},
rowExpanded?: { // la row expandida, es decir cuando le das a un elemento y se expande todos sus campos
dataRow: DataValues, // la información del elemento de esa row expandida (ves a DataValues en interfaces para verlo)
colsValues: ColsValues, // cada fila de la tabla es un ColsValues, ahí tienes todos los valores y opciones extras (ves a ColsValues en interfaces para verlo)
index: number // el índice de esa row
},
table?: { // la tabla
pageData: DataValues[], // todos los elementos visibles de la tabla
colsValues: ColsValues[], // las rows (que son los elementos pero estructurados en columnas)
cols?: string[] // las columnas de la página
},
filters?: { // los filtros de la página
query?: FilterSearchQueryI, // la query generada por el filtro
customMongoFilter?: { // esto es para poner un custom filter de mongo, muy útil para simplificar filtros
query?: string,
variables?: {
[key: string]: PropertyQueryOptionsI;
}
}
},
currentUser?: UserI, /// el usuario actual
smartForm?: { // el smartForm
smartForm?: SmartFormElement[] // el smartForm se compone de elementos (que son los campos), ves a SmartFormElement a interfaces para verla mejor
firstSmartForm?: SmartFormElement[],
insertedObjectId?: string, // la id del objeto insertado
item?: {id: string, typeId: string}, // esto es para el trigger 'beforeSmartFormLoad' para obtener el elemento antes de que se cargue el smartForm
},
tree?: { // arbol de elementos d ela izquierda de la row
treeElement?: { // elemento del tree
html: string, // su html (con colores y todo)
obj: DataValues // el propio elemento
},
fullTree?: string,
elements?: DataValues
}
}
}