mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Don't focus on option text when losing focus
This commit is contained in:
@@ -23,7 +23,7 @@ class CreatePollOptionItem: ListViewItem, ItemListItem {
|
||||
let editing: CreatePollOptionItemEditing
|
||||
let sectionId: ItemListSectionId
|
||||
let setItemIdWithRevealedOptions: (Int?, Int?) -> Void
|
||||
let updated: (String) -> Void
|
||||
let updated: (String, Bool) -> Void
|
||||
let next: (() -> Void)?
|
||||
let delete: (Bool) -> Void
|
||||
let canDelete: Bool
|
||||
@@ -31,7 +31,7 @@ class CreatePollOptionItem: ListViewItem, ItemListItem {
|
||||
let toggleSelected: () -> Void
|
||||
let tag: ItemListItemTag?
|
||||
|
||||
init(presentationData: ItemListPresentationData, id: Int, placeholder: String, value: String, isSelected: Bool?, maxLength: Int, editing: CreatePollOptionItemEditing, sectionId: ItemListSectionId, setItemIdWithRevealedOptions: @escaping (Int?, Int?) -> Void, updated: @escaping (String) -> Void, next: (() -> Void)?, delete: @escaping (Bool) -> Void, canDelete: Bool, focused: @escaping (Bool) -> Void, toggleSelected: @escaping () -> Void, tag: ItemListItemTag?) {
|
||||
init(presentationData: ItemListPresentationData, id: Int, placeholder: String, value: String, isSelected: Bool?, maxLength: Int, editing: CreatePollOptionItemEditing, sectionId: ItemListSectionId, setItemIdWithRevealedOptions: @escaping (Int?, Int?) -> Void, updated: @escaping (String, Bool) -> Void, next: (() -> Void)?, delete: @escaping (Bool) -> Void, canDelete: Bool, focused: @escaping (Bool) -> Void, toggleSelected: @escaping () -> Void, tag: ItemListItemTag?) {
|
||||
self.presentationData = presentationData
|
||||
self.id = id
|
||||
self.placeholder = placeholder
|
||||
@@ -182,7 +182,7 @@ class CreatePollOptionItemNode: ItemListRevealOptionsItemNode, ItemListItemNode,
|
||||
}
|
||||
|
||||
func editableTextNodeDidFinishEditing(_ editableTextNode: ASEditableTextNode) {
|
||||
self.editableTextNodeDidUpdateText(editableTextNode)
|
||||
self.internalEditableTextNodeDidUpdateText(editableTextNode, isLosingFocus: true)
|
||||
self.item?.focused(false)
|
||||
}
|
||||
|
||||
@@ -213,6 +213,10 @@ class CreatePollOptionItemNode: ItemListRevealOptionsItemNode, ItemListItemNode,
|
||||
}
|
||||
|
||||
func editableTextNodeDidUpdateText(_ editableTextNode: ASEditableTextNode) {
|
||||
self.internalEditableTextNodeDidUpdateText(editableTextNode, isLosingFocus: false)
|
||||
}
|
||||
|
||||
private func internalEditableTextNodeDidUpdateText(_ editableTextNode: ASEditableTextNode, isLosingFocus: Bool) {
|
||||
if let item = self.item {
|
||||
let text = self.textNode.attributedText ?? NSAttributedString()
|
||||
|
||||
@@ -226,11 +230,11 @@ class CreatePollOptionItemNode: ItemListRevealOptionsItemNode, ItemListItemNode,
|
||||
if text.string != updatedAttributedText.string {
|
||||
self.textNode.attributedText = updatedAttributedText
|
||||
}
|
||||
item.updated(updatedText)
|
||||
item.updated(updatedText, !isLosingFocus && editableTextNode.isFirstResponder())
|
||||
if hadReturn {
|
||||
if let next = item.next {
|
||||
next()
|
||||
} else {
|
||||
} else if !isLosingFocus {
|
||||
editableTextNode.resignFirstResponder()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user