types.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import {
  2. IDashboardRaw,
  3. IDashboardItem,
  4. IDashboard,
  5. IDashboardItemInfo
  6. } from 'app/containers/Dashboard/types'
  7. import { DashboardItemStatus } from './constants'
  8. import { IWidgetRaw, IWidgetFormed } from 'app/containers/Widget/types'
  9. import { IShareFormedViews, IView } from 'app/containers/View/types'
  10. import { IDownloadRecord } from 'app/containers/App/types'
  11. export interface IShareWidgetRaw extends IWidgetRaw {
  12. dataToken: string
  13. }
  14. export interface IShareDashboardDetailRaw extends IDashboardRaw {
  15. widgets: IShareWidgetRaw[]
  16. views: IView[]
  17. relations: IDashboardItem[]
  18. }
  19. export interface IShareWidgetDetailRaw {
  20. widget: IShareWidgetRaw
  21. views: IView[]
  22. }
  23. export interface IShareDashboardItemInfo
  24. extends Omit<
  25. IDashboardItemInfo,
  26. 'shareToken' | 'authorizedShareToken' | 'shareLoading' | 'rendered'
  27. > {
  28. status: DashboardItemStatus
  29. }
  30. export interface IShareDashboardState {
  31. dashboard: IDashboard
  32. title: string
  33. widgets: IWidgetFormed[]
  34. formedViews: IShareFormedViews
  35. items: IDashboardItem[]
  36. itemsInfo: {
  37. [itemId: string]: IShareDashboardItemInfo
  38. }
  39. downloadListLoading: boolean
  40. downloadList: IDownloadRecord[]
  41. downloadListInfo: {
  42. [itemId: number]: {
  43. loading: boolean
  44. }
  45. }
  46. shareParams: object
  47. fullScreenPanelItemId: number
  48. }