index.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { stackFactory, flatStacksValue, strToParams } from '@/utils'
  2. import { ref } from 'vue'
  3. import type { Model, TaggingPosition } from '@/store'
  4. export const viewModeStack = stackFactory(ref<'full' | 'auto'>('auto'))
  5. export const showToolbarStack = stackFactory(ref<boolean>(false))
  6. export const showRightPanoStack = stackFactory(ref<boolean>(true))
  7. export const showLeftPanoStack = stackFactory(ref<boolean>(false))
  8. export const showLeftCtrlPanoStack = stackFactory(ref<boolean>(true))
  9. export const showRightCtrlPanoStack = stackFactory(ref<boolean>(true))
  10. export const showTaggingsStack = stackFactory(ref<boolean>(true))
  11. export const currentModelStack = stackFactory(ref<Model | null>(null))
  12. export const showModelsMapStack = stackFactory(ref<Map<Model, boolean>>(new Map))
  13. export const showModelsChangeStoreStack = stackFactory(ref<boolean>(false))
  14. export const showTaggingPositionsStack = stackFactory(ref<WeakSet<TaggingPosition>>(new WeakSet()))
  15. // export const showModelsChangeStoreStack = stackFactory
  16. export const custom = flatStacksValue({
  17. viewMode: viewModeStack,
  18. showToolbar: showToolbarStack,
  19. showRightPano: showRightPanoStack,
  20. showLeftPano: showLeftPanoStack,
  21. showLeftCtrlPano: showLeftCtrlPanoStack,
  22. shwoRightCtrlPano: showRightCtrlPanoStack,
  23. showTaggings: showTaggingsStack,
  24. currentModel: currentModelStack,
  25. showModelsMap: showModelsMapStack,
  26. showModelsChangeStore: showModelsChangeStoreStack,
  27. showTaggingPositions: showTaggingPositionsStack
  28. })
  29. export const params = strToParams(location.search) as Params
  30. export type Params = {
  31. m: string,
  32. id: string,
  33. token?: string
  34. }