import type { ColumnType, TableType, ViewType } from 'nocodb-sdk' import type { ComputedRef, InjectionKey, Ref } from 'vue' import type { EventHook } from '@vueuse/core' import type { useViewData } from '#imports' import type { Row, TabItem } from '~/lib' export const ActiveCellInj: InjectionKey> = Symbol('active-cell') export const IsPublicInj: InjectionKey> = Symbol('is-public') export const RowInj: InjectionKey> = Symbol('row') export const ColumnInj: InjectionKey> = Symbol('column-injection') export const MetaInj: InjectionKey> = Symbol('meta-injection') export const TabMetaInj: InjectionKey> = Symbol('tab-meta-injection') export const PaginationDataInj: InjectionKey['paginationData']> = Symbol('pagination-data-injection') export const ChangePageInj: InjectionKey['changePage']> = Symbol('pagination-data-injection') export const IsFormInj: InjectionKey> = Symbol('is-form-injection') export const IsGridInj: InjectionKey> = Symbol('is-grid-injection') export const IsGalleryInj: InjectionKey> = Symbol('is-gallery-injection') export const IsKanbanInj: InjectionKey> = Symbol('is-kanban-injection') export const IsLockedInj: InjectionKey> = Symbol('is-locked-injection') export const CellValueInj: InjectionKey> = Symbol('cell-value-injection') export const ActiveViewInj: InjectionKey> = Symbol('active-view-injection') export const ReadonlyInj: InjectionKey> = Symbol('readonly-injection') /** when bool is passed, it indicates if a loading spinner should be visible while reloading */ export const ReloadViewDataHookInj: InjectionKey> = Symbol('reload-view-data-injection') export const ReloadViewMetaHookInj: InjectionKey> = Symbol('reload-view-meta-injection') export const ReloadRowDataHookInj: InjectionKey> = Symbol('reload-row-data-injection') export const OpenNewRecordFormHookInj: InjectionKey> = Symbol('open-new-record-form-injection') export const FieldsInj: InjectionKey> = Symbol('fields-injection') export const EditModeInj: InjectionKey> = Symbol('edit-mode-injection') export const SharedViewPasswordInj: InjectionKey> = Symbol('shared-view-password-injection') export const CellUrlDisableOverlayInj: InjectionKey> = Symbol('cell-url-disable-url') export const DropZoneRef: InjectionKey> = Symbol('drop-zone-ref') export const ToggleDialogInj: InjectionKey = Symbol('toggle-dialog-injection') export const CellClickHookInj: InjectionKey | undefined> = Symbol('cell-click-injection')