import { EventEmitter } from '../../stencil-public-runtime'; import { DataUnit } from '@sankhyalabs/core'; import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces'; import { IStatusResolver, StatusResolverFunction } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController'; import { ICustomFormatter, ISelectionToastConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces'; import { DataState } from '../snk-data-unit/snk-data-unit'; import { Action, TaskbarManager } from '../snk-taskbar/snk-taskbar'; import { PresentationMode } from '../../lib'; import { VIEW_MODE } from '../../lib/utils/constants'; import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder'; import { ICustomRender, ICustomEditor } from '@sankhyalabs/ezui/dist/types/utils'; import { IExporterStrategyMode } from '../snk-data-exporter/interfaces/IRecordID'; export declare class SnkCrud { _viewStack: HTMLEzViewStackElement; _snkConfigurator: HTMLSnkConfiguratorElement; _snkAttach: HTMLSnkAttachElement; _snkDataUnit: HTMLSnkDataUnitElement; _snkGrid: HTMLSnkGridElement; _guidesViewer: HTMLSnkGuidesViewerElement; _backToGrid: boolean; private _application; private _viewHistory; private _customEditors; private _customRenders; private _keyboardManager; _element: HTMLElement; _dataUnit: DataUnit; _dataState: DataState; attachmentRegisterKey: string; _currentViewMode: VIEW_MODE; _canEdit: boolean; _resourceID: string; /** * Define se o componente deve usar o LockManager para controle de carregamento da aplicação */ enableLockManagerLoadingComp?: boolean; /** * Ativa o gerenciamento de locks na grade pela Taskbar. */ enableLockManagerTaskbarClick?: boolean; /** * Usado para salvar as configurações dos blocos de construção. */ configName: string; /** * Título que será apresentado na barra de filtros */ filterBarTitle: string; /** * Configuração da seleção de grade no toast. */ selectionToastConfig: ISelectionToastConfig; /** * Usado para exibir os botões de ação do snk-configurator */ showActionButtons: boolean; /** * Ações a serem colocadas no botão "Mais opções" do componente snk-taskbar. */ actionsList: Array; /** * Gerenciador das barras de tarefas. É possível determinar botões específicos * ou mesmo gerenciar o estado dos botões. */ taskbarManager: TaskbarManager; /** * Validador responsável por checar a integridade das informações do registro. */ recordsValidator: IRecordValidator; /** * Configuração do valor da coluna de status. * Exemplo: { "RECDESP": { "-1" : "#BD0025", "1" : "#157A00" } } */ statusResolver: IStatusResolver | StatusResolverFunction; /** * Determina se pode haver mais de uma linha selecionada na grade. */ multipleSelection: boolean; /** * Altera o modo de apresentação dos botões do snk-taskbar. */ presentationMode: PresentationMode; /** * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção. */ messagesBuilder: SnkMessageBuilder; /** * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade. */ useEnterLikeTab: boolean; /** * Chave da configuração legado da grade. */ gridLegacyConfigName: string; /** * Chave da configuração legado da barra de filtros. */ filterBarLegacyConfigName: string; /** * Chave da configuração legado do formulário. */ formLegacyConfigName: string; /** * Desabilita a apresentação da opção de filtros personalizados na filter bar (chip de filtros) * e no modal lateral de filtros (container de filtros personalizados). */ disablePersonalizedFilter: boolean; /** * Define se a carga dos dados será feita assim que o componente for carregado. */ autoLoad?: boolean; /** * Define se a grid será focada ao ser carregada. */ autoFocus?: boolean; /** * Ativa inserção de registros no modo grade. */ enableGridInsert?: boolean; /** * Define a chave customizada para sobrescrever as mensagens (Não pegando pela entidade) */ domainMessagesBuilder: string; /** * Ignora os campos "somente leitura" no modo de inserção. */ ignoreReadOnlyFormFields?: boolean; /** * Define uma função para configurar um título cusotmizado no modo formulário. */ setCustomFormTitle: () => string; /** * Modo de exportação dos dados. */ strategyExporter: IExporterStrategyMode; /** * Define se o LayoutFormConfig será exibido no configurador. */ layoutFormConfig: boolean; /** * Habilita a edição de múltiplos registros simultâneos. */ multipleEditionEnabled: boolean; /** * Define se a grid será focada ao ser carregada. */ paginationCounterMode?: 'show' | 'hidden' | 'auto'; customContainerId: string; /** * Emitido pela taskbar sempre que houver click de botão ou ação. */ actionClick: EventEmitter; /** * Emitido quando salva a configuração no configurator do CRUD. */ configuratorSave: EventEmitter; /** * Emitido quando cancela o salvamento da configuração no configurator do CRUD. */ configuratorCancel: EventEmitter; /** * Responsável por notificar quando ocorrer a renderização de itens do formulário. */ formItemsReady: EventEmitter>; viewModeChanged: EventEmitter; /** * Usado para alternar a visão entre GRID e FORM externamente. */ goToView(mode: string): Promise; /** * Usado para abrir o configurator do CRUD */ openConfigurator(): Promise; /** * Usado para fechar o configurator do CRUD */ closeConfigurator(): Promise; /** * Faz o recarregamento da filter-bar do crud, buscando o state no servidor. */ reloadFilterBar(): Promise; /** * Retorna o elemento da filter-bar da grade. */ getFilterBar(): Promise; /** * Registra um editor customizado para campos da grade e formulário. */ addCustomEditor(fieldName: string, customEditor: ICustomEditor): Promise; /** * Registra um render customizado para colunas da grid. */ addGridCustomRender(fieldName: string, customRender: ICustomRender): Promise; /** * Registra um formatador de valores para uma coluna da grid. */ addCustomValueFormatter(columnName: string, customFormatter: ICustomFormatter): Promise; /** * Remove o formatador de valores de uma coluna da grid. */ removeCustomValueFormatter(columnName: string): Promise; /** * Altera/adiciona uma propriedade nos metadados do campo. */ setFieldProp(fieldName: string, propName: string, value: any): Promise; currentViewModeWatcher(currentView: VIEW_MODE): void; gridToForm(keepFormMode?: boolean): Promise; executeAction(act: string): Promise; private backView; private setViewMode; private openConfig; private addDataElementID; insertionModeHandler(): void; cancelHandler(): void; private getAttachmentRegisterKey; private setCustomRenders; private setCustomEditors; componentDidRender(): void; componentWillLoad(): void; componentDidLoad(): void; disconnectedCallback(): void; private handleDataStateChange; private initKeyboardManager; private getMessage; private removeShortcuts; private toggleView; private initDataUnit; private handleConfiguratorEvent; render(): any; }