From 509f05cd104dacf6099daeb71f46fa3be9720e96 Mon Sep 17 00:00:00 2001 From: Azuma Kasumi Date: Thu, 31 Mar 2022 10:22:34 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E6=89=BF=E8=AA=8D=E5=BE=85=E3=81=A1?= =?UTF-8?q?=E3=82=A6=E3=82=A3=E3=82=B8=E3=82=A7=E3=83=83=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcschemes/WidgetExtension.xcscheme | 4 +- .../WidgetExtension/WidgetExtension.swift | 84 +++++++++++++++---- 2 files changed, 72 insertions(+), 16 deletions(-) diff --git a/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme b/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme index 6f1eca6..0cb5b29 100644 --- a/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme +++ b/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme @@ -80,8 +80,8 @@ + value = "Approval" + isEnabled = "YES"> Int?{ + for (index, item) in entry.approvalItems.enumerated() { + if item.code == "REQUEST_APPROVAL" { + return index + } + } + return nil + } + + var body: some View { + //API取得成功 + if entry.message == nil { + if let num = findApproval() { //「承認依頼」項目あり + ApprovalItemView(approvalItem: entry.approvalItems[num], message: entry.message) + }else { //「承認依頼」項目なし + ApprovalItemView(approvalItem: ApprovalItem(code: "", name: "", count: 0), message: "-") + } + }else { + //APIサーバーエラー + if entry.message == "-" { + ApprovalItemView(approvalItem: ApprovalItem(code: "", name: "", count: 0), message: "-") + }else {//ログイン・コネクションエラー + FailureWidgetView(entry: entry) + } + } + } +} + //書類状況を表示するための各BOXビュー -struct ApplovalsBoxView : View { +struct StatusBoxView : View { var entry: Provider.Entry //書類状態の種類をカウント @@ -167,26 +200,48 @@ struct FailureWidgetView : View { } } -@main -struct WidgetExtension: Widget { - let kind: String = "WidgetExtension" +//状況確認ウィジェット +struct StatusCheckWidget: Widget { + let kind: String = "StatusCheck" var body: some WidgetConfiguration { StaticConfiguration(kind: kind, provider: Provider()) { entry in - ApprovalsWidgetView(entry: entry) + StatusCheckWidgetView(entry: entry) } - .configurationDisplayName("My Widget") - .description("This is an example widget.") + .configurationDisplayName("状況確認ウィジェット") + .description("状況確認ウィジェットの説明") .supportedFamilies([.systemLarge]) } } +//承認待ちウィジェット +struct ApprovalWidget: Widget { + let kind: String = "Approval" + + var body: some WidgetConfiguration { + StaticConfiguration(kind: kind, provider: Provider()) { entry in + ApprovalWidgetView(entry: entry) + } + .configurationDisplayName("承認待ちウィジェット") + .description("承認待ちウィジェットの説明") + .supportedFamilies([.systemSmall]) + } +} +@main +struct WidgetExtension: WidgetBundle { + @WidgetBundleBuilder + var body: some Widget { + StatusCheckWidget() + ApprovalWidget() + } +} + struct WidgetExtension_Previews: PreviewProvider { static var previews: some View { - //ApprovalsWidgetView(entry: SimpleEntry(date: Date(), approvalItems: previewItems(), message: nil)) - // .previewContext(WidgetPreviewContext(family: .systemLarge)) - ApprovalsWidgetView(entry: SimpleEntry(date: Date(), approvalItems: previewItems(), message: nil)) + StatusCheckWidgetView(entry: SimpleEntry(date: Date(), approvalItems: previewItems(), message: nil)) .previewContext(WidgetPreviewContext(family: .systemLarge)) + ApprovalWidgetView(entry: SimpleEntry(date: Date(), approvalItems: previewItems(), message: nil)) + .previewContext(WidgetPreviewContext(family: .systemSmall)) } } @@ -237,3 +292,4 @@ func errorMessageNSError(error: Error) -> String? { return nil } } + -- GitLab From 0670b94dd0d8a7804d3cc3423700e79d332233b0 Mon Sep 17 00:00:00 2001 From: Azuma Kasumi Date: Thu, 31 Mar 2022 14:35:42 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=5FXCWidgetKind=E3=81=AE=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcshareddata/xcschemes/WidgetExtension.xcscheme | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme b/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme index 0cb5b29..e906d19 100644 --- a/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme +++ b/AgileWorks/AgileWorks.xcodeproj/xcshareddata/xcschemes/WidgetExtension.xcscheme @@ -46,7 +46,7 @@ + +