From 5e0526a260fc80c16691e8c15ca6c8050ce0e441 Mon Sep 17 00:00:00 2001 From: Zishan Ahmad Date: Mon, 29 Jan 2024 18:44:34 +0530 Subject: [PATCH 1/5] added a overflow button to change to create subpage modal from create db modal --- enum/modals/NotionPageOrRecord.ts | 2 ++ src/handlers/ExecuteBlockActionHandler.ts | 7 +++++++ src/modals/createDatabaseModal.ts | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/enum/modals/NotionPageOrRecord.ts b/enum/modals/NotionPageOrRecord.ts index 0122b49..6845ff1 100644 --- a/enum/modals/NotionPageOrRecord.ts +++ b/enum/modals/NotionPageOrRecord.ts @@ -14,4 +14,6 @@ export enum NotionPageOrRecord { CHANGE_DATABASE_TEXT = "Change Database", CHANGE_DATABASE_ACTION = "create-page-or-record-change-database-action-id", PROPERTY_SELECTED_BLOCK_ELEMENT = "property-selected-element-create-page-or-record-block-id", + OVERFLOW_MENU_ACTION = "create-notion-page-overflow-menu-action-id", + OVERFLOW_MENU_TEXT = "Create Subpage or Record", } diff --git a/src/handlers/ExecuteBlockActionHandler.ts b/src/handlers/ExecuteBlockActionHandler.ts index d5fdd90..90e7794 100644 --- a/src/handlers/ExecuteBlockActionHandler.ts +++ b/src/handlers/ExecuteBlockActionHandler.ts @@ -805,6 +805,7 @@ export class ExecuteBlockActionHandler { const OverFlowActions = [ DatabaseModal.OVERFLOW_MENU_ACTION.toString(), NotionPageOrRecord.CHANGE_DATABASE_ACTION.toString(), + NotionPageOrRecord.OVERFLOW_MENU_ACTION.toString() ]; if (!OverFlowActions.includes(value)) { @@ -834,6 +835,12 @@ export class ExecuteBlockActionHandler { await handler.createNotionDatabase(); break; } + + case NotionPageOrRecord.OVERFLOW_MENU_ACTION:{ + await handler.createNotionPageOrRecord(); + break; + } + case NotionPageOrRecord.CHANGE_DATABASE_ACTION: { await handler.createNotionPageOrRecord(true); break; diff --git a/src/modals/createDatabaseModal.ts b/src/modals/createDatabaseModal.ts index 23e45f5..0819b0d 100644 --- a/src/modals/createDatabaseModal.ts +++ b/src/modals/createDatabaseModal.ts @@ -15,6 +15,7 @@ import { searchPageComponent } from "./common/searchPageComponent"; import { NotionApp } from "../../NotionApp"; import { inputElementComponent } from "./common/inputElementComponent"; import { ButtonInSectionComponent } from "./common/buttonInSectionComponent"; +import { OverflowMenuComponent } from "./common/OverflowMenuComponent"; import { IUser } from "@rocket.chat/apps-engine/definition/users"; import { ModalInteractionStorage } from "../storage/ModalInteraction"; import { ITokenInfo } from "../../definition/authorization/IOAuth2Storage"; @@ -35,6 +36,7 @@ import { import { NotionObjectTypes } from "../../enum/Notion"; import { ButtonInActionComponent } from "./common/buttonInActionComponent"; import { SearchPage } from "../../enum/modals/common/SearchPageComponent"; +import { NotionPageOrRecord } from "../../enum/modals/NotionPageOrRecord"; export async function createDatabaseModal( app: NotionApp, @@ -49,6 +51,8 @@ export async function createDatabaseModal( const { elementBuilder, blockBuilder } = app.getUtils(); const divider = blockBuilder.createDividerBlock(); const connectBlock = getConnectPreview(app.getID(), tokenInfo); + const overFlowMenuText = [NotionPageOrRecord.OVERFLOW_MENU_TEXT.toString()]; + const overFlowMenuValue = [NotionPageOrRecord.OVERFLOW_MENU_ACTION.toString()]; const searchForPageComponent = await searchPageComponent( app, @@ -61,6 +65,19 @@ export async function createDatabaseModal( return searchForPageComponent; } + const overflowMenu = await OverflowMenuComponent( + { + app, + text: overFlowMenuText, + value: overFlowMenuValue, + }, + { + blockId: Modals.OVERFLOW_MENU_BLOCK, + actionId: Modals.OVERFLOW_MENU_ACTION, + } + ); + + const titleOfDatabaseBlock = inputElementComponent( { app, @@ -99,6 +116,7 @@ export async function createDatabaseModal( } ); const blocks: Block[] = [ + overflowMenu, connectBlock, searchForPageComponent, titleOfDatabaseBlock, From 55ab2d5d5fa2562068654dc596d59988e0a82059 Mon Sep 17 00:00:00 2001 From: Zishan Ahmad Date: Tue, 30 Jan 2024 02:06:59 +0530 Subject: [PATCH 2/5] added change workspace overflow button in create db modal --- enum/modals/NotionDatabase.ts | 2 ++ src/handlers/ExecuteBlockActionHandler.ts | 6 ++++++ src/modals/createDatabaseModal.ts | 10 ++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/enum/modals/NotionDatabase.ts b/enum/modals/NotionDatabase.ts index fc75c66..0d777a8 100644 --- a/enum/modals/NotionDatabase.ts +++ b/enum/modals/NotionDatabase.ts @@ -49,4 +49,6 @@ export enum DatabaseModal { PROPERTY_TYPE_TITLE = "title", OVERFLOW_MENU_ACTION = "create-notion-database-overflow-menu-action-id", OVERFLOW_MENU_TEXT = "Create Database", + OVERFLOW_CHANGE_WORKSPACE_ACTION = "change-notion-workspace-overflow-menu-action-id", + OVERFLOW_CHANGE_WORKSPACE_TEXT = "Change Workspace" } diff --git a/src/handlers/ExecuteBlockActionHandler.ts b/src/handlers/ExecuteBlockActionHandler.ts index 90e7794..8466b42 100644 --- a/src/handlers/ExecuteBlockActionHandler.ts +++ b/src/handlers/ExecuteBlockActionHandler.ts @@ -804,6 +804,7 @@ export class ExecuteBlockActionHandler { // Check if the value is pageId. if not then it is not a refresh comment action const OverFlowActions = [ DatabaseModal.OVERFLOW_MENU_ACTION.toString(), + DatabaseModal.OVERFLOW_CHANGE_WORKSPACE_ACTION.toString(), NotionPageOrRecord.CHANGE_DATABASE_ACTION.toString(), NotionPageOrRecord.OVERFLOW_MENU_ACTION.toString() ]; @@ -836,6 +837,11 @@ export class ExecuteBlockActionHandler { break; } + case DatabaseModal.OVERFLOW_CHANGE_WORKSPACE_ACTION:{ + await handler.changeNotionWorkspace(); + break; + } + case NotionPageOrRecord.OVERFLOW_MENU_ACTION:{ await handler.createNotionPageOrRecord(); break; diff --git a/src/modals/createDatabaseModal.ts b/src/modals/createDatabaseModal.ts index 0819b0d..f62cd2e 100644 --- a/src/modals/createDatabaseModal.ts +++ b/src/modals/createDatabaseModal.ts @@ -51,8 +51,14 @@ export async function createDatabaseModal( const { elementBuilder, blockBuilder } = app.getUtils(); const divider = blockBuilder.createDividerBlock(); const connectBlock = getConnectPreview(app.getID(), tokenInfo); - const overFlowMenuText = [NotionPageOrRecord.OVERFLOW_MENU_TEXT.toString()]; - const overFlowMenuValue = [NotionPageOrRecord.OVERFLOW_MENU_ACTION.toString()]; + const overFlowMenuText = [ + NotionPageOrRecord.OVERFLOW_MENU_TEXT.toString(), + DatabaseModal.OVERFLOW_CHANGE_WORKSPACE_TEXT.toString(), + ]; + const overFlowMenuValue = [ + NotionPageOrRecord.OVERFLOW_MENU_ACTION.toString(), + DatabaseModal.OVERFLOW_CHANGE_WORKSPACE_ACTION.toString(), + ]; const searchForPageComponent = await searchPageComponent( app, From 0b75864e64b4733d33cb19bdc85c42cfc1111081 Mon Sep 17 00:00:00 2001 From: Zishan Ahmad Date: Wed, 7 Feb 2024 13:11:36 +0530 Subject: [PATCH 3/5] added meaningful var name --- enum/modals/NotionPageOrRecord.ts | 4 ++-- src/handlers/ExecuteBlockActionHandler.ts | 4 ++-- src/modals/createDatabaseModal.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/enum/modals/NotionPageOrRecord.ts b/enum/modals/NotionPageOrRecord.ts index 6845ff1..67043f9 100644 --- a/enum/modals/NotionPageOrRecord.ts +++ b/enum/modals/NotionPageOrRecord.ts @@ -14,6 +14,6 @@ export enum NotionPageOrRecord { CHANGE_DATABASE_TEXT = "Change Database", CHANGE_DATABASE_ACTION = "create-page-or-record-change-database-action-id", PROPERTY_SELECTED_BLOCK_ELEMENT = "property-selected-element-create-page-or-record-block-id", - OVERFLOW_MENU_ACTION = "create-notion-page-overflow-menu-action-id", - OVERFLOW_MENU_TEXT = "Create Subpage or Record", + OVERFLOW_CHANGE_TO_PAGE_ACTION = "create-notion-page-overflow-menu-action-id", + OVERFLOW_CHANGE_TO_PAGE_TEXT = "Create Subpage or Record", } diff --git a/src/handlers/ExecuteBlockActionHandler.ts b/src/handlers/ExecuteBlockActionHandler.ts index 8466b42..b271677 100644 --- a/src/handlers/ExecuteBlockActionHandler.ts +++ b/src/handlers/ExecuteBlockActionHandler.ts @@ -806,7 +806,7 @@ export class ExecuteBlockActionHandler { DatabaseModal.OVERFLOW_MENU_ACTION.toString(), DatabaseModal.OVERFLOW_CHANGE_WORKSPACE_ACTION.toString(), NotionPageOrRecord.CHANGE_DATABASE_ACTION.toString(), - NotionPageOrRecord.OVERFLOW_MENU_ACTION.toString() + NotionPageOrRecord.OVERFLOW_CHANGE_TO_PAGE_ACTION.toString() ]; if (!OverFlowActions.includes(value)) { @@ -842,7 +842,7 @@ export class ExecuteBlockActionHandler { break; } - case NotionPageOrRecord.OVERFLOW_MENU_ACTION:{ + case NotionPageOrRecord.OVERFLOW_CHANGE_TO_PAGE_ACTION:{ await handler.createNotionPageOrRecord(); break; } diff --git a/src/modals/createDatabaseModal.ts b/src/modals/createDatabaseModal.ts index f62cd2e..840b20f 100644 --- a/src/modals/createDatabaseModal.ts +++ b/src/modals/createDatabaseModal.ts @@ -52,11 +52,11 @@ export async function createDatabaseModal( const divider = blockBuilder.createDividerBlock(); const connectBlock = getConnectPreview(app.getID(), tokenInfo); const overFlowMenuText = [ - NotionPageOrRecord.OVERFLOW_MENU_TEXT.toString(), + NotionPageOrRecord.OVERFLOW_CHANGE_TO_PAGE_TEXT.toString(), DatabaseModal.OVERFLOW_CHANGE_WORKSPACE_TEXT.toString(), ]; const overFlowMenuValue = [ - NotionPageOrRecord.OVERFLOW_MENU_ACTION.toString(), + NotionPageOrRecord.OVERFLOW_CHANGE_TO_PAGE_ACTION.toString(), DatabaseModal.OVERFLOW_CHANGE_WORKSPACE_ACTION.toString(), ]; From 02ae77aa1097d92db84a4c4d67f64ac4b70ef865 Mon Sep 17 00:00:00 2001 From: Zishan Ahmad Date: Thu, 29 Feb 2024 19:42:08 +0530 Subject: [PATCH 4/5] Update NotionPageOrRecord.ts "Create Page" text added --- enum/modals/NotionPageOrRecord.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enum/modals/NotionPageOrRecord.ts b/enum/modals/NotionPageOrRecord.ts index 67043f9..0aa54f7 100644 --- a/enum/modals/NotionPageOrRecord.ts +++ b/enum/modals/NotionPageOrRecord.ts @@ -15,5 +15,5 @@ export enum NotionPageOrRecord { CHANGE_DATABASE_ACTION = "create-page-or-record-change-database-action-id", PROPERTY_SELECTED_BLOCK_ELEMENT = "property-selected-element-create-page-or-record-block-id", OVERFLOW_CHANGE_TO_PAGE_ACTION = "create-notion-page-overflow-menu-action-id", - OVERFLOW_CHANGE_TO_PAGE_TEXT = "Create Subpage or Record", + OVERFLOW_CHANGE_TO_PAGE_TEXT = "Create Page", } From bbeeb2dcd8742f41feca80c8b3607448c8ab09b6 Mon Sep 17 00:00:00 2001 From: Zishan Ahmad Date: Thu, 29 Feb 2024 19:45:27 +0530 Subject: [PATCH 5/5] Added "Create Page or Record" --- enum/modals/NotionPageOrRecord.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enum/modals/NotionPageOrRecord.ts b/enum/modals/NotionPageOrRecord.ts index 0aa54f7..1fb3dab 100644 --- a/enum/modals/NotionPageOrRecord.ts +++ b/enum/modals/NotionPageOrRecord.ts @@ -15,5 +15,5 @@ export enum NotionPageOrRecord { CHANGE_DATABASE_ACTION = "create-page-or-record-change-database-action-id", PROPERTY_SELECTED_BLOCK_ELEMENT = "property-selected-element-create-page-or-record-block-id", OVERFLOW_CHANGE_TO_PAGE_ACTION = "create-notion-page-overflow-menu-action-id", - OVERFLOW_CHANGE_TO_PAGE_TEXT = "Create Page", + OVERFLOW_CHANGE_TO_PAGE_TEXT = "Create Page or Record", }