import { debounceTime, distinctUntilChanged } from 'rxjs/operators'
import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild } from '@angular/core'
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'
-import { MarkdownService } from '@app/core'
+import { MarkdownService, ScreenService } from '@app/core'
@Component({
selector: 'my-markdown-textarea',
previewHTML = ''
isMaximized = false
+ maximizeInText = $localize`Maximize editor`
+ maximizeOutText = $localize`Exit maximized editor`
+
private contentChanged = new Subject<string>()
private scrollPosition: [number, number]
constructor (
private viewportScroller: ViewportScroller,
+ private screenService: ScreenService,
private markdownService: MarkdownService
) { }
this.isMaximized = !this.isMaximized
// Make sure textarea have the focus
- this.textareaElement.nativeElement.focus()
+ // Except on touchscreens devices, the virtual keyboard may move up and hide the textarea in maximized mode
+ if (!this.screenService.isInTouchScreen()) {
+ this.textareaElement.nativeElement.focus()
+ }
// Make sure the window has no scrollbars
if (!this.isMaximized) {