@adaptabletools/adaptable 11.0.0-canary.0 → 11.0.0-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base.css +13 -9
- package/bundle.cjs.js +88 -88
- package/index.css +13 -9
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -1
- package/src/AdaptableOptions/DashboardOptions.d.ts +3 -2
- package/src/AdaptableOptions/GeneralOptions.d.ts +1 -1
- package/src/AdaptableOptions/TeamSharingOptions.d.ts +1 -1
- package/src/Api/Events/SearchChanged.d.ts +1 -1
- package/src/Api/Implementation/InternalApiImpl.d.ts +0 -1
- package/src/Api/Implementation/InternalApiImpl.js +0 -8
- package/src/Api/InternalApi.d.ts +0 -1
- package/src/PredefinedConfig/DashboardState.d.ts +4 -4
- package/src/Redux/ActionsReducers/DashboardRedux.d.ts +0 -7
- package/src/Redux/ActionsReducers/DashboardRedux.js +1 -11
- package/src/Redux/Store/AdaptableStore.js +0 -1
- package/src/View/AdaptableView.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +10 -23
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +1 -1
- package/src/View/FlashingCell/Wizard/{FlashingCellDurationWizardSection.d.ts → FlashingCellSettingsWizardSection.d.ts} +3 -3
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +66 -0
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +8 -3
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +1 -0
- package/src/View/SpecialColumnSettingsWizardStep.d.ts +9 -0
- package/src/View/SpecialColumnSettingsWizardStep.js +62 -0
- package/src/agGrid/Adaptable.js +2 -3
- package/src/components/Dashboard/Dashboard.js +1 -1
- package/src/components/WindowModal/WindowModal.js +17 -2
- package/src/components/utils/useDraggable.js +2 -1
- package/src/metamodel/adaptable.metamodel.js +10 -10
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellDurationWizardSection.js +0 -60
package/index.css
CHANGED
|
@@ -3689,26 +3689,30 @@ html.ab--theme-dark .ab-ListBoxFilterForm--aggrid-style {
|
|
|
3689
3689
|
border-style: none;
|
|
3690
3690
|
--ab-toast-cmp__shadow-color: var(--ab-color-accent);
|
|
3691
3691
|
box-shadow: 0 0 7px 2px var(--ab-toast-cmp__shadow-color);
|
|
3692
|
-
background: var(--ab-toast-cmp__shadow-color);
|
|
3692
|
+
background: var(--ab-toast-cmp__shadow-color);
|
|
3693
|
+
--toastify-text-color-info: var(--ab-color-text-on-primary);
|
|
3694
|
+
--toastify-text-color-success: var(--ab-color-text-on-primary);
|
|
3695
|
+
--toastify-text-color-warning: var(--ab-color-text-on-primary);
|
|
3696
|
+
--toastify-text-color-error: var(--ab-color-text-on-primary);
|
|
3697
|
+
--toastify-color-info: var(--ab-color-info);
|
|
3698
|
+
--toastify-color-success: var(--ab-color-success);
|
|
3699
|
+
--toastify-color-warning: var(--ab-color-warn);
|
|
3700
|
+
--toastify-color-error: var(--ab-color-error); }
|
|
3693
3701
|
|
|
3694
3702
|
.Toastify__toast-body {
|
|
3695
3703
|
padding: 0; }
|
|
3696
3704
|
|
|
3697
3705
|
.Toastify__toast--info {
|
|
3698
|
-
--ab-toast-cmp__shadow-color: var(--ab-color-info);
|
|
3699
|
-
color: var(--ab-color-text-on-primary); }
|
|
3706
|
+
--ab-toast-cmp__shadow-color: var(--ab-color-info); }
|
|
3700
3707
|
|
|
3701
3708
|
.Toastify__toast--success {
|
|
3702
|
-
--ab-toast-cmp__shadow-color: var(--ab-color-success);
|
|
3703
|
-
color: var(--ab-color-text-on-primary); }
|
|
3709
|
+
--ab-toast-cmp__shadow-color: var(--ab-color-success); }
|
|
3704
3710
|
|
|
3705
3711
|
.Toastify__toast--warning {
|
|
3706
|
-
--ab-toast-cmp__shadow-color: var(--ab-color-warn);
|
|
3707
|
-
color: var(--ab-color-text-on-primary); }
|
|
3712
|
+
--ab-toast-cmp__shadow-color: var(--ab-color-warn); }
|
|
3708
3713
|
|
|
3709
3714
|
.Toastify__toast--error {
|
|
3710
|
-
--ab-toast-cmp__shadow-color: var(--ab-color-error);
|
|
3711
|
-
color: var(--ab-color-text-on-primary); }
|
|
3715
|
+
--ab-toast-cmp__shadow-color: var(--ab-color-error); }
|
|
3712
3716
|
|
|
3713
3717
|
.ab--custom-mac-like-scrollbars .ab-Grid * ::-webkit-scrollbar,
|
|
3714
3718
|
.ab--custom-mac-like-scrollbars .ag-root * ::-webkit-scrollbar,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "11.0.0-canary.
|
|
3
|
+
"version": "11.0.0-canary.1",
|
|
4
4
|
"description": "Powerful data-agnostic HTML5 datagrid add-on that sits on top of an underlying grid component and provides all the rich functionality that advanced users expect from their DataGrids and Data Tables",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
package/publishTimestamp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default:
|
|
1
|
+
declare const _default: 1643749744379;
|
|
2
2
|
export default _default;
|
package/publishTimestamp.js
CHANGED
|
@@ -75,7 +75,6 @@ export interface IAdaptable {
|
|
|
75
75
|
_on(eventName: 'GridRefreshed', callback: () => void): () => void;
|
|
76
76
|
_on(eventName: 'GridFiltered', callback: () => void): () => void;
|
|
77
77
|
_on(eventName: 'SortChanged', callback: (columnSorts: ColumnSort[]) => void): () => void;
|
|
78
|
-
_on(eventName: 'ColumnResized', callback: (colId: string) => void): () => void;
|
|
79
78
|
_on(eventName: 'KeyDown', callback: (keyDownEvent: any) => void): () => void;
|
|
80
79
|
_on(eventName: 'CellEditorKeyDown', callback: (param: {
|
|
81
80
|
keyDownEvent: KeyboardEvent;
|
|
@@ -15,14 +15,14 @@ export interface DashboardOptions {
|
|
|
15
15
|
*/
|
|
16
16
|
canFloat?: boolean;
|
|
17
17
|
/**
|
|
18
|
-
* Shows Quick Search textbox in the Dashboard Header
|
|
18
|
+
* Shows Quick Search textbox in the Dashboard Header
|
|
19
19
|
*
|
|
20
20
|
* @defaultValue true
|
|
21
21
|
* @gridInfoItem
|
|
22
22
|
*/
|
|
23
23
|
showQuickSearchInHeader?: boolean;
|
|
24
24
|
/**
|
|
25
|
-
* Custom Adaptable Buttons to appear in
|
|
25
|
+
* Custom Adaptable Buttons to appear in Dashboard (alongside Module Buttons)
|
|
26
26
|
*/
|
|
27
27
|
customDashboardButtons?: AdaptableButton<DashboardButtonContext>[];
|
|
28
28
|
/**
|
|
@@ -30,6 +30,7 @@ export interface DashboardOptions {
|
|
|
30
30
|
*/
|
|
31
31
|
customToolbars?: CustomToolbar[];
|
|
32
32
|
/**
|
|
33
|
+
* Position in the Dashboard to show the Module and Custom Buttons
|
|
33
34
|
* @defaultValue 'right'
|
|
34
35
|
*/
|
|
35
36
|
buttonsLocation?: 'left' | 'right';
|
|
@@ -71,7 +71,7 @@ export interface GeneralOptions {
|
|
|
71
71
|
*/
|
|
72
72
|
customSortComparers?: ColumnValuesComparer[];
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* Perform case-sensitive text comparisons in all search and filter operations: QuickSearch, Filters, Query, Predicates
|
|
75
75
|
*
|
|
76
76
|
* @defaultValue false
|
|
77
77
|
* @gridInfoItem
|
|
@@ -30,7 +30,7 @@ export interface TeamSharingOptions {
|
|
|
30
30
|
*/
|
|
31
31
|
updateInterval?: number;
|
|
32
32
|
/**
|
|
33
|
-
* How user is informed when Active Shared Entities have newer revisions
|
|
33
|
+
* How user is informed when Active Shared Entities have newer revisions
|
|
34
34
|
*
|
|
35
35
|
* @defaultValue null (none)
|
|
36
36
|
* @gridInfoItem
|
|
@@ -8,7 +8,7 @@ import { BaseEventInfo } from './BaseEventInfo';
|
|
|
8
8
|
*/
|
|
9
9
|
export interface SearchChangedInfo extends BaseEventInfo {
|
|
10
10
|
/**
|
|
11
|
-
* What
|
|
11
|
+
* What search-related change caused the event to fire
|
|
12
12
|
*/
|
|
13
13
|
searchChangedTrigger: 'DataSource' | 'CurrentQuery' | 'Filter' | 'DataChange' | 'Sort';
|
|
14
14
|
/**
|
|
@@ -73,7 +73,6 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
|
|
|
73
73
|
private createDataChangedInfoFromGridCell;
|
|
74
74
|
setLastAppliedShortCut(gridCell: GridCell | undefined): void;
|
|
75
75
|
updateCurrentDraftLayout(layout: Layout): void;
|
|
76
|
-
setDefaultDashboardTab(): void;
|
|
77
76
|
getPrimaryKey(): any;
|
|
78
77
|
getAdaptableInstance(): IAdaptable;
|
|
79
78
|
getAgGridInstance(): any;
|
|
@@ -7,7 +7,6 @@ const SystemRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/Sy
|
|
|
7
7
|
const SystemRedux_1 = require("../../Redux/ActionsReducers/SystemRedux");
|
|
8
8
|
const GridRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/GridRedux"));
|
|
9
9
|
const LayoutRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/LayoutRedux"));
|
|
10
|
-
const DashboardRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/DashboardRedux"));
|
|
11
10
|
const AlertRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/AlertRedux"));
|
|
12
11
|
const DeadRedux = tslib_1.__importStar(require("../../Redux/DeadRedux"));
|
|
13
12
|
const ApiBase_1 = require("./ApiBase");
|
|
@@ -187,13 +186,6 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
|
|
|
187
186
|
updateCurrentDraftLayout(layout) {
|
|
188
187
|
this.dispatchAction(LayoutRedux.LayoutUpdateCurrentDraft(layout));
|
|
189
188
|
}
|
|
190
|
-
setDefaultDashboardTab() {
|
|
191
|
-
const dashboardTabs = this.adaptable.api.dashboardApi.getDashboardState().Tabs;
|
|
192
|
-
if (ArrayExtensions_1.default.IsNull(dashboardTabs)) {
|
|
193
|
-
LoggingHelper_1.LogAdaptableInfo('Creating a default Dashboard tab');
|
|
194
|
-
this.dispatchAction(DashboardRedux.DashboardCreateDefaultTab());
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
189
|
getPrimaryKey() {
|
|
198
190
|
return this.adaptable.adaptableOptions.primaryKey;
|
|
199
191
|
}
|
package/src/Api/InternalApi.d.ts
CHANGED
|
@@ -76,7 +76,6 @@ export interface InternalApi {
|
|
|
76
76
|
getQueryPreviewData(): any;
|
|
77
77
|
buildDataChangedInfo(config: Pick<DataChangedInfo, 'newValue' | 'oldValue' | 'column' | 'primaryKeyValue' | 'rowNode' | 'trigger'>): DataChangedInfo;
|
|
78
78
|
setLastAppliedShortCut(gridCell: GridCell | undefined): void;
|
|
79
|
-
setDefaultDashboardTab(): void;
|
|
80
79
|
updateCurrentDraftLayout(layout: Layout): void;
|
|
81
80
|
getPrimaryKey(): any;
|
|
82
81
|
getAdaptableInstance(): IAdaptable;
|
|
@@ -35,16 +35,16 @@ export interface DashboardState extends ConfigState {
|
|
|
35
35
|
*/
|
|
36
36
|
IsHidden?: boolean;
|
|
37
37
|
/**
|
|
38
|
-
* Position of Dashboard in 'floating mode'
|
|
38
|
+
* Position of Dashboard when in 'floating mode'
|
|
39
39
|
*/
|
|
40
40
|
FloatingPosition?: AdaptableCoordinate;
|
|
41
41
|
/**
|
|
42
|
-
* Module Buttons
|
|
43
|
-
* @defaultValue
|
|
42
|
+
* Module Buttons which open screen in Settings Panel for associated AdapTable Module
|
|
43
|
+
* @defaultValue ['SettingsPanel']
|
|
44
44
|
*/
|
|
45
45
|
ModuleButtons?: AdaptableModuleButtons;
|
|
46
46
|
/**
|
|
47
|
-
* Title to display in Dashboard Header
|
|
47
|
+
* Title to display in Dashboard Header
|
|
48
48
|
* @defaultValue `adaptableId` in Adaptable Options
|
|
49
49
|
*/
|
|
50
50
|
DashboardTitle?: string;
|
|
@@ -35,10 +35,6 @@ export declare const DASHBOARD_SET_FLOATING_POSITION = "DASHBOARD_SET_FLOATING_P
|
|
|
35
35
|
* @ReduxAction New Dashboard Tabs have been set
|
|
36
36
|
*/
|
|
37
37
|
export declare const DASHBOARD_SET_TABS = "DASHBOARD_SET_TABS";
|
|
38
|
-
/**
|
|
39
|
-
* @ReduxAction A default Tab has been created
|
|
40
|
-
*/
|
|
41
|
-
export declare const DASHBOARD_CREATE_DEFAULT_TAB = "DASHBOARD_CREATE_DEFAULT_TAB";
|
|
42
38
|
/**
|
|
43
39
|
* @ReduxAction A Toolbar has been closed
|
|
44
40
|
*/
|
|
@@ -85,8 +81,6 @@ export interface DashboardSetFloatingPositionAction extends Redux.Action {
|
|
|
85
81
|
export interface DashboardCloseToolbarAction extends Redux.Action {
|
|
86
82
|
toolbar: AdaptableDashboardToolbar;
|
|
87
83
|
}
|
|
88
|
-
export interface DashboardCreateDefaultTabAction extends Redux.Action {
|
|
89
|
-
}
|
|
90
84
|
export interface DashboardSetTabsAction extends Redux.Action {
|
|
91
85
|
Tabs: DashboardTab[];
|
|
92
86
|
}
|
|
@@ -109,7 +103,6 @@ export declare const DashboardSetIsHidden: (IsHidden: boolean) => DashboardSetIs
|
|
|
109
103
|
export declare const DashboardSetIsInline: (IsInline: boolean) => DashboardSetIsInlineAction;
|
|
110
104
|
export declare const DashboardSetFloatingPosition: (FloatingPosition: AdaptableCoordinate) => DashboardSetFloatingPositionAction;
|
|
111
105
|
export declare const DashboardSetTabs: (Tabs: DashboardTab[]) => DashboardSetTabsAction;
|
|
112
|
-
export declare const DashboardCreateDefaultTab: () => DashboardCreateDefaultTabAction;
|
|
113
106
|
export declare const DashboardCloseToolbar: (toolbar: AdaptableDashboardToolbar) => DashboardCloseToolbarAction;
|
|
114
107
|
export declare const DashboardSetTitle: (title: string) => DashboardSetTitleAction;
|
|
115
108
|
export declare const DashboardReady: (dashboardState: DashboardState) => DashboardReadyAction;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DashboardReducer = exports.DashboardReady = exports.DashboardSetTitle = exports.DashboardCloseToolbar = exports.
|
|
3
|
+
exports.DashboardReducer = exports.DashboardReady = exports.DashboardSetTitle = exports.DashboardCloseToolbar = exports.DashboardSetTabs = exports.DashboardSetFloatingPosition = exports.DashboardSetIsInline = exports.DashboardSetIsHidden = exports.DashboardSetIsFloating = exports.DashboardSetIsCollapsed = exports.DashboardSetActiveTabIndex = exports.DashboardSetModuleButtons = exports.DASHBOARD_READY = exports.DASHBOARD_SET_TITLE = exports.DASHBOARD_CLOSE_TOOLBAR = exports.DASHBOARD_SET_TABS = exports.DASHBOARD_SET_FLOATING_POSITION = exports.DASHBOARD_SET_IS_HIDDEN = exports.DASHBOARD_SET_IS_INLINE = exports.DASHBOARD_SET_IS_FLOATING = exports.DASHBOARD_SET_IS_COLLAPSED = exports.DASHBOARD_ACTIVE_TAB_INDEX_CHANGE = exports.DASHBOARD_SET_MODULE_BUTTONS = void 0;
|
|
4
4
|
const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
|
|
5
5
|
/**
|
|
6
6
|
* @ReduxAction The Module Buttons have been set in the Dashboard
|
|
@@ -34,10 +34,6 @@ exports.DASHBOARD_SET_FLOATING_POSITION = 'DASHBOARD_SET_FLOATING_POSITION';
|
|
|
34
34
|
* @ReduxAction New Dashboard Tabs have been set
|
|
35
35
|
*/
|
|
36
36
|
exports.DASHBOARD_SET_TABS = 'DASHBOARD_SET_TABS';
|
|
37
|
-
/**
|
|
38
|
-
* @ReduxAction A default Tab has been created
|
|
39
|
-
*/
|
|
40
|
-
exports.DASHBOARD_CREATE_DEFAULT_TAB = 'DASHBOARD_CREATE_DEFAULT_TAB';
|
|
41
37
|
/**
|
|
42
38
|
* @ReduxAction A Toolbar has been closed
|
|
43
39
|
*/
|
|
@@ -82,9 +78,6 @@ exports.DashboardSetTabs = (Tabs) => ({
|
|
|
82
78
|
type: exports.DASHBOARD_SET_TABS,
|
|
83
79
|
Tabs,
|
|
84
80
|
});
|
|
85
|
-
exports.DashboardCreateDefaultTab = () => ({
|
|
86
|
-
type: exports.DASHBOARD_CREATE_DEFAULT_TAB,
|
|
87
|
-
});
|
|
88
81
|
exports.DashboardCloseToolbar = (toolbar) => ({
|
|
89
82
|
toolbar,
|
|
90
83
|
type: exports.DASHBOARD_CLOSE_TOOLBAR,
|
|
@@ -146,9 +139,6 @@ exports.DashboardReducer = (state = initialState, action) => {
|
|
|
146
139
|
const { Tabs } = action;
|
|
147
140
|
return Object.assign(Object.assign({}, state), { Tabs });
|
|
148
141
|
}
|
|
149
|
-
case exports.DASHBOARD_CREATE_DEFAULT_TAB: {
|
|
150
|
-
return Object.assign(Object.assign({}, state), { Tabs: [{ Name: 'Toolbars', Toolbars: ['Query', 'Layout', 'Export', 'Filter'] }] });
|
|
151
|
-
}
|
|
152
142
|
case exports.DASHBOARD_CLOSE_TOOLBAR: {
|
|
153
143
|
const actionTyped = action;
|
|
154
144
|
const tabs = [].concat(state.Tabs);
|
|
@@ -693,7 +693,6 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
693
693
|
case DashboardRedux.DASHBOARD_SET_IS_HIDDEN:
|
|
694
694
|
case DashboardRedux.DASHBOARD_SET_FLOATING_POSITION:
|
|
695
695
|
case DashboardRedux.DASHBOARD_SET_TABS:
|
|
696
|
-
case DashboardRedux.DASHBOARD_CREATE_DEFAULT_TAB:
|
|
697
696
|
case DashboardRedux.DASHBOARD_CLOSE_TOOLBAR: {
|
|
698
697
|
const oldDashboardState = middlewareAPI.getState().Dashboard;
|
|
699
698
|
let returnAction = next(action);
|
|
@@ -27,7 +27,7 @@ class AdaptableView extends React.Component {
|
|
|
27
27
|
Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup) && (React.createElement(AdaptablePopup_1.AdaptablePopup, { componentName: this.props.PopupState.ScreenPopup.ComponentName, componentModule: this.props.PopupState.ScreenPopup.ComponentModule, onHide: this.props.onCloseScreenPopup, api: this.props.AdaptableApi, onClearParams: () => this.props.onClearPopupParams(), moduleParams: this.props.PopupState.ScreenPopup.Params, moduleProps: this.props.PopupState.ScreenPopup.PopupProps })),
|
|
28
28
|
React.createElement(ExportCustomDestinationFormPopups_1.ExportCustomDestinationFormPopups, { api: this.props.AdaptableApi }),
|
|
29
29
|
React.createElement(react_toastify_1.ToastContainer, { limit: this.props.AdaptableApi.internalApi.getAdaptableOptions().notificationsOptions
|
|
30
|
-
.maxNotifications, closeButton: false }),
|
|
30
|
+
.maxNotifications, closeButton: false, icon: false, theme: "colored" }),
|
|
31
31
|
(watermark === null || watermark === void 0 ? void 0 : watermark.show) && React.createElement(License_1.LicenseWatermark, null, watermark === null || watermark === void 0 ? void 0 : watermark.text),
|
|
32
32
|
React.createElement(ProgressIndicator_1.ProgressIndicator, null)));
|
|
33
33
|
}
|
|
@@ -16,6 +16,7 @@ const Tabs_1 = require("../../../components/Tabs");
|
|
|
16
16
|
const ValueSelector_1 = require("../../Components/ValueSelector");
|
|
17
17
|
const Tag_1 = require("../../../components/Tag");
|
|
18
18
|
const getCalculatedColumnSettingTags_1 = require("../Utilities/getCalculatedColumnSettingTags");
|
|
19
|
+
const SpecialColumnSettingsWizardStep_1 = require("../../SpecialColumnSettingsWizardStep");
|
|
19
20
|
exports.renderCalculatedColumnSettingsSummary = (data) => {
|
|
20
21
|
var _a;
|
|
21
22
|
const options = getCalculatedColumnSettingTags_1.getCalculatedColumnSettingTags(data.CalculatedColumnSettings);
|
|
@@ -72,17 +73,15 @@ exports.CalculatedColumnSettingsWizardSection = (props) => {
|
|
|
72
73
|
const ColumnName = data.FriendlyName;
|
|
73
74
|
const ColumnId = data.ColumnId;
|
|
74
75
|
let { DataType: dataType } = (_a = data.CalculatedColumnSettings) !== null && _a !== void 0 ? _a : {};
|
|
75
|
-
const { Width,
|
|
76
|
-
const
|
|
77
|
-
props.onChange(Object.assign(Object.assign({}, data), { CalculatedColumnSettings: Object.assign(Object.assign({}, data.CalculatedColumnSettings),
|
|
76
|
+
const { Width, ShowToolTip } = (_b = data.CalculatedColumnSettings) !== null && _b !== void 0 ? _b : {};
|
|
77
|
+
const handleSpecialColumnSettingsChange = (settings) => {
|
|
78
|
+
props.onChange(Object.assign(Object.assign({}, data), { CalculatedColumnSettings: Object.assign(Object.assign({}, data.CalculatedColumnSettings), settings) }));
|
|
78
79
|
};
|
|
79
80
|
React.useEffect(() => {
|
|
80
81
|
var _a;
|
|
81
82
|
if (!dataType) {
|
|
82
83
|
const computedDataType = calculatedColumnExpressionService.GetCalculatedColumnDataType((_a = data.Query) === null || _a === void 0 ? void 0 : _a.ScalarExpression);
|
|
83
|
-
|
|
84
|
-
DataType: computedDataType,
|
|
85
|
-
});
|
|
84
|
+
handleSpecialColumnSettingsChange(Object.assign(Object.assign({}, data === null || data === void 0 ? void 0 : data.CalculatedColumnSettings), { DataType: computedDataType }));
|
|
86
85
|
}
|
|
87
86
|
}, []);
|
|
88
87
|
return (React.createElement(rebass_1.Box, { "data-name": 'calculated-column-settings' },
|
|
@@ -111,23 +110,11 @@ exports.CalculatedColumnSettingsWizardSection = (props) => {
|
|
|
111
110
|
onClick: () => handleDataTypeChange(item.value),
|
|
112
111
|
})) }, dataType ? dataType : 'Select Data Type')),
|
|
113
112
|
React.createElement(FormLayout_1.FormRow, { label: "Width" },
|
|
114
|
-
React.createElement(Input_1.default, { type: "number", width: 300, value: Width || '', onChange: (e) =>
|
|
113
|
+
React.createElement(Input_1.default, { type: "number", width: 300, value: Width || '', onChange: (e) => handleSpecialColumnSettingsChange({
|
|
114
|
+
Width: Number(e.target.value),
|
|
115
|
+
}) })),
|
|
115
116
|
React.createElement(FormLayout_1.FormRow, { label: "" },
|
|
116
|
-
React.createElement(CheckBox_1.CheckBox, { onChange: (checked) =>
|
|
117
|
+
React.createElement(CheckBox_1.CheckBox, { onChange: (checked) => handleSpecialColumnSettingsChange({ ShowToolTip: checked }), checked: ShowToolTip }, "Show Expression as Tooltip")))))),
|
|
117
118
|
ErrorMessage ? React.createElement(ErrorBox_1.default, { marginTop: 2 }, ErrorMessage) : null,
|
|
118
|
-
React.createElement(
|
|
119
|
-
React.createElement(Tabs_1.Tabs.Tab, null, " Column Properties"),
|
|
120
|
-
React.createElement(Tabs_1.Tabs.Content, null,
|
|
121
|
-
React.createElement(rebass_1.Flex, { flexDirection: "row" },
|
|
122
|
-
React.createElement(FormLayout_1.default, { style: { width: '100%' }, columns: [{ name: 'first', size: '30%' }, { name: 'second' }] },
|
|
123
|
-
React.createElement(FormLayout_1.FormRow, null,
|
|
124
|
-
React.createElement(CheckBox_1.CheckBox, { checked: Filterable, onChange: (Filterable) => onSettingsChange({ Filterable }), disabled: !api.internalApi.getAdaptableOptions().filterOptions
|
|
125
|
-
.enableFilterOnSpecialColumns }, "Filterable"),
|
|
126
|
-
React.createElement(CheckBox_1.CheckBox, { checked: Resizable, onChange: (Resizable) => onSettingsChange({ Resizable }) }, "Resizable")),
|
|
127
|
-
React.createElement(FormLayout_1.FormRow, null,
|
|
128
|
-
React.createElement(CheckBox_1.CheckBox, { checked: Groupable, onChange: (Groupable) => onSettingsChange({ Groupable }) }, "Groupable"),
|
|
129
|
-
React.createElement(CheckBox_1.CheckBox, { checked: Sortable, onChange: (Sortable) => onSettingsChange({ Sortable }) }, "Sortable")),
|
|
130
|
-
React.createElement(FormLayout_1.FormRow, null,
|
|
131
|
-
React.createElement(CheckBox_1.CheckBox, { checked: Pivotable, onChange: (Pivotable) => onSettingsChange({ Pivotable }) }, "Pivotable"),
|
|
132
|
-
React.createElement(CheckBox_1.CheckBox, { checked: Aggregatable, onChange: (Aggregatable) => onSettingsChange({ Aggregatable }) }, "Aggregatable"))))))));
|
|
119
|
+
React.createElement(SpecialColumnSettingsWizardStep_1.SpecialColumnSettingsWizardStep, { isEditable: false, settings: data.CalculatedColumnSettings, onChange: handleSpecialColumnSettingsChange })));
|
|
133
120
|
};
|
|
@@ -53,7 +53,7 @@ exports.Navigation = (props) => {
|
|
|
53
53
|
const className = join_1.default(baseClassName, isActive && `${baseClassName}--active`);
|
|
54
54
|
let customIcon = (_f = (_e = (_d = (_c = props.customSettingsPanels) === null || _c === void 0 ? void 0 : _c.find) === null || _d === void 0 ? void 0 : _d.call(_c, (customSettingPanel) => customSettingPanel.name === menuItem.label)) === null || _e === void 0 ? void 0 : _e.icon) !== null && _f !== void 0 ? _f : null;
|
|
55
55
|
return (React.createElement("li", { className: className, key: menuItem.label },
|
|
56
|
-
React.createElement("button", { className: `${baseClassName}__Button`, onClick: () => {
|
|
56
|
+
React.createElement("button", { type: "button", className: `${baseClassName}__Button`, onClick: () => {
|
|
57
57
|
dispatch(menuItem.reduxAction);
|
|
58
58
|
} },
|
|
59
59
|
menuItem.icon && (React.createElement(icons_1.Icon, { className: `${baseClassName}__Icon`, name: menuItem.icon })),
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { FlashingCellDefinition } from '../../../types';
|
|
3
3
|
declare type FlashingAlertDurationWizardSectionProps = {
|
|
4
4
|
readOnly?: boolean;
|
|
5
|
-
|
|
5
|
+
flashingCell?: FlashingCellDefinition;
|
|
6
6
|
onChange: (data: FlashingCellDefinition) => void;
|
|
7
7
|
};
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
8
|
+
export declare const renderFlashingAlertSettingsSummary: (flashingAlert: FlashingCellDefinition) => JSX.Element;
|
|
9
|
+
export declare const FlashingAlertSettingsWizardSection: (props: FlashingAlertDurationWizardSectionProps) => JSX.Element;
|
|
10
10
|
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlashingAlertSettingsWizardSection = exports.renderFlashingAlertSettingsSummary = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const rebass_1 = require("rebass");
|
|
8
|
+
const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
|
|
9
|
+
const usePrevious_1 = tslib_1.__importDefault(require("../../../components/utils/usePrevious"));
|
|
10
|
+
const Radio_1 = tslib_1.__importDefault(require("../../../components/Radio"));
|
|
11
|
+
const Tabs_1 = require("../../../components/Tabs");
|
|
12
|
+
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
13
|
+
const CodeBlock_1 = require("../../../components/CodeBlock");
|
|
14
|
+
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
15
|
+
exports.renderFlashingAlertSettingsSummary = (flashingAlert) => {
|
|
16
|
+
return (React.createElement(React.Fragment, null,
|
|
17
|
+
React.createElement(rebass_1.Text, { fontSize: 2 }, flashingAlert.FlashDuration === 'always' ? (React.createElement(React.Fragment, null, "Flashing is never removed")) : (React.createElement(React.Fragment, null,
|
|
18
|
+
"Flashing is removed after ",
|
|
19
|
+
React.createElement(CodeBlock_1.CodeBlock, null, flashingAlert.FlashDuration),
|
|
20
|
+
' ',
|
|
21
|
+
"milliseconds")))));
|
|
22
|
+
};
|
|
23
|
+
exports.FlashingAlertSettingsWizardSection = (props) => {
|
|
24
|
+
var _a;
|
|
25
|
+
let { data: flashingCell } = OnePageAdaptableWizard_1.useOnePageWizardContext();
|
|
26
|
+
flashingCell = flashingCell !== null && flashingCell !== void 0 ? flashingCell : props.flashingCell;
|
|
27
|
+
const setDuration = (FlashDuration) => {
|
|
28
|
+
props.onChange(Object.assign(Object.assign({}, flashingCell), { FlashDuration: FlashDuration }));
|
|
29
|
+
};
|
|
30
|
+
const duration = (_a = flashingCell.FlashDuration) !== null && _a !== void 0 ? _a : 500;
|
|
31
|
+
const numberDuration = React.useRef(typeof duration === 'number' ? duration : 500);
|
|
32
|
+
const inputRef = react_1.useRef(null);
|
|
33
|
+
const oldDuration = usePrevious_1.default(duration, duration);
|
|
34
|
+
React.useEffect(() => {
|
|
35
|
+
var _a;
|
|
36
|
+
if (oldDuration === 'always' && duration != oldDuration) {
|
|
37
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
38
|
+
}
|
|
39
|
+
}, [duration, oldDuration]);
|
|
40
|
+
const handleTypeChange = (type) => {
|
|
41
|
+
setDuration(type === 'number' ? numberDuration.current : 'always');
|
|
42
|
+
};
|
|
43
|
+
const handleTargetChange = (type) => {
|
|
44
|
+
props.onChange(Object.assign(Object.assign({}, flashingCell), { FlashTarget: type }));
|
|
45
|
+
};
|
|
46
|
+
return (React.createElement(rebass_1.Flex, { height: "100%", flexDirection: "column", "data-name": "plus-minus-column-settings" },
|
|
47
|
+
React.createElement(Tabs_1.Tabs, { autoFocus: false, padding: 2 },
|
|
48
|
+
React.createElement(Tabs_1.Tabs.Tab, null, "Flashing Cell Settings"),
|
|
49
|
+
React.createElement(Tabs_1.Tabs.Content, null,
|
|
50
|
+
React.createElement(FormLayout_1.default, null,
|
|
51
|
+
React.createElement(FormLayout_1.FormRow, { label: "Duration Type" },
|
|
52
|
+
React.createElement(Radio_1.default, { mr: 3, checked: duration == 'always', tabIndex: -1, onChange: () => handleTypeChange('always') }, "Always"),
|
|
53
|
+
React.createElement(Radio_1.default, { checked: duration !== 'always', tabIndex: -1, onChange: () => handleTypeChange('number') }, "Limited (ms)")),
|
|
54
|
+
React.createElement(FormLayout_1.FormRow, { label: "" },
|
|
55
|
+
duration !== 'always' && (React.createElement(rebass_1.Flex, { flexDirection: "row", alignItems: "baseline" },
|
|
56
|
+
React.createElement(rebass_1.Text, { fontSize: 2, mr: 2 }, "After"),
|
|
57
|
+
React.createElement(Input_1.default, { readOnly: props.readOnly, type: "text", name: "value", ref: inputRef, mt: 2, mr: 1, value: duration, onChange: (event) => {
|
|
58
|
+
const value = event.target.value;
|
|
59
|
+
setDuration(isNaN(Number(value)) ? 500 : Number(value));
|
|
60
|
+
} }),
|
|
61
|
+
React.createElement(rebass_1.Text, { fontSize: 2 }, "milliseconds"))),
|
|
62
|
+
duration === 'always' && (React.createElement(rebass_1.Text, { height: 43, fontSize: 3 }, "Persists the flashing style indeterminately - can be removed manually"))),
|
|
63
|
+
React.createElement(FormLayout_1.FormRow, { label: "Flash Target" },
|
|
64
|
+
React.createElement(Radio_1.default, { onChange: () => handleTargetChange('cell'), mr: 3, checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) == 'cell', tabIndex: -1 }, "Cell"),
|
|
65
|
+
React.createElement(Radio_1.default, { onChange: () => handleTargetChange('row'), checked: (flashingCell === null || flashingCell === void 0 ? void 0 : flashingCell.FlashTarget) == 'row', tabIndex: -1 }, "Row")))))));
|
|
66
|
+
};
|
|
@@ -6,7 +6,7 @@ const React = tslib_1.__importStar(require("react"));
|
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const rebass_1 = require("rebass");
|
|
8
8
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
9
|
-
const
|
|
9
|
+
const FlashingCellSettingsWizardSection_1 = require("./FlashingCellSettingsWizardSection");
|
|
10
10
|
const Helper_1 = require("../../../Utilities/Helpers/Helper");
|
|
11
11
|
const FlashingCellRulesWizardSection_1 = require("./FlashingCellRulesWizardSection");
|
|
12
12
|
const FlashingCellStyleWizardSection_1 = require("./FlashingCellStyleWizardSection");
|
|
@@ -74,9 +74,9 @@ exports.FlashingCellWizard = (props) => {
|
|
|
74
74
|
{
|
|
75
75
|
details: 'Select the Duration of the Flash',
|
|
76
76
|
render: () => (React.createElement(rebass_1.Box, { padding: 2 },
|
|
77
|
-
React.createElement(
|
|
78
|
-
renderSummary:
|
|
79
|
-
title: '
|
|
77
|
+
React.createElement(FlashingCellSettingsWizardSection_1.FlashingAlertSettingsWizardSection, { onChange: setFlashingCell }))),
|
|
78
|
+
renderSummary: FlashingCellSettingsWizardSection_1.renderFlashingAlertSettingsSummary,
|
|
79
|
+
title: 'Settings',
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
details: 'Choose the Flashing Styles',
|
|
@@ -17,6 +17,7 @@ const CheckBox_1 = require("../../../components/CheckBox");
|
|
|
17
17
|
const FormatHelper_1 = require("../../../Utilities/Helpers/FormatHelper");
|
|
18
18
|
const DateHelper_1 = require("../../../Utilities/Helpers/DateHelper");
|
|
19
19
|
const Tag_1 = require("../../../components/Tag");
|
|
20
|
+
const SpecialColumnSettingsWizardStep_1 = require("../../SpecialColumnSettingsWizardStep");
|
|
20
21
|
const options = [
|
|
21
22
|
{ value: Enums_1.DataType.Number, label: Enums_1.DataType.Number },
|
|
22
23
|
{ value: Enums_1.DataType.String, label: Enums_1.DataType.String },
|
|
@@ -59,8 +60,7 @@ exports.isValidFreeTextColumn = (data, api) => {
|
|
|
59
60
|
};
|
|
60
61
|
exports.FreeTextColumnSettingsWizardSection = (props) => {
|
|
61
62
|
const { data, api } = OnePageAdaptableWizard_1.useOnePageWizardContext();
|
|
62
|
-
const Pattern = api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions
|
|
63
|
-
.dateFormat;
|
|
63
|
+
const Pattern = api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat;
|
|
64
64
|
const [ColumnNameFocused, setColumnNameFocused] = react_1.useState(false);
|
|
65
65
|
const inEdit = props.isEdit;
|
|
66
66
|
const validCheck = exports.isValidFreeTextColumn(data, api);
|
|
@@ -98,6 +98,9 @@ exports.FreeTextColumnSettingsWizardSection = (props) => {
|
|
|
98
98
|
}
|
|
99
99
|
props.onChange(Object.assign(Object.assign({}, data), { DefaultValue }));
|
|
100
100
|
};
|
|
101
|
+
const handleSpecialColumnSettingsChange = (settings) => {
|
|
102
|
+
props.onChange(Object.assign(Object.assign({}, data), { FreeTextColumnSettings: Object.assign(Object.assign({}, data === null || data === void 0 ? void 0 : data.FreeTextColumnSettings), settings) }));
|
|
103
|
+
};
|
|
101
104
|
return (React.createElement(React.Fragment, null,
|
|
102
105
|
React.createElement(FormLayout_1.default, null,
|
|
103
106
|
React.createElement(FormLayout_1.FormRow, { label: "ColumnId" },
|
|
@@ -127,5 +130,7 @@ exports.FreeTextColumnSettingsWizardSection = (props) => {
|
|
|
127
130
|
data.DataType == 'String' && (React.createElement(FormLayout_1.FormRow, { label: "Editor Type" },
|
|
128
131
|
React.createElement(Radio_1.default, { value: "Inline", checked: data.TextEditor == 'Inline', onChange: (_, e) => onDynamicSelectChanged(e), marginRight: 2 }, "Inline Editor"),
|
|
129
132
|
React.createElement(Radio_1.default, { value: "Large", checked: data.TextEditor == 'Large', onChange: (_, e) => onDynamicSelectChanged(e) }, "Large Editor")))),
|
|
130
|
-
ErrorMessage ? React.createElement(ErrorBox_1.default, {
|
|
133
|
+
ErrorMessage ? (React.createElement(ErrorBox_1.default, { mt: 2, mb: 2 }, ErrorMessage)) : null,
|
|
134
|
+
React.createElement(rebass_1.Box, { mt: 2 },
|
|
135
|
+
React.createElement(SpecialColumnSettingsWizardStep_1.SpecialColumnSettingsWizardStep, { isEditable: true, settings: data.FreeTextColumnSettings, onChange: handleSpecialColumnSettingsChange }))));
|
|
131
136
|
};
|
|
@@ -32,6 +32,7 @@ exports.FreeTextColumnWizard = (props) => {
|
|
|
32
32
|
{
|
|
33
33
|
title: 'Settings',
|
|
34
34
|
details: 'Configure the Free Text Column',
|
|
35
|
+
isValid: FreeTextColumnSettingsWizardSection_1.isValidFreeTextColumn,
|
|
35
36
|
render: () => {
|
|
36
37
|
return (React.createElement(rebass_1.Box, { padding: 2 },
|
|
37
38
|
React.createElement(FreeTextColumnSettingsWizardSection_1.FreeTextColumnSettingsWizardSection, { isEdit: Boolean(props.data), onChange: setFreeTextColumn })));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { SpecialColumnSettings } from '../../types';
|
|
3
|
+
interface SpecialColumnTypeSettingsProps {
|
|
4
|
+
settings: SpecialColumnSettings;
|
|
5
|
+
onChange: (settings: SpecialColumnSettings) => void;
|
|
6
|
+
isEditable?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const SpecialColumnSettingsWizardStep: React.FunctionComponent<SpecialColumnTypeSettingsProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpecialColumnSettingsWizardStep = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chunk_1 = tslib_1.__importDefault(require("lodash-es/chunk"));
|
|
6
|
+
const React = tslib_1.__importStar(require("react"));
|
|
7
|
+
const rebass_1 = require("rebass");
|
|
8
|
+
const CheckBox_1 = require("../components/CheckBox");
|
|
9
|
+
const FormLayout_1 = tslib_1.__importStar(require("../components/FormLayout"));
|
|
10
|
+
const Tabs_1 = require("../components/Tabs");
|
|
11
|
+
const AdaptableContext_1 = require("./AdaptableContext");
|
|
12
|
+
exports.SpecialColumnSettingsWizardStep = (props) => {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
const adaptable = AdaptableContext_1.useAdaptable();
|
|
15
|
+
const possibleColumnTypes = adaptable.api.internalApi.getAdaptableOptions().userInterfaceOptions.columnTypes;
|
|
16
|
+
const { Filterable, Resizable, Groupable, Sortable, Pivotable, Aggregatable, SuppressMenu, SuppressMovable, } = (_a = props.settings) !== null && _a !== void 0 ? _a : {};
|
|
17
|
+
const handleColumnTypeChange = (columnType, checked) => {
|
|
18
|
+
var _a, _b, _c;
|
|
19
|
+
const columnTypes = (_b = (_a = props.settings) === null || _a === void 0 ? void 0 : _a.ColumnTypes) !== null && _b !== void 0 ? _b : [];
|
|
20
|
+
if (checked) {
|
|
21
|
+
props.onChange(Object.assign(Object.assign({}, props.settings), { ColumnTypes: [...columnTypes, columnType] }));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
props.onChange(Object.assign(Object.assign({}, props.settings), { ColumnTypes: (_c = columnTypes === null || columnTypes === void 0 ? void 0 : columnTypes.filter) === null || _c === void 0 ? void 0 : _c.call(columnTypes, (item) => item !== columnType) }));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const onSettingsChange = (values) => {
|
|
28
|
+
props.onChange(Object.assign(Object.assign({}, props.settings), values));
|
|
29
|
+
};
|
|
30
|
+
return (React.createElement(React.Fragment, null,
|
|
31
|
+
React.createElement(Tabs_1.Tabs, { marginTop: 2, autoFocus: false },
|
|
32
|
+
React.createElement(Tabs_1.Tabs.Tab, null, "Column Properties"),
|
|
33
|
+
React.createElement(Tabs_1.Tabs.Content, null,
|
|
34
|
+
React.createElement(rebass_1.Flex, { flexDirection: "row" },
|
|
35
|
+
React.createElement(FormLayout_1.default, { style: { width: '100%' }, columns: [
|
|
36
|
+
{ name: 'first', size: '30%' },
|
|
37
|
+
{ size: '30%', name: 'second' },
|
|
38
|
+
{ size: '30%', name: 'third' },
|
|
39
|
+
] },
|
|
40
|
+
React.createElement(FormLayout_1.FormRow, null,
|
|
41
|
+
React.createElement(CheckBox_1.CheckBox, { checked: Filterable, onChange: (Filterable) => onSettingsChange({ Filterable }), disabled: !adaptable.api.internalApi.getAdaptableOptions().filterOptions
|
|
42
|
+
.enableFilterOnSpecialColumns }, "Filterable"),
|
|
43
|
+
React.createElement(CheckBox_1.CheckBox, { checked: Resizable, onChange: (Resizable) => onSettingsChange({ Resizable }) }, "Resizable"),
|
|
44
|
+
React.createElement(CheckBox_1.CheckBox, { checked: Groupable, onChange: (Groupable) => onSettingsChange({ Groupable }) }, "Groupable")),
|
|
45
|
+
React.createElement(FormLayout_1.FormRow, null,
|
|
46
|
+
React.createElement(CheckBox_1.CheckBox, { checked: Sortable, onChange: (Sortable) => onSettingsChange({ Sortable }) }, "Sortable"),
|
|
47
|
+
React.createElement(CheckBox_1.CheckBox, { checked: Pivotable, onChange: (Pivotable) => onSettingsChange({ Pivotable }) }, "Pivotable"),
|
|
48
|
+
React.createElement(CheckBox_1.CheckBox, { checked: Aggregatable, onChange: (Aggregatable) => onSettingsChange({ Aggregatable }) }, "Aggregatable")),
|
|
49
|
+
React.createElement(FormLayout_1.FormRow, null,
|
|
50
|
+
React.createElement(CheckBox_1.CheckBox, { checked: SuppressMenu, onChange: (SuppressMenu) => onSettingsChange({ SuppressMenu }) }, "Suppress Menu"),
|
|
51
|
+
React.createElement(CheckBox_1.CheckBox, { checked: SuppressMovable, onChange: (SuppressMovable) => onSettingsChange({ SuppressMovable }) }, "Suppress Movable"),
|
|
52
|
+
React.createElement(CheckBox_1.CheckBox, { disabled: true, checked: props.isEditable }, "Editable")))))),
|
|
53
|
+
Boolean(possibleColumnTypes === null || possibleColumnTypes === void 0 ? void 0 : possibleColumnTypes.length) && (React.createElement(Tabs_1.Tabs, { marginTop: 2, autoFocus: false },
|
|
54
|
+
React.createElement(Tabs_1.Tabs.Tab, null, "Column Types"),
|
|
55
|
+
React.createElement(Tabs_1.Tabs.Content, null,
|
|
56
|
+
React.createElement(FormLayout_1.default, { columns: [{ name: 'first', size: '30%' }, { name: 'second' }] }, (_b = chunk_1.default(possibleColumnTypes !== null && possibleColumnTypes !== void 0 ? possibleColumnTypes : [], 2)) === null || _b === void 0 ? void 0 : _b.map(([first, second]) => {
|
|
57
|
+
var _a, _b, _c, _d, _e, _f;
|
|
58
|
+
return (React.createElement(FormLayout_1.FormRow, { key: first },
|
|
59
|
+
first && (React.createElement(CheckBox_1.CheckBox, { onChange: (checked) => handleColumnTypeChange(first, checked), checked: (_c = (_b = (_a = props.settings) === null || _a === void 0 ? void 0 : _a.ColumnTypes) === null || _b === void 0 ? void 0 : _b.includes) === null || _c === void 0 ? void 0 : _c.call(_b, first) }, first)),
|
|
60
|
+
second && (React.createElement(CheckBox_1.CheckBox, { onChange: (checked) => handleColumnTypeChange(second, checked), checked: (_f = (_e = (_d = props.settings) === null || _d === void 0 ? void 0 : _d.ColumnTypes) === null || _e === void 0 ? void 0 : _e.includes) === null || _f === void 0 ? void 0 : _f.call(_e, second) }, second))));
|
|
61
|
+
})))))));
|
|
62
|
+
};
|
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -1951,6 +1951,7 @@ class Adaptable {
|
|
|
1951
1951
|
const specialColumnsAreFilterable = this.api.internalApi.getAdaptableOptions().filterOptions.enableFilterOnSpecialColumns;
|
|
1952
1952
|
const defaultFreeTextColumnSettings = ObjectFactory_1.CreateEmptyFreeTextColumn(specialColumnsAreFilterable).FreeTextColumnSettings;
|
|
1953
1953
|
return this.api.freeTextColumnApi.getAllFreeTextColumn().map((freeTextColumn) => {
|
|
1954
|
+
var _a;
|
|
1954
1955
|
const freeTextColumnSettings = Object.assign(Object.assign({}, defaultFreeTextColumnSettings), freeTextColumn.FreeTextColumnSettings);
|
|
1955
1956
|
const dataTypeEditor = freeTextColumn.DataType === 'Number'
|
|
1956
1957
|
? AdaptableNumberEditor_1.AdaptableNumberEditor
|
|
@@ -1962,8 +1963,7 @@ class Adaptable {
|
|
|
1962
1963
|
GeneralConstants_1.AB_SPECIAL_COLUMN,
|
|
1963
1964
|
this.agGridHelper.getAgGridDataType(freeTextColumn.DataType),
|
|
1964
1965
|
];
|
|
1965
|
-
if (freeTextColumn.FreeTextColumnSettings
|
|
1966
|
-
ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(freeTextColumn.FreeTextColumnSettings.ColumnTypes)) {
|
|
1966
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty((_a = freeTextColumn === null || freeTextColumn === void 0 ? void 0 : freeTextColumn.FreeTextColumnSettings) === null || _a === void 0 ? void 0 : _a.ColumnTypes)) {
|
|
1967
1967
|
columnTypes.push(...freeTextColumn.FreeTextColumnSettings.ColumnTypes);
|
|
1968
1968
|
}
|
|
1969
1969
|
return {
|
|
@@ -2443,7 +2443,6 @@ class Adaptable {
|
|
|
2443
2443
|
*/
|
|
2444
2444
|
this.gridOptions.api.addEventListener(all_modules_1.Events.EVENT_COLUMN_RESIZED, (params) => {
|
|
2445
2445
|
if (params.finished == true && params.type == 'columnResized' && params.column) {
|
|
2446
|
-
this._emit('ColumnResized', params.column.getColId());
|
|
2447
2446
|
this.debouncedSaveGridLayout();
|
|
2448
2447
|
}
|
|
2449
2448
|
});
|
|
@@ -29,7 +29,7 @@ function Dashboard(props) {
|
|
|
29
29
|
top: position.y,
|
|
30
30
|
};
|
|
31
31
|
const renderTabs = () => (React.createElement("div", { className: "ab-Dashboard__tabs" }, children &&
|
|
32
|
-
React.Children.map(children, (child, index) => (React.createElement("button", { className: join_1.default('ab-Dashboard__tab', !collapsed && activeTabIndex === index ? 'ab-Dashboard__tab--active' : ''), key: index, onClick: () => {
|
|
32
|
+
React.Children.map(children, (child, index) => (React.createElement("button", { type: "button", className: join_1.default('ab-Dashboard__tab', !collapsed && activeTabIndex === index ? 'ab-Dashboard__tab--active' : ''), key: index, onClick: () => {
|
|
33
33
|
if (activeTabIndex === index) {
|
|
34
34
|
setCollapsed(!collapsed);
|
|
35
35
|
}
|