diff --git a/web/client/components/layout/BorderLayout.jsx b/web/client/components/layout/BorderLayout.jsx index f39302663b..deb4e4f84c 100644 --- a/web/client/components/layout/BorderLayout.jsx +++ b/web/client/components/layout/BorderLayout.jsx @@ -19,12 +19,13 @@ const React = require('react'); * /> * */ -module.exports = ({children, header, footer, columns}) => +module.exports = ({children, header, footer, columns, height}) => (
{header}
flex: 1 }}>
- {children} + {height ?
{children}
: children}
- {columns} + {height ?
{columns}
: columns}
{footer}
); diff --git a/web/client/plugins/FeatureEditor.jsx b/web/client/plugins/FeatureEditor.jsx index be34447e4c..a5574cfa8a 100644 --- a/web/client/plugins/FeatureEditor.jsx +++ b/web/client/plugins/FeatureEditor.jsx @@ -20,6 +20,7 @@ const BorderLayout = require('../components/layout/BorderLayout'); const EMPTY_ARR = []; const EMPTY_OBJ = {}; const {gridTools, gridEvents, pageEvents, toolbarEvents} = require('./featuregrid/index'); +const ContainerDimensions = require('react-container-dimensions').default; const FeatureDock = (props = { tools: EMPTY_OBJ, @@ -40,8 +41,12 @@ const FeatureDock = (props = { // columns={[]} return ( {props.open && + + { ({ height }) => + // added height to solve resize issue in firefox, edge and ie @@ -59,8 +64,11 @@ const FeatureDock = (props = { describeFeatureType={props.describe} features={props.features} minHeight={600} - tools={props.gridTools} - />} + tools={props.gridTools}/> + } + + + } ); }; const selector = createSelector( diff --git a/web/client/plugins/featuregrid/panels/index.jsx b/web/client/plugins/featuregrid/panels/index.jsx index a1ac9f8b51..0fdbc5f978 100644 --- a/web/client/plugins/featuregrid/panels/index.jsx +++ b/web/client/plugins/featuregrid/panels/index.jsx @@ -78,7 +78,7 @@ const dialogs = { }; const panelDefaultProperties = { settings: { - style: { padding: '0 12px', overflow: "auto", flex: "0 0 14em", boxShadow: "inset 0px 0px 10px rgba(0, 0, 0, 0.4)"} + style: { padding: '0 12px', overflow: "auto", flex: "0 0 14em", boxShadow: "inset 0px 0px 10px rgba(0, 0, 0, 0.4)", height: "100%", minWidth: 195} } }; diff --git a/web/client/themes/default/less/react-data-grid.less b/web/client/themes/default/less/react-data-grid.less index 3537033566..7d3e23a3d7 100644 --- a/web/client/themes/default/less/react-data-grid.less +++ b/web/client/themes/default/less/react-data-grid.less @@ -127,3 +127,43 @@ } } + +.data-grid-top-toolbar { + height: 62px; + overflow: hidden; +} + +.data-grid-bottom-toolbar { + background-color: @ms2-color-background; + z-index: 1; + height: 32px; + overflow: hidden; +} + +@media all and (max-width: 1024px) { + .data-grid-bottom-toolbar .col-md-3 { + width: 0; + display: none; + } + + .data-grid-bottom-toolbar .col-md-6 { + width: 100%; + } + + .data-grid-top-toolbar > .flex-center .col-xs-4:nth-child(1) { + width: ~"calc(100% - @{square-btn-size})"; + padding: 0; + margin-left: 5px; + } + + .data-grid-top-toolbar > .flex-center .col-xs-4:nth-child(2) { + width: 0; + display: none; + } + + .data-grid-top-toolbar > .flex-center .col-xs-4:nth-child(3) { + width: @square-btn-size + 10; + padding: 0; + margin-right: 5px; + } +}