forked from MapComplete/MapComplete
		
	More fixes to the refactored code
This commit is contained in:
		
							parent
							
								
									42d13f564c
								
							
						
					
					
						commit
						94f9a0de56
					
				
					 15 changed files with 78 additions and 82 deletions
				
			
		|  | @ -9,49 +9,47 @@ import {Tag} from "../../Logic/Tags/Tag"; | |||
| import BaseUIElement from "../BaseUIElement"; | ||||
| 
 | ||||
| 
 | ||||
| export default class DeleteImage extends UIElement { | ||||
|     private readonly key: string; | ||||
|     private readonly tags: UIEventSource<any>; | ||||
| 
 | ||||
|     private readonly isDeletedBadge: BaseUIElement; | ||||
|     private readonly deleteDialog: BaseUIElement; | ||||
| export default class DeleteImage extends Toggle { | ||||
| 
 | ||||
|     constructor(key: string, tags: UIEventSource<any>) { | ||||
|         super(tags); | ||||
|         this.tags = tags; | ||||
|         this.key = key; | ||||
| 
 | ||||
|         this.isDeletedBadge = Translations.t.image.isDeleted; | ||||
|         const oldValue = tags.data[key] | ||||
|         const isDeletedBadge = Translations.t.image.isDeleted.Clone() | ||||
|             .SetClass("rounded-full p-1") | ||||
|             .SetStyle("color:white;background:#ff8c8c") | ||||
|             .onClick(() => { | ||||
|                 State.state?.changes?.addTag(tags.data.id, new Tag(key, oldValue), tags); | ||||
|             }); | ||||
| 
 | ||||
|         const deleteButton = Translations.t.image.doDelete.Clone() | ||||
|             .SetClass("block w-full pl-4 pr-4") | ||||
|             .SetStyle("color:white;background:#ff8c8c; border-top-left-radius:30rem; border-top-right-radius: 30rem;") | ||||
|             .onClick(() => { | ||||
|                 State.state?.changes.addTag(tags.data.id, new Tag(key, "")); | ||||
|                 State.state?.changes?.addTag(tags.data.id, new Tag(key, ""), tags); | ||||
|             }); | ||||
| 
 | ||||
|         const cancelButton = Translations.t.general.cancel.SetClass("bg-white pl-4 pr-4").SetStyle( "border-bottom-left-radius:30rem; border-bottom-right-radius: 30rem;"); | ||||
|         this.deleteDialog = new Toggle( | ||||
|         const cancelButton = Translations.t.general.cancel.Clone().SetClass("bg-white pl-4 pr-4").SetStyle("border-bottom-left-radius:30rem; border-bottom-right-radius: 30rem;"); | ||||
|         const openDelete = Svg.delete_icon_svg().SetStyle("width: 2em; height: 2em; display:block;") | ||||
|         const deleteDialog = new Toggle( | ||||
|             new Combine([ | ||||
|                 deleteButton, | ||||
|                 cancelButton | ||||
|             ]).SetClass("flex flex-col background-black"), | ||||
|             Svg.delete_icon_svg().SetStyle("width: 2em; height: 2em; display:block;") | ||||
|         ).ToggleOnClick() | ||||
|             openDelete | ||||
|         ) | ||||
| 
 | ||||
|     } | ||||
|         cancelButton.onClick(() => deleteDialog.isEnabled.setData(false)) | ||||
|         openDelete.onClick(() => deleteDialog.isEnabled.setData(true)) | ||||
| 
 | ||||
|     InnerRender() { | ||||
|         if(! State.state?.featureSwitchUserbadge?.data){ | ||||
|             return ""; | ||||
|         } | ||||
| 
 | ||||
|         const value = this.tags.data[this.key]; | ||||
|         if (value === undefined || value === "") { | ||||
|             return this.isDeletedBadge; | ||||
|         } | ||||
| 
 | ||||
|         return this.deleteDialog; | ||||
|         super( | ||||
|             new Toggle( | ||||
|                 deleteDialog, | ||||
|                 isDeletedBadge, | ||||
|                 tags.map(tags => (tags[key] ?? "") !== "") | ||||
|             ), | ||||
|             undefined /*Login (and thus editing) is disabled*/, | ||||
|             State.state?.featureSwitchUserbadge ?? new UIEventSource<boolean>(true) | ||||
|         ) | ||||
|         this.SetClass("cursor-pointer") | ||||
|     } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue