From b4acbd3f935abb944bf2a66848b7c3d54d594cf7 Mon Sep 17 00:00:00 2001 From: Julianna Apicella <42875581+juliannaeapicella@users.noreply.github.com> Date: Fri, 10 May 2024 09:39:08 -0400 Subject: [PATCH 1/5] feat(hub-common): add timezone picker --- package-lock.json | 2 +- .../src/events/_internal/EventSchemaEdit.ts | 3 +++ .../src/events/_internal/EventUiSchemaEdit.ts | 23 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 1f774623db6..a93006609d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65010,7 +65010,7 @@ }, "packages/common": { "name": "@esri/hub-common", - "version": "14.126.3", + "version": "14.127.2", "license": "Apache-2.0", "dependencies": { "@terraformer/arcgis": "^2.1.2", diff --git a/packages/common/src/events/_internal/EventSchemaEdit.ts b/packages/common/src/events/_internal/EventSchemaEdit.ts index e3e19598c70..a7c83eaadd4 100644 --- a/packages/common/src/events/_internal/EventSchemaEdit.ts +++ b/packages/common/src/events/_internal/EventSchemaEdit.ts @@ -53,6 +53,9 @@ export const buildSchema = (): IConfigurationSchema => { endTime: { type: "string", }, + timeZone: { + type: "string", + }, isAllDay: { type: "boolean", default: false, diff --git a/packages/common/src/events/_internal/EventUiSchemaEdit.ts b/packages/common/src/events/_internal/EventUiSchemaEdit.ts index f007ad658d7..024973f9351 100644 --- a/packages/common/src/events/_internal/EventUiSchemaEdit.ts +++ b/packages/common/src/events/_internal/EventUiSchemaEdit.ts @@ -182,6 +182,29 @@ export const buildUiSchema = async ( ], }, }, + { + labelKey: `${i18nScope}.fields.timeZone.label`, + scope: "/properties/timeZone", + type: "Control", + rule: { + condition: { + scope: "/properties/isAllDay", + schema: { const: false }, + }, + effect: UiSchemaRuleEffects.SHOW, + }, + options: { + control: "hub-field-input-timezone-picker", + messages: [ + { + type: "ERROR", + keyword: "required", + icon: true, + labelKey: `${i18nScope}.fields.endTime.requiredError`, + }, + ], + }, + }, ], }, { From 3de4687c3f92429fc95b6de56555e18b723f4d73 Mon Sep 17 00:00:00 2001 From: Julianna Apicella <42875581+juliannaeapicella@users.noreply.github.com> Date: Fri, 10 May 2024 10:43:32 -0400 Subject: [PATCH 2/5] fix(hub-common): use correct name --- packages/common/src/events/_internal/EventSchemaEdit.ts | 6 +++--- packages/common/src/events/_internal/EventUiSchemaEdit.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/common/src/events/_internal/EventSchemaEdit.ts b/packages/common/src/events/_internal/EventSchemaEdit.ts index a7c83eaadd4..77b11bd1e29 100644 --- a/packages/common/src/events/_internal/EventSchemaEdit.ts +++ b/packages/common/src/events/_internal/EventSchemaEdit.ts @@ -53,13 +53,13 @@ export const buildSchema = (): IConfigurationSchema => { endTime: { type: "string", }, - timeZone: { - type: "string", - }, isAllDay: { type: "boolean", default: false, }, + timeZone: { + type: "string", + }, onlineUrl: { type: "string", }, diff --git a/packages/common/src/events/_internal/EventUiSchemaEdit.ts b/packages/common/src/events/_internal/EventUiSchemaEdit.ts index 024973f9351..38a14ff9860 100644 --- a/packages/common/src/events/_internal/EventUiSchemaEdit.ts +++ b/packages/common/src/events/_internal/EventUiSchemaEdit.ts @@ -194,13 +194,13 @@ export const buildUiSchema = async ( effect: UiSchemaRuleEffects.SHOW, }, options: { - control: "hub-field-input-timezone-picker", + control: "hub-field-input-time-zone", messages: [ { type: "ERROR", keyword: "required", icon: true, - labelKey: `${i18nScope}.fields.endTime.requiredError`, + labelKey: `${i18nScope}.fields.timeZone.requiredError`, }, ], }, From 0374a18691a063e0f355d161fe3b1f6083fab39b Mon Sep 17 00:00:00 2001 From: Julianna Apicella <42875581+juliannaeapicella@users.noreply.github.com> Date: Fri, 10 May 2024 11:16:27 -0400 Subject: [PATCH 3/5] feat(hub-common): test updates --- .../events/_internal/EventSchemaEdit.test.ts | 3 +++ .../_internal/EventUiSchemaEdit.test.ts | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/packages/common/test/events/_internal/EventSchemaEdit.test.ts b/packages/common/test/events/_internal/EventSchemaEdit.test.ts index b297e4f9b1f..239ae4efcd1 100644 --- a/packages/common/test/events/_internal/EventSchemaEdit.test.ts +++ b/packages/common/test/events/_internal/EventSchemaEdit.test.ts @@ -73,6 +73,9 @@ describe("EventSchemaEdit", () => { type: "boolean", default: false, }, + timeZone: { + type: "string", + }, onlineUrl: { type: "string", }, diff --git a/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts b/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts index fda29046068..948a25cece8 100644 --- a/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts +++ b/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts @@ -262,6 +262,29 @@ describe("EventUiSchemaEdit", () => { ], }, }, + { + labelKey: `myI18nScope.fields.timeZone.label`, + scope: "/properties/timeZone", + type: "Control", + rule: { + condition: { + scope: "/properties/isAllDay", + schema: { const: false }, + }, + effect: UiSchemaRuleEffects.SHOW, + }, + options: { + control: "hub-field-input-time-zone", + messages: [ + { + type: "ERROR", + keyword: "required", + icon: true, + labelKey: `myI18nScope.fields.timeZone.requiredError`, + }, + ], + }, + }, ], }, { From 8e360f44b575f913994c07b208d5e641ed64908e Mon Sep 17 00:00:00 2001 From: Julianna Apicella <42875581+juliannaeapicella@users.noreply.github.com> Date: Fri, 10 May 2024 13:23:13 -0400 Subject: [PATCH 4/5] fix(hub-common): remove hide --- packages/common/src/events/_internal/EventUiSchemaEdit.ts | 7 ------- .../common/test/events/_internal/EventUiSchemaEdit.test.ts | 7 ------- 2 files changed, 14 deletions(-) diff --git a/packages/common/src/events/_internal/EventUiSchemaEdit.ts b/packages/common/src/events/_internal/EventUiSchemaEdit.ts index 38a14ff9860..9dd15a77c06 100644 --- a/packages/common/src/events/_internal/EventUiSchemaEdit.ts +++ b/packages/common/src/events/_internal/EventUiSchemaEdit.ts @@ -186,13 +186,6 @@ export const buildUiSchema = async ( labelKey: `${i18nScope}.fields.timeZone.label`, scope: "/properties/timeZone", type: "Control", - rule: { - condition: { - scope: "/properties/isAllDay", - schema: { const: false }, - }, - effect: UiSchemaRuleEffects.SHOW, - }, options: { control: "hub-field-input-time-zone", messages: [ diff --git a/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts b/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts index 948a25cece8..bcbce2dca85 100644 --- a/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts +++ b/packages/common/test/events/_internal/EventUiSchemaEdit.test.ts @@ -266,13 +266,6 @@ describe("EventUiSchemaEdit", () => { labelKey: `myI18nScope.fields.timeZone.label`, scope: "/properties/timeZone", type: "Control", - rule: { - condition: { - scope: "/properties/isAllDay", - schema: { const: false }, - }, - effect: UiSchemaRuleEffects.SHOW, - }, options: { control: "hub-field-input-time-zone", messages: [ From f415cd69726b3b49d221d4179d20a8f0a5ac7fc2 Mon Sep 17 00:00:00 2001 From: Julianna Apicella <42875581+juliannaeapicella@users.noreply.github.com> Date: Fri, 10 May 2024 13:28:50 -0400 Subject: [PATCH 5/5] feat(hub-common): add time zone as required --- packages/common/src/events/_internal/EventSchemaEdit.ts | 2 +- packages/common/test/events/_internal/EventSchemaEdit.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/common/src/events/_internal/EventSchemaEdit.ts b/packages/common/src/events/_internal/EventSchemaEdit.ts index 77b11bd1e29..7e7163290e9 100644 --- a/packages/common/src/events/_internal/EventSchemaEdit.ts +++ b/packages/common/src/events/_internal/EventSchemaEdit.ts @@ -20,7 +20,7 @@ import { getDefaultEventDatesAndTimes } from "./getDefaultEventDatesAndTimes"; export const buildSchema = (): IConfigurationSchema => { const { startDate: minStartDate } = getDefaultEventDatesAndTimes(); return { - required: ["name", "description", "startDate", "endDate"], + required: ["name", "description", "startDate", "endDate", "timeZone"], properties: { name: ENTITY_NAME_SCHEMA, description: { diff --git a/packages/common/test/events/_internal/EventSchemaEdit.test.ts b/packages/common/test/events/_internal/EventSchemaEdit.test.ts index 239ae4efcd1..8aed585c1cf 100644 --- a/packages/common/test/events/_internal/EventSchemaEdit.test.ts +++ b/packages/common/test/events/_internal/EventSchemaEdit.test.ts @@ -36,7 +36,7 @@ describe("EventSchemaEdit", () => { const res = buildSchema(); expect(getDefaultEventDatesAndTimesSpy).toHaveBeenCalledTimes(1); expect(res).toEqual({ - required: ["name", "description", "startDate", "endDate"], + required: ["name", "description", "startDate", "endDate", "timeZone"], properties: { name: ENTITY_NAME_SCHEMA, description: {