Blame view

天文台pc/tianwentai-ui/node_modules/react-dnd-html5-backend/src/OptionsReader.ts 933 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  import type { HTML5BackendContext, HTML5BackendOptions } from './types.js'
  
  export class OptionsReader {
  	public ownerDocument: Document | null = null
  	private globalContext: HTML5BackendContext
  	private optionsArgs: HTML5BackendOptions | undefined
  
  	public constructor(
  		globalContext: HTML5BackendContext,
  		options?: HTML5BackendOptions,
  	) {
  		this.globalContext = globalContext
  		this.optionsArgs = options
  	}
  
  	public get window(): Window | undefined {
  		if (this.globalContext) {
  			return this.globalContext
  		} else if (typeof window !== 'undefined') {
  			return window
  		}
  		return undefined
  	}
  
  	public get document(): Document | undefined {
  		if (this.globalContext?.document) {
  			return this.globalContext.document
  		} else if (this.window) {
  			return this.window.document
  		} else {
  			return undefined
  		}
  	}
  
  	public get rootElement(): Node | undefined {
  		return this.optionsArgs?.rootElement || this.window
  	}
  }