Skip to content

Commit 4c1dfc8

Browse files
committed
feat: iOS apps receive autocompletion events
1 parent 09d1057 commit 4c1dfc8

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

ios/Sources/GutenbergKit/Sources/EditorJSMessage.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ struct EditorJSMessage {
3737
case showBlockPicker
3838
/// User requested the Media Library.
3939
case openMediaLibrary
40+
/// The user triggered an autocompleter.
41+
case onAutocompleterTriggered
4042
}
4143

4244
struct DidUpdateBlocksBody: Decodable {
@@ -51,4 +53,8 @@ struct EditorJSMessage {
5153
struct DidUpdateFeaturedImageBody: Decodable {
5254
let mediaID: Int
5355
}
56+
57+
struct AutocompleterTriggeredBody: Decodable {
58+
let type: String
59+
}
5460
}

ios/Sources/GutenbergKit/Sources/EditorViewController.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,9 @@ public final class EditorViewController: UIViewController, GutenbergEditorContro
326326
case .openMediaLibrary:
327327
let config = try message.decode(OpenMediaLibraryAction.self)
328328
openMediaLibrary(config)
329+
case .onAutocompleterTriggered:
330+
let body = try message.decode(EditorJSMessage.AutocompleterTriggeredBody.self)
331+
delegate?.editor(self, didTriggerAutocompleter: body.type)
329332
}
330333
} catch {
331334
fatalError("failed to decode message: \(error)")

ios/Sources/GutenbergKit/Sources/EditorViewControllerDelegate.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ public protocol EditorViewControllerDelegate: AnyObject {
3434
func editor(_ viewController: EditorViewController, didLogException error: GutenbergJSException)
3535

3636
func editor(_ viewController: EditorViewController, didRequestMediaFromSiteMediaLibrary config: OpenMediaLibraryAction)
37+
38+
/// Notifies the client that an autocompleter was triggered.
39+
///
40+
/// - parameter type: The type of autocompleter that was triggered (e.g., "plus-symbol", "at-mention").
41+
func editor(_ viewController: EditorViewController, didTriggerAutocompleter type: String)
3742
}
3843

3944
public struct EditorState {

0 commit comments

Comments
 (0)