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
        }
    }
}