Skip to content

Commit b8d37fd

Browse files
committed
Update GutenbergKit for the demo app
1 parent 50f1b1d commit b8d37fd

File tree

3 files changed

+44
-26
lines changed

3 files changed

+44
-26
lines changed

ios/Demo-iOS/Gutenberg.xcodeproj/project.pbxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
buildRules = (
123123
);
124124
dependencies = (
125+
245D6BE42EDFCD640076D741 /* PBXTargetDependency */,
125126
);
126127
fileSystemSynchronizedGroups = (
127128
2468525B2EAAC62B00ED1F09 /* Views */,
@@ -197,6 +198,13 @@
197198
};
198199
/* End PBXSourcesBuildPhase section */
199200

201+
/* Begin PBXTargetDependency section */
202+
245D6BE42EDFCD640076D741 /* PBXTargetDependency */ = {
203+
isa = PBXTargetDependency;
204+
productRef = 245D6BE32EDFCD640076D741 /* GutenbergKit */;
205+
};
206+
/* End PBXTargetDependency section */
207+
200208
/* Begin XCBuildConfiguration section */
201209
0C4F59972BEFF4980028BD96 /* Debug */ = {
202210
isa = XCBuildConfiguration;
@@ -431,6 +439,10 @@
431439
isa = XCSwiftPackageProductDependency;
432440
productName = GutenbergKit;
433441
};
442+
245D6BE32EDFCD640076D741 /* GutenbergKit */ = {
443+
isa = XCSwiftPackageProductDependency;
444+
productName = GutenbergKit;
445+
};
434446
/* End XCSwiftPackageProductDependency section */
435447
};
436448
rootObject = 0C4F59832BEFF4970028BD96 /* Project object */;

ios/Demo-iOS/Sources/Views/AppRootView.swift

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,10 @@ struct AppRootView: View {
4141
.onChange(of: self.selectedConfiguration) { oldValue, newValue in
4242
switch newValue {
4343
case .bundledEditor:
44-
let config = createBundledConfiguration()
45-
activeEditorConfiguration = config
44+
activeEditorConfiguration = EditorConfiguration.bundled
45+
.toBuilder()
46+
.setNativeInserterEnabled(self.isNativeInserterEnabled)
47+
.build()
4648
case .editorConfiguration(let config):
4749
self.loadEditorConfiguration(for: config)
4850
case .none:
@@ -65,9 +67,10 @@ struct AppRootView: View {
6567
private func loadEditorConfiguration(for config: ConfiguredEditor) {
6668
Task {
6769
do {
70+
let parsedApiRoot = try ParsedUrl.parse(input: config.siteApiRoot)
6871
let client = WordPressAPI(
6972
urlSession: .shared,
70-
apiRootUrl: try ParsedUrl.parse(input: config.siteApiRoot),
73+
apiRootUrl: parsedApiRoot,
7174
authentication: .authorizationHeader(token: config.authHeader)
7275
)
7376

@@ -76,16 +79,18 @@ struct AppRootView: View {
7679
let canUsePlugins = apiRoot.hasRoute(route: "/wpcom/v2/editor-assets")
7780
let canUseEditorStyles = apiRoot.hasRoute(route: "/wp-block-editor/v1/settings")
7881

79-
self.activeEditorConfiguration = EditorConfigurationBuilder()
80-
.setShouldUseThemeStyles(canUseEditorStyles)
81-
.setShouldUsePlugins(canUsePlugins)
82-
.setSiteUrl(config.siteUrl)
83-
.setSiteApiRoot(config.siteApiRoot)
84-
.setAuthHeader(config.authHeader)
85-
.setNativeInserterEnabled(isNativeInserterEnabled)
86-
.setLogLevel(.debug)
87-
.setEnableNetworkLogging(true)
88-
.build()
82+
self.activeEditorConfiguration = EditorConfigurationBuilder(
83+
postType: "post",
84+
siteURL: URL(string: apiRoot.siteUrlString())!,
85+
siteApiRoot: parsedApiRoot.asURL()
86+
)
87+
.setShouldUseThemeStyles(canUseEditorStyles)
88+
.setShouldUsePlugins(canUsePlugins)
89+
.setAuthHeader(config.authHeader)
90+
.setNativeInserterEnabled(isNativeInserterEnabled)
91+
.setLogLevel(.debug)
92+
.setEnableNetworkLogging(true)
93+
.build()
8994
} catch {
9095
self.hasError = true
9196
self.error = AppError(errorDescription: error.localizedDescription)
@@ -97,17 +102,6 @@ struct AppRootView: View {
97102
configurations.removeAll { $0.id == config.id }
98103
configurationStorage.saveConfigurations(configurations)
99104
}
100-
101-
private func createBundledConfiguration() -> EditorConfiguration {
102-
EditorConfigurationBuilder()
103-
.setShouldUsePlugins(false)
104-
.setSiteUrl("")
105-
.setSiteApiRoot("")
106-
.setAuthHeader("")
107-
.setNativeInserterEnabled(isNativeInserterEnabled)
108-
.setEnableNetworkLogging(true)
109-
.build()
110-
}
111105
}
112106

113107
struct AppError: LocalizedError {

ios/Demo-iOS/Sources/Views/EditorView.swift

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ private struct _EditorView: UIViewControllerRepresentable {
108108
let viewController = EditorViewController(configuration: configuration)
109109
viewController.delegate = context.coordinator
110110
viewController.webView.isInspectable = true
111-
viewController.startEditorSetup()
112111

113112
viewModel.perform = { [weak viewController] in
114113
switch $0 {
@@ -227,6 +226,19 @@ private final class EditorViewModel {
227226

228227
#Preview {
229228
NavigationStack {
230-
EditorView(configuration: .default)
229+
EditorView(configuration: .bundled)
231230
}
232231
}
232+
233+
extension EditorConfiguration {
234+
static let bundled = EditorConfigurationBuilder(
235+
postType: "post",
236+
siteURL: URL(string: "https://example.com")!,
237+
siteApiRoot: URL(string: "https://example.com/wp-json")!
238+
)
239+
.setShouldUsePlugins(false)
240+
.setAuthHeader("")
241+
.setNativeInserterEnabled(true)
242+
.setIsOfflineModeEnabled(true)
243+
.build()
244+
}

0 commit comments

Comments
 (0)