@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
38 lines (37 loc) • 1.64 kB
JavaScript
import * as React from 'react';
import { Text } from 'rebass';
import { convertAdaptableStyleToCSS } from '../../../Utilities/Helpers/StyleHelper';
import { StyleComponent } from '../../Components/StyleComponent';
import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
import UIHelper from '../../UIHelper';
export const isFormatColumnStyleValid = (data, api) => {
if (data.Style &&
UIHelper.IsEmptyStyle(data.Style) &&
data.DisplayFormat === undefined &&
data.CellAlignment === undefined &&
!api.columnScopeApi.isSingleBooleanColumnScope(data.Scope)) {
return 'No format applied';
}
return true;
};
const toStyle = (data) => {
return {
...convertAdaptableStyleToCSS(data.Style ?? {}),
borderWidth: data.Style?.BorderColor ? 2 : 0,
borderStyle: 'solid',
textAlign: data.CellAlignment ? data.CellAlignment.toLowerCase() : undefined,
};
};
export const renderFormatColumnStyleWizardSummary = (data) => {
const { api } = useOnePageAdaptableWizardContext();
return renderFormatColumnStyleSummary(data, api);
};
export const renderFormatColumnStyleSummary = (data, api) => {
return (React.createElement(Text, { className: "ab-FormatPreview", padding: 2, style: toStyle(data) }, "Preview result"));
};
export function FormatColumnStyleWizardSection(props) {
const { data, api } = useOnePageAdaptableWizardContext();
return (React.createElement(StyleComponent, { headless: true, api: api, Style: data.Style ?? {}, UpdateStyle: (Style) => {
props.onChange({ ...data, Style });
} }));
}