diff --git a/packages/apps/esm-implementer-tools-app/src/configuration/configuration.component.tsx b/packages/apps/esm-implementer-tools-app/src/configuration/configuration.component.tsx index 3c086f206..a8107f03c 100644 --- a/packages/apps/esm-implementer-tools-app/src/configuration/configuration.component.tsx +++ b/packages/apps/esm-implementer-tools-app/src/configuration/configuration.component.tsx @@ -60,9 +60,11 @@ const OpenOrCloseButton: React.FC = ({ isConfigToolbarOp /> ); -export interface ConfigurationProps {} +export interface ConfigurationProps { + isExpanded?: boolean; +} -export const Configuration: React.FC = () => { +export const Configuration: React.FC = ({ isExpanded = false }) => { const { t } = useTranslation(); const { isUIEditorEnabled, @@ -116,7 +118,8 @@ export const Configuration: React.FC = () => { return filterText ? getRelatedBranches(combinedConfig, filterText) : combinedConfig; }, [filterText, combinedConfig]); - const mainContentHeight = isConfigToolbarOpen ? 'calc(50vh - 7rem)' : 'calc(50vh - 2rem)'; + const mainContentClass = isExpanded ? `${styles.mainContent} ${styles.expandedContent}` : styles.mainContent; + return ( <>
@@ -185,9 +188,22 @@ export const Configuration: React.FC = () => { ) : null}
-
+
{isJsonModeEnabled ? ( - + ) : ( <>
diff --git a/packages/apps/esm-implementer-tools-app/src/configuration/configuration.styles.scss b/packages/apps/esm-implementer-tools-app/src/configuration/configuration.styles.scss index c0b011633..622a35223 100644 --- a/packages/apps/esm-implementer-tools-app/src/configuration/configuration.styles.scss +++ b/packages/apps/esm-implementer-tools-app/src/configuration/configuration.styles.scss @@ -45,6 +45,7 @@ width: 100%; display: flex; overflow-y: auto; + transition: max-height 0.3s ease; :global(.ace_scroller) { background-color: theme.$background; @@ -64,6 +65,10 @@ } } +.expandedContent { + max-height: 80vh; +} + .configTreePane { width: 65%; // overflow-wrap: break-word; diff --git a/packages/apps/esm-implementer-tools-app/src/popup/popup.component.tsx b/packages/apps/esm-implementer-tools-app/src/popup/popup.component.tsx index 5b2812971..6bd7edc5f 100644 --- a/packages/apps/esm-implementer-tools-app/src/popup/popup.component.tsx +++ b/packages/apps/esm-implementer-tools-app/src/popup/popup.component.tsx @@ -1,5 +1,6 @@ import React, { useMemo, useState } from 'react'; import { ContentSwitcher, IconButton, Switch } from '@carbon/react'; +import { ChevronUp, ChevronDown } from '@carbon/react/icons'; import { useTranslation } from 'react-i18next'; import { CloseIcon } from '@openmrs/esm-framework'; import { Configuration } from '../configuration/configuration.component'; @@ -31,9 +32,15 @@ export default function Popup({ }: DevToolsPopupProps) { const { t } = useTranslation(); const [activeTab, setActiveTab] = useState(visibleTabIndex ? visibleTabIndex : 0); + const [isExpanded, setIsExpanded] = useState(false); + + const toggleHeight = () => { + setIsExpanded(!isExpanded); + }; + const tabContent = useMemo(() => { - if (activeTab == 0) { - return ; + if (activeTab === 0) { + return ; } else if (activeTab === 1) { return ; } else if (activeTab === 2) { @@ -41,10 +48,10 @@ export default function Popup({ } else { return ; } - }, [activeTab, backendDependencies, frontendModules]); + }, [activeTab, backendDependencies, frontendModules, isExpanded]); return ( -
+
+ + {isExpanded ? : } +