forked from MapComplete/MapComplete
		
	Refactoring: introduction of global state to simplify getting common objects
This commit is contained in:
		
							parent
							
								
									afaaaaadb1
								
							
						
					
					
						commit
						004eead4ee
					
				
					 34 changed files with 532 additions and 506 deletions
				
			
		|  | @ -2,25 +2,29 @@ import {UIEventSource} from "./UIEventSource"; | |||
| import {UIElement} from "./UIElement"; | ||||
| import {VariableUiElement} from "./Base/VariableUIElement"; | ||||
| import Translations from "./i18n/Translations"; | ||||
| import {State} from "../State"; | ||||
| 
 | ||||
| /** | ||||
|  * Handles the full screen popup on mobile | ||||
|  */ | ||||
| export class FullScreenMessageBoxHandler { | ||||
|      | ||||
| 
 | ||||
|     private _uielement: UIEventSource<UIElement>; | ||||
| 
 | ||||
|     constructor(uielement: UIEventSource<UIElement>, | ||||
|                 onClear: (() => void)) { | ||||
|         this._uielement = uielement; | ||||
|         this.listenTo(uielement); | ||||
|     constructor(onClear: (() => void)) { | ||||
|         this._uielement = State.state.fullScreenMessage; | ||||
|         const self = this; | ||||
|         this._uielement.addCallback(function () { | ||||
|             self.update(); | ||||
|         }); | ||||
|          | ||||
|         this.update(); | ||||
| 
 | ||||
|         if (window !== undefined) { | ||||
|             window.onhashchange = function () { | ||||
|                 if (location.hash === "") { | ||||
|                     // No more element: back to the map!
 | ||||
|                     uielement.setData(undefined); | ||||
|                     self._uielement.setData(undefined); | ||||
|                     onClear(); | ||||
|                 } | ||||
|             } | ||||
|  | @ -28,7 +32,7 @@ export class FullScreenMessageBoxHandler { | |||
| 
 | ||||
|         Translations.t.general.returnToTheMap | ||||
|             .onClick(() => { | ||||
|                 uielement.setData(undefined); | ||||
|                 self._uielement.setData(undefined); | ||||
|                 onClear(); | ||||
|             }) | ||||
|             .AttachTo("to-the-map"); | ||||
|  | @ -36,13 +40,6 @@ export class FullScreenMessageBoxHandler { | |||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     listenTo(uiEventSource: UIEventSource<any>) { | ||||
|         const self = this; | ||||
|         uiEventSource.addCallback(function () { | ||||
|             self.update(); | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     update() { | ||||
|         const wrapper = document.getElementById("messagesboxmobilewrapper"); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue