diff --git a/apps/rule-manager/client/src/ts/components/icons/index.ts b/apps/rule-manager/client/src/ts/components/icons/index.ts index 2c306ea2e..db8b9e532 100644 --- a/apps/rule-manager/client/src/ts/components/icons/index.ts +++ b/apps/rule-manager/client/src/ts/components/icons/index.ts @@ -39,6 +39,8 @@ import { icon as sortRight } from '@elastic/eui/src/components/icon/assets/sortR import { icon as fullScreenExit } from '@elastic/eui/src/components/icon/assets/fullScreenExit'; import { icon as tokenString } from '@elastic/eui/src/components/icon/assets/tokenString'; import { icon as beaker } from '@elastic/eui/src/components/icon/assets/beaker'; +import { icon as menuLeft } from '@elastic/eui/src/components/icon/assets/menuLeft'; +import { icon as menuRight } from '@elastic/eui/src/components/icon/assets/menuRight'; const cachedIcons = { apps, @@ -81,6 +83,8 @@ const cachedIcons = { expandMini, tokenString, beaker, + menuLeft, + menuRight, }; appendIconComponentCache(cachedIcons); diff --git a/apps/rule-manager/client/src/ts/components/pages/Rules.tsx b/apps/rule-manager/client/src/ts/components/pages/Rules.tsx index daeb66999..356b0228d 100644 --- a/apps/rule-manager/client/src/ts/components/pages/Rules.tsx +++ b/apps/rule-manager/client/src/ts/components/pages/Rules.tsx @@ -7,6 +7,7 @@ import { EuiToolTip, EuiSpacer, EuiComboBox, + EuiResizableContainer, } from '@elastic/eui'; import { SortColumns, useRules } from '../hooks/useRules'; import { StandaloneRuleForm } from '../RuleForm'; @@ -20,6 +21,7 @@ import { useDebouncedValue } from '../hooks/useDebounce'; import { FullHeightContentWithFixedHeader } from '../layout/FullHeightContentWithFixedHeader'; import { Tag, TagsContext } from '../context/tags'; import { ruleTypeOptions } from '../RuleContent'; +import { css } from '@emotion/react'; export const useCreateEditPermissions = () => { const permissions = useContext(PageContext).permissions; @@ -229,45 +231,68 @@ export const Rules = () => { ); + const formIsOpen = formMode !== 'closed'; + return ( - - - {formMode !== 'closed' && ( - - {rowSelection.size > 1 ? ( - { - setFormMode('closed'); - fetchRules(pageIndex, queryStr, sortColumns); - }} - onUpdate={() => fetchRules(pageIndex, queryStr, sortColumns)} - ruleIds={rowSelectionArray} + + {(EuiResizablePanel, EuiResizableButton) => ( + <> + + - ) : ( - { - setFormMode('closed'); - fetchRules(pageIndex, queryStr, sortColumns); - }} - onUpdate={(id) => { - if (id === currentRuleId) { - return; - } + + {...formIsOpen ? [] : []} + + {rowSelection.size > 1 ? ( + { + setFormMode('closed'); + fetchRules(pageIndex, queryStr, sortColumns); + }} + onUpdate={() => fetchRules(pageIndex, queryStr, sortColumns)} + ruleIds={rowSelectionArray} + /> + ) : ( + { + setFormMode('closed'); + fetchRules(pageIndex, queryStr, sortColumns); + }} + onUpdate={(id) => { + if (id === currentRuleId) { + return; + } - fetchRules(pageIndex, queryStr, sortColumns); - setCurrentRuleId(id); - if (formMode === 'create') { - setFormMode('edit'); - } - }} - ruleId={currentRuleId} - /> - )} - + fetchRules(pageIndex, queryStr, sortColumns); + setCurrentRuleId(id); + if (formMode === 'create') { + setFormMode('edit'); + } + }} + ruleId={currentRuleId} + /> + )} + + )} - + ); };