@adaptabletools/adaptable 16.0.0-canary.2 → 16.0.0-canary.4
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/README.md +2 -0
- package/base.css +62 -54
- package/base.css.map +1 -1
- package/bundle.cjs.js +159 -159
- package/index.css +82 -70
- package/index.css.map +1 -1
- package/package.json +10 -2
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +5 -1
- package/src/AdaptableOptions/ActionRowOptions.d.ts +8 -5
- package/src/AdaptableOptions/AdaptableOptions.d.ts +9 -4
- package/src/AdaptableOptions/ColumnOptions.d.ts +1 -10
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +6 -2
- package/src/AdaptableOptions/Fdc3Options.d.ts +150 -0
- package/src/AdaptableOptions/Fdc3Options.js +5 -0
- package/src/AdaptableOptions/FilterOptions.d.ts +1 -0
- package/src/AdaptableOptions/FinancePluginOptions.d.ts +9 -9
- package/src/AdaptableOptions/FormatColumnOptions.d.ts +7 -7
- package/src/AdaptableOptions/GroupingOptions.d.ts +6 -11
- package/src/AdaptableOptions/OpenFinPluginOptions.d.ts +1 -1
- package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
- package/src/AdaptableOptions/TeamSharingOptions.d.ts +5 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +21 -11
- package/src/Api/AdaptableApi.d.ts +7 -2
- package/src/Api/ColumnApi.d.ts +18 -7
- package/src/Api/DataChangeHistoryApi.d.ts +6 -0
- package/src/Api/EventApi.d.ts +22 -9
- package/src/Api/Events/ChexboxColumnClicked.d.ts +1 -0
- package/src/Api/Events/ScheduleTriggered.d.ts +11 -0
- package/src/Api/Events/ThemeChanged.d.ts +0 -6
- package/src/Api/Events/ThemeEdited.d.ts +11 -0
- package/src/Api/Events/ThemeEdited.js +2 -0
- package/src/Api/Fdc3Api.d.ts +83 -0
- package/src/Api/Fdc3Api.js +2 -0
- package/src/Api/FinanceApi.d.ts +12 -12
- package/src/Api/Implementation/ActionRowApiImpl.js +7 -5
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +3 -0
- package/src/Api/Implementation/ApiBase.d.ts +4 -0
- package/src/Api/Implementation/ApiBase.js +6 -0
- package/src/Api/Implementation/ChartingApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ChartingApiImpl.js +4 -0
- package/src/Api/Implementation/ColumnApiImpl.d.ts +4 -1
- package/src/Api/Implementation/ColumnApiImpl.js +22 -3
- package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +3 -0
- package/src/Api/Implementation/Fdc3ApiImpl.d.ts +26 -0
- package/src/Api/Implementation/Fdc3ApiImpl.js +79 -0
- package/src/Api/Implementation/OptionsApiImpl.d.ts +2 -0
- package/src/Api/Implementation/OptionsApiImpl.js +3 -0
- package/src/Api/Implementation/PredicateApiImpl.d.ts +5 -5
- package/src/Api/Implementation/PredicateApiImpl.js +8 -8
- package/src/Api/Implementation/QuickSearchApiImpl.d.ts +2 -0
- package/src/Api/Implementation/QuickSearchApiImpl.js +7 -0
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +4 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +5 -0
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +0 -3
- package/src/Api/Implementation/StyledColumnApiImpl.js +0 -26
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +5 -4
- package/src/Api/Implementation/UserInterfaceApiImpl.js +5 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +5 -3
- package/src/Api/Internal/AdaptableInternalApi.js +18 -12
- package/src/Api/Internal/AlertInternalApi.js +7 -2
- package/src/Api/Internal/Fdc3InternalApi.d.ts +11 -0
- package/src/Api/Internal/Fdc3InternalApi.js +72 -0
- package/src/Api/Internal/FilterInternalApi.js +8 -4
- package/src/Api/Internal/FormatColumnInternalApi.js +11 -13
- package/src/Api/Internal/ScheduleInternalApi.d.ts +8 -0
- package/src/Api/Internal/ScheduleInternalApi.js +20 -0
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +5 -2
- package/src/Api/Internal/StyledColumnInternalApi.js +29 -2
- package/src/Api/Internal/UserInterfaceInternalApi.d.ts +5 -0
- package/src/Api/Internal/UserInterfaceInternalApi.js +18 -0
- package/src/Api/OptionsApi.d.ts +6 -1
- package/src/Api/PredicateApi.d.ts +5 -5
- package/src/Api/QuickSearchApi.d.ts +8 -0
- package/src/Api/StyledColumnApi.d.ts +0 -14
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +7 -7
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +8 -15
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +65 -41
- package/src/PredefinedConfig/Common/{FDC3Context.d.ts → FDC3Context_DEPR.d.ts} +19 -19
- package/src/PredefinedConfig/Common/FDC3Context_DEPR.js +2 -0
- package/src/PredefinedConfig/Common/Fdc3Context.d.ts +53 -0
- package/src/PredefinedConfig/Common/Fdc3Context.js +35 -0
- package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +68 -0
- package/src/PredefinedConfig/Common/Fdc3Intent.js +75 -0
- package/src/PredefinedConfig/Common/Types.d.ts +2 -2
- package/src/PredefinedConfig/StyledColumnState.d.ts +3 -2
- package/src/PredefinedConfig/SystemState.d.ts +3 -0
- package/src/PredefinedConfig/TeamSharingState.d.ts +1 -1
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +17 -6
- package/src/Redux/ActionsReducers/SystemRedux.js +33 -3
- package/src/Redux/Store/AdaptableStore.js +3 -4
- package/src/Strategy/AdaptableModuleBase.d.ts +6 -6
- package/src/Strategy/Fdc3Module.d.ts +13 -0
- package/src/Strategy/Fdc3Module.js +85 -0
- package/src/Strategy/FlashingCellModule.js +6 -2
- package/src/Strategy/Interface/IModule.d.ts +2 -2
- package/src/Strategy/ScheduleModule.js +3 -2
- package/src/Strategy/StyledColumnModule.js +24 -15
- package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
- package/src/Utilities/Constants/ModuleConstants.d.ts +3 -0
- package/src/Utilities/Constants/ModuleConstants.js +5 -2
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +9 -3
- package/src/Utilities/MenuItem.d.ts +4 -4
- package/src/Utilities/Services/Fdc3Service.d.ts +20 -0
- package/src/Utilities/Services/Fdc3Service.js +87 -0
- package/src/Utilities/Services/MetamodelService.js +5 -1
- package/src/Utilities/Services/ModuleService.js +1 -1
- package/src/Utilities/Services/QueryLanguageService.js +1 -1
- package/src/Utilities/Services/RowEditService.js +1 -1
- package/src/Utilities/Services/TeamSharingService.d.ts +2 -0
- package/src/Utilities/Services/TeamSharingService.js +60 -3
- package/src/Utilities/Services/ValidationService.js +6 -2
- package/src/View/AdaptableView.js +9 -7
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableConfig.d.ts +9 -0
- package/src/View/Charting/useChartingElements.js +1 -1
- package/src/View/Components/AdaptableButton/index.d.ts +3 -0
- package/src/View/Components/AdaptableButton/index.js +18 -0
- package/src/View/Components/AdaptableIconComponent/index.d.ts +7 -0
- package/src/View/Components/AdaptableIconComponent/index.js +16 -0
- package/src/View/Components/AdaptableIconComponent/useCustomIcon.d.ts +2 -0
- package/src/View/Components/AdaptableIconComponent/useCustomIcon.js +12 -0
- package/src/{components → View/Components}/Badge/index.d.ts +1 -1
- package/src/{components → View/Components}/Badge/index.js +1 -1
- package/src/View/Components/FilterForm/FilterForm.js +1 -1
- package/src/View/Components/FilterForm/ListBoxMenu.js +2 -2
- package/src/View/Components/FilterForm/QuickFilterForm.js +3 -2
- package/src/View/Components/Panels/PanelWithButton.d.ts +2 -2
- package/src/View/Components/Panels/PanelWithImage.d.ts +3 -3
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -3
- package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
- package/src/View/Components/PredicateEditor/PredicateEditor.js +4 -4
- package/src/View/Dashboard/CustomToolbarWrapper.js +2 -2
- package/src/View/Dashboard/Dashboard.js +3 -3
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +1 -0
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +13 -7
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +7 -1
- package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +1 -1
- package/src/View/DataChangeHistory/buildActionColumnButton.js +9 -2
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
- package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.d.ts +2 -0
- package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +26 -0
- package/src/View/QuickSearch/QuickSearchInput.d.ts +6 -0
- package/src/View/QuickSearch/QuickSearchInput.js +22 -0
- package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +2 -5
- package/src/View/QuickSearch/QuickSearchViewPanel.js +5 -19
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +2 -9
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +0 -1
- package/src/View/UIHelper.d.ts +2 -2
- package/src/agGrid/ActionColumnRenderer.d.ts +0 -2
- package/src/agGrid/ActionColumnRenderer.js +21 -6
- package/src/agGrid/Adaptable.d.ts +7 -2
- package/src/agGrid/Adaptable.js +82 -37
- package/src/agGrid/BadgeRenderer.js +19 -20
- package/src/agGrid/CheckboxRenderer.js +1 -1
- package/src/agGrid/agGridHelper.js +4 -0
- package/src/agGrid/agGridMenuHelper.js +11 -4
- package/src/agGrid/attachAddaptableColumnTypes.d.ts +1 -0
- package/src/agGrid/attachAddaptableColumnTypes.js +5 -4
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +1 -1
- package/src/components/Drawer/index.d.ts +6 -0
- package/src/components/Drawer/index.js +60 -0
- package/src/components/ExpressionEditor/index.js +4 -2
- package/src/components/Icon/index.d.ts +11 -0
- package/src/components/{AdaptableIconComponent → Icon}/index.js +10 -10
- package/src/components/IconSelector/IconSelector.js +3 -3
- package/src/components/SimpleButton/index.js +10 -10
- package/src/components/Toggle/Toggle.d.ts +2 -2
- package/src/components/Toggle/Toggle.js +2 -2
- package/src/components/icons/fdc3.d.ts +3 -0
- package/src/components/icons/fdc3.js +9 -0
- package/src/components/icons/index.d.ts +4 -4
- package/src/components/icons/index.js +9 -7
- package/src/metamodel/adaptable.metamodel.d.ts +117 -47
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +9 -5
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/View/Components/AdaptableViewIcon/index.d.ts +0 -10
- package/src/View/Components/AdaptableViewIcon/index.js +0 -18
- package/src/components/AdaptableIconComponent/index.d.ts +0 -11
- /package/src/{PredefinedConfig/Common/FDC3Context.js → Api/Events/ScheduleTriggered.js} +0 -0
|
@@ -13,13 +13,14 @@ const ScheduleRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/Sch
|
|
|
13
13
|
const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
|
|
14
14
|
const dateTimeouts = {};
|
|
15
15
|
const NodeSchedule = {
|
|
16
|
-
scheduleJob: (date, fn) => {
|
|
16
|
+
scheduleJob: (date, schedule, api, fn) => {
|
|
17
17
|
const timestamp = +date;
|
|
18
18
|
const now = Date.now();
|
|
19
19
|
const timeUntilDate = timestamp - now;
|
|
20
20
|
if (timeUntilDate > 0) {
|
|
21
21
|
const timeoutId = +setTimeout(() => {
|
|
22
22
|
fn();
|
|
23
|
+
api.scheduleApi.internalApi.fireScheduleTriggeredEvent(schedule);
|
|
23
24
|
}, timeUntilDate);
|
|
24
25
|
dateTimeouts[timestamp] = timeoutId;
|
|
25
26
|
}
|
|
@@ -70,7 +71,7 @@ class ScheduleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
70
71
|
addSchedule(schedule, scheduleType) {
|
|
71
72
|
const date = this.getDateFromSchedule(schedule.Schedule);
|
|
72
73
|
if (date != null) {
|
|
73
|
-
const alertJob = NodeSchedule.scheduleJob(date, () => {
|
|
74
|
+
const alertJob = NodeSchedule.scheduleJob(date, schedule, this.api, () => {
|
|
74
75
|
this.api.scheduleApi.applySchedule(schedule, scheduleType);
|
|
75
76
|
});
|
|
76
77
|
this.scheduleJobs.push(alertJob);
|
|
@@ -24,7 +24,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
24
24
|
const activeCheckboxColumnIds = this.api.columnApi
|
|
25
25
|
.getColumns()
|
|
26
26
|
.filter((aColumn) => {
|
|
27
|
-
const checkboxColumn = this.api.styledColumnApi.getCheckBoxStyleStyledColumn(aColumn);
|
|
27
|
+
const checkboxColumn = this.api.styledColumnApi.internalApi.getCheckBoxStyleStyledColumn(aColumn);
|
|
28
28
|
return checkboxColumn && !checkboxColumn.IsSuspended;
|
|
29
29
|
})
|
|
30
30
|
.map((aColumn) => aColumn.columnId);
|
|
@@ -77,7 +77,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
77
77
|
if (column && this.isModuleEditable()) {
|
|
78
78
|
let styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(column.columnId);
|
|
79
79
|
// First look at Sparkline Columns - needs to be editable array type
|
|
80
|
-
if (this.api.columnApi.
|
|
80
|
+
if (this.api.columnApi.hasNumericArrayDataType(column.columnId) &&
|
|
81
81
|
column.IsReadOnly !== true &&
|
|
82
82
|
this.api.styledColumnApi.canDisplaySparklines()) {
|
|
83
83
|
let sparklineColumnExists = column.isSparkline && Boolean(styledColumn);
|
|
@@ -171,21 +171,30 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
171
171
|
break;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
// Then do Checkbox
|
|
174
|
+
// Then do Checkbox - now removed as AG Grid 30 offers this
|
|
175
|
+
/*
|
|
175
176
|
if (column.dataType == 'Boolean' && !this.api.columnApi.isFreeTextColumn(column.columnId)) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
177
|
+
const hasCheckBox: boolean = styledColumn && styledColumn?.CheckBoxStyle;
|
|
178
|
+
if (hasCheckBox) {
|
|
179
|
+
returnColumnMenuItems.push(
|
|
180
|
+
this.createColumnMenuItemClickFunction('Remove Checkbox', 'unchecked', () => {
|
|
181
|
+
this.api.styledColumnApi.deleteStyledColumn(styledColumn);
|
|
182
|
+
})
|
|
183
|
+
);
|
|
184
|
+
} else {
|
|
185
|
+
returnColumnMenuItems.push(
|
|
186
|
+
this.createColumnMenuItemClickFunction('Show as Checkbox', 'checked', () => {
|
|
187
|
+
const styledColumn = ObjectFactory.CreateEmptyStyledColumn();
|
|
188
|
+
this.api.styledColumnApi.addStyledColumn({
|
|
189
|
+
...styledColumn,
|
|
190
|
+
ColumnId: column.columnId,
|
|
191
|
+
CheckBoxStyle: true,
|
|
192
|
+
});
|
|
193
|
+
})
|
|
194
|
+
);
|
|
195
|
+
}
|
|
188
196
|
}
|
|
197
|
+
*/
|
|
189
198
|
}
|
|
190
199
|
}
|
|
191
200
|
return returnColumnMenuItems;
|
|
@@ -11,7 +11,7 @@ exports.AggregatedBooleanQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptab
|
|
|
11
11
|
exports.AggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-scalar`;
|
|
12
12
|
exports.CumulativeAggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-scalar#cumulative-aggregation`;
|
|
13
13
|
exports.PredicateDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-predicate`;
|
|
14
|
-
exports.PrimaryKeyDocsLink = `${exports.HOST_URL_DOCS}/guide/
|
|
14
|
+
exports.PrimaryKeyDocsLink = `${exports.HOST_URL_DOCS}/guide/getting-started-primary-key`;
|
|
15
15
|
exports.LicenseDocsLink = `${exports.HOST_URL_DOCS}/guide/licensing`;
|
|
16
16
|
exports.AdaptableOptionsDocsLink = `${exports.HOST_URL_DOCS}/guide/reference-options-overview`;
|
|
17
17
|
exports.AgGridModulesDocsLink = `${exports.HOST_URL_DOCS}/TODO_TODO_TODO`;
|
|
@@ -21,6 +21,8 @@ export declare const DataSetModuleId: ModuleConstants;
|
|
|
21
21
|
export declare const DataSetFriendlyName = "Data Set";
|
|
22
22
|
export declare const ExportModuleId: ModuleConstants;
|
|
23
23
|
export declare const ExportFriendlyName = "Export";
|
|
24
|
+
export declare const Fdc3ModuleId: ModuleConstants;
|
|
25
|
+
export declare const Fdc3FriendlyName = "FDC3";
|
|
24
26
|
export declare const FilterModuleId: ModuleConstants;
|
|
25
27
|
export declare const FilterFriendlyName = "Filter";
|
|
26
28
|
export declare const FormatColumnModuleId: ModuleConstants;
|
|
@@ -77,6 +79,7 @@ export declare const ADAPTABLE_MODULE_MAP: {
|
|
|
77
79
|
DataChangeHistory: string;
|
|
78
80
|
DataSet: string;
|
|
79
81
|
Export: string;
|
|
82
|
+
Fdc3: string;
|
|
80
83
|
Filter: string;
|
|
81
84
|
FormatColumn: string;
|
|
82
85
|
FreeTextColumn: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.ADAPTABLE_MODULE_MAP = exports.StatusBarFriendlyName = exports.StatusBarModuleId = exports.SettingsPanelFriendlyName = exports.SettingsPanelModuleId = exports.ToolPanelFriendlyName = exports.ToolPanelModuleId = exports.ThemeFriendlyName = exports.ThemeModuleId = exports.TeamSharingFriendlyName = exports.TeamSharingModuleId = exports.SystemStatusFriendlyName = exports.SystemStatusModuleId = exports.StateManagementFriendlyName = exports.StateManagementModuleId = exports.StyledColumnFriendlyName = exports.StyledColumnModuleId = void 0;
|
|
3
|
+
exports.ShortcutFriendlyName = exports.ShortcutModuleId = exports.ScheduleFriendlyName = exports.ScheduleModuleId = exports.QuickSearchFriendlyName = exports.QuickSearchModuleId = exports.QueryFriendlyName = exports.QueryModuleId = exports.PlusMinusFriendlyName = exports.PlusMinusModuleId = exports.OpenFinFriendlyName = exports.OpenFinModuleId = exports.LayoutFriendlyName = exports.LayoutModuleId = exports.IPushPullFriendlyName = exports.IPushPullModuleId = exports.GridInfoFriendlyName = exports.GridInfoModuleId = exports.Glue42FriendlyName = exports.Glue42ModuleId = exports.FreeTextColumnFriendlyName = exports.FreeTextColumnModuleId = exports.FormatColumnFriendlyName = exports.FormatColumnModuleId = exports.FilterFriendlyName = exports.FilterModuleId = exports.Fdc3FriendlyName = exports.Fdc3ModuleId = exports.ExportFriendlyName = exports.ExportModuleId = exports.DataSetFriendlyName = exports.DataSetModuleId = exports.DataChangeHistoryFriendlyName = exports.DataChangeHistoryModuleId = exports.DashboardFriendlyName = exports.DashboardModuleId = exports.CustomSortFriendlyName = exports.CustomSortModuleId = exports.ChartingFriendlyName = exports.ChartingModuleId = exports.CellSummaryFriendlyName = exports.CellSummaryModuleId = exports.CalculatedColumnFriendlyName = exports.CalculatedColumnModuleId = exports.BulkUpdateFriendlyName = exports.BulkUpdateModuleId = exports.FlashingCellFriendlyName = exports.FlashingCellModuleId = exports.AlertModuleFriendlyName = exports.AlertModuleId = void 0;
|
|
4
|
+
exports.ADAPTABLE_MODULE_MAP = exports.StatusBarFriendlyName = exports.StatusBarModuleId = exports.SettingsPanelFriendlyName = exports.SettingsPanelModuleId = exports.ToolPanelFriendlyName = exports.ToolPanelModuleId = exports.ThemeFriendlyName = exports.ThemeModuleId = exports.TeamSharingFriendlyName = exports.TeamSharingModuleId = exports.SystemStatusFriendlyName = exports.SystemStatusModuleId = exports.StateManagementFriendlyName = exports.StateManagementModuleId = exports.StyledColumnFriendlyName = exports.StyledColumnModuleId = exports.SmartEditFriendlyName = exports.SmartEditModuleId = void 0;
|
|
5
5
|
exports.AlertModuleId = 'Alert';
|
|
6
6
|
exports.AlertModuleFriendlyName = 'Alert';
|
|
7
7
|
exports.FlashingCellModuleId = 'FlashingCell';
|
|
@@ -24,6 +24,8 @@ exports.DataSetModuleId = 'DataSet';
|
|
|
24
24
|
exports.DataSetFriendlyName = 'Data Set';
|
|
25
25
|
exports.ExportModuleId = 'Export';
|
|
26
26
|
exports.ExportFriendlyName = 'Export';
|
|
27
|
+
exports.Fdc3ModuleId = 'Fdc3';
|
|
28
|
+
exports.Fdc3FriendlyName = 'FDC3';
|
|
27
29
|
exports.FilterModuleId = 'Filter';
|
|
28
30
|
exports.FilterFriendlyName = 'Filter';
|
|
29
31
|
exports.FormatColumnModuleId = 'FormatColumn';
|
|
@@ -80,6 +82,7 @@ exports.ADAPTABLE_MODULE_MAP = {
|
|
|
80
82
|
[exports.DataChangeHistoryModuleId]: exports.DataChangeHistoryFriendlyName,
|
|
81
83
|
[exports.DataSetModuleId]: exports.DataSetFriendlyName,
|
|
82
84
|
[exports.ExportModuleId]: exports.ExportFriendlyName,
|
|
85
|
+
[exports.Fdc3ModuleId]: exports.Fdc3FriendlyName,
|
|
83
86
|
[exports.FilterModuleId]: exports.FilterFriendlyName,
|
|
84
87
|
[exports.FormatColumnModuleId]: exports.FormatColumnFriendlyName,
|
|
85
88
|
[exports.FreeTextColumnModuleId]: exports.FreeTextColumnFriendlyName,
|
|
@@ -91,7 +91,6 @@ exports.DefaultAdaptableOptions = {
|
|
|
91
91
|
columnFriendlyName: undefined,
|
|
92
92
|
columnTypes: GeneralConstants_1.EMPTY_ARRAY,
|
|
93
93
|
showMissingColumnsWarning: true,
|
|
94
|
-
autoOrderGroupedColumns: true,
|
|
95
94
|
},
|
|
96
95
|
dashboardOptions: {
|
|
97
96
|
canFloat: true,
|
|
@@ -107,10 +106,10 @@ exports.DefaultAdaptableOptions = {
|
|
|
107
106
|
actionRowButtons: undefined,
|
|
108
107
|
autoHandle: true,
|
|
109
108
|
disableInlineEditing: false,
|
|
109
|
+
setPrimaryKeyValue: undefined,
|
|
110
110
|
actionRowButtonOptions: {
|
|
111
111
|
customConfiguration: undefined,
|
|
112
112
|
position: 'pinnedLeft',
|
|
113
|
-
setPrimaryKeyValue: undefined,
|
|
114
113
|
},
|
|
115
114
|
actionRowFormOptions: {
|
|
116
115
|
formTitle: undefined,
|
|
@@ -157,9 +156,10 @@ exports.DefaultAdaptableOptions = {
|
|
|
157
156
|
showGroupingTotalsAsHeader: false,
|
|
158
157
|
unbalancedGroupsKey: undefined,
|
|
159
158
|
restoreUngroupedColumns: false,
|
|
159
|
+
autoOrderGroupedColumns: true,
|
|
160
160
|
},
|
|
161
161
|
formatColumnOptions: {
|
|
162
|
-
customDisplayFormatters: undefined
|
|
162
|
+
customDisplayFormatters: undefined,
|
|
163
163
|
},
|
|
164
164
|
layoutOptions: {
|
|
165
165
|
displayRowGroups: 'closed',
|
|
@@ -212,6 +212,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
212
212
|
defaultDateColumnFilter: 'On',
|
|
213
213
|
defaultFilterFormTab: 'Values',
|
|
214
214
|
enableFilterOnSpecialColumns: true,
|
|
215
|
+
filterUsingTime: false,
|
|
215
216
|
maxFilterValuesToDisplay: 2000,
|
|
216
217
|
showQuickFilter: true,
|
|
217
218
|
showDistinctFilteredValuesOnly: false,
|
|
@@ -245,6 +246,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
245
246
|
updateInterval: 0,
|
|
246
247
|
updateNotification: undefined,
|
|
247
248
|
suppressOverrideConfigWarning: false,
|
|
249
|
+
showUpdateNotificationOncePerUpdate: false,
|
|
248
250
|
},
|
|
249
251
|
userInterfaceOptions: {
|
|
250
252
|
alternativeModuleNames: undefined,
|
|
@@ -292,4 +294,8 @@ exports.DefaultAdaptableOptions = {
|
|
|
292
294
|
saveStrategy: 'none',
|
|
293
295
|
agGridContainerName: GeneralConstants.AG_GRID_CHART_WINDOW,
|
|
294
296
|
},
|
|
297
|
+
fdc3Options: {
|
|
298
|
+
enableFdc3: false,
|
|
299
|
+
enableLogging: false,
|
|
300
|
+
},
|
|
295
301
|
};
|
|
@@ -2,9 +2,9 @@ import * as Redux from 'redux';
|
|
|
2
2
|
import { ModuleParams } from '../View/Components/SharedProps/ModuleViewPopupProps';
|
|
3
3
|
import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
|
|
4
4
|
import { AdaptableModule } from '../PredefinedConfig/Common/Types';
|
|
5
|
-
import { AdaptableIcon,
|
|
5
|
+
import { AdaptableIcon, AdaptableSystemIconName } from '../PredefinedConfig/Common/AdaptableIcon';
|
|
6
6
|
export declare class MenuItemDoReduxAction implements AdaptableMenuItem {
|
|
7
|
-
constructor(label: string, module: AdaptableModule, reduxAction: Redux.Action, icon:
|
|
7
|
+
constructor(label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
|
|
8
8
|
reduxAction: Redux.Action;
|
|
9
9
|
label: string;
|
|
10
10
|
module: AdaptableModule;
|
|
@@ -12,7 +12,7 @@ export declare class MenuItemDoReduxAction implements AdaptableMenuItem {
|
|
|
12
12
|
icon: AdaptableIcon;
|
|
13
13
|
}
|
|
14
14
|
export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
|
|
15
|
-
constructor(label: string, module: AdaptableModule, clickFunction: () => void, icon:
|
|
15
|
+
constructor(label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
|
|
16
16
|
onClick: () => void;
|
|
17
17
|
label: string;
|
|
18
18
|
module: AdaptableModule;
|
|
@@ -20,7 +20,7 @@ export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
|
|
|
20
20
|
icon: AdaptableIcon;
|
|
21
21
|
}
|
|
22
22
|
export declare class MenuItemShowPopup implements AdaptableMenuItem {
|
|
23
|
-
constructor(label: string, module: AdaptableModule, componentName: string, icon:
|
|
23
|
+
constructor(label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
|
|
24
24
|
reduxAction: Redux.Action;
|
|
25
25
|
label: string;
|
|
26
26
|
module: AdaptableModule;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IAdaptableService } from './Interface/IAdaptableService';
|
|
2
|
+
import { AdaptableApi } from '../../Api/AdaptableApi';
|
|
3
|
+
import { DesktopAgent, IntentResolution } from '@finos/fdc3';
|
|
4
|
+
import { Context } from '@finos/fdc3/dist/context/ContextTypes';
|
|
5
|
+
import { AppIdentifier } from '@finos/fdc3/dist/api/AppIdentifier';
|
|
6
|
+
export declare class Fdc3Service implements IAdaptableService {
|
|
7
|
+
private adaptableApi;
|
|
8
|
+
private contextHandlerSubscriptions;
|
|
9
|
+
private intentHandlerSubscriptions;
|
|
10
|
+
loggedAgentError: boolean;
|
|
11
|
+
constructor(adaptableApi: AdaptableApi);
|
|
12
|
+
getDesktopAgent(): DesktopAgent;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
raiseIntent(intent: string, context: Context, app?: AppIdentifier): Promise<IntentResolution>;
|
|
15
|
+
raiseIntentForContext(context: Context, app?: AppIdentifier): Promise<IntentResolution>;
|
|
16
|
+
broadcast(context: Context): Promise<void>;
|
|
17
|
+
private logFdc3Event;
|
|
18
|
+
private getFdc3Api;
|
|
19
|
+
private getFdc3Options;
|
|
20
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Fdc3Service = void 0;
|
|
4
|
+
class Fdc3Service {
|
|
5
|
+
constructor(adaptableApi) {
|
|
6
|
+
this.adaptableApi = adaptableApi;
|
|
7
|
+
this.contextHandlerSubscriptions = [];
|
|
8
|
+
this.intentHandlerSubscriptions = [];
|
|
9
|
+
this.loggedAgentError = false;
|
|
10
|
+
this.adaptableApi.eventApi.on('AdaptableReady', () => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const adaptableHandleIntentFn = this.getFdc3Options().handleIntent;
|
|
13
|
+
const listenForIntents = (_a = this.getFdc3Options().intents) === null || _a === void 0 ? void 0 : _a.listensFor;
|
|
14
|
+
if (listenForIntents === null || listenForIntents === void 0 ? void 0 : listenForIntents.length) {
|
|
15
|
+
if (!adaptableHandleIntentFn) {
|
|
16
|
+
this.adaptableApi.logError(`Following FDC3 Intent Listener(s) have been provided but no 'handleIntent' function has been supplied in the FDC3 Options`, listenForIntents);
|
|
17
|
+
}
|
|
18
|
+
listenForIntents.forEach((intent) => {
|
|
19
|
+
var _a;
|
|
20
|
+
(_a = this.getDesktopAgent()) === null || _a === void 0 ? void 0 : _a.addIntentListener(intent, (context, metadata) => {
|
|
21
|
+
this.logFdc3Event('IN', `Intent`, JSON.stringify(context));
|
|
22
|
+
const fnContext = Object.assign(Object.assign({}, this.adaptableApi.internalApi.buildBaseContext()), { context,
|
|
23
|
+
metadata });
|
|
24
|
+
adaptableHandleIntentFn === null || adaptableHandleIntentFn === void 0 ? void 0 : adaptableHandleIntentFn(fnContext);
|
|
25
|
+
}).then((listener) => this.intentHandlerSubscriptions.push(listener));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const adaptableHandleContextFn = this.getFdc3Options().handleContext;
|
|
29
|
+
const listenForContexts = (_b = this.getFdc3Options().contexts) === null || _b === void 0 ? void 0 : _b.listensFor;
|
|
30
|
+
if (listenForContexts === null || listenForContexts === void 0 ? void 0 : listenForContexts.length) {
|
|
31
|
+
if (!adaptableHandleContextFn) {
|
|
32
|
+
this.adaptableApi.logError(`Following FDC3 Context Listener(s) have been provided but no 'handleContext' function has been supplied in the FDC3 Options`, listenForContexts);
|
|
33
|
+
}
|
|
34
|
+
listenForContexts.forEach((contextType) => {
|
|
35
|
+
var _a;
|
|
36
|
+
(_a = this.getDesktopAgent()) === null || _a === void 0 ? void 0 : _a.addContextListener(contextType, (context, metadata) => {
|
|
37
|
+
this.logFdc3Event('IN', `Context`, JSON.stringify(context));
|
|
38
|
+
const fnContext = Object.assign(Object.assign({}, this.adaptableApi.internalApi.buildBaseContext()), { context,
|
|
39
|
+
metadata });
|
|
40
|
+
adaptableHandleContextFn === null || adaptableHandleContextFn === void 0 ? void 0 : adaptableHandleContextFn(fnContext);
|
|
41
|
+
}).then((listener) => this.contextHandlerSubscriptions.push(listener));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
getDesktopAgent() {
|
|
47
|
+
if (globalThis.fdc3 == null && !this.loggedAgentError) {
|
|
48
|
+
this.loggedAgentError = true;
|
|
49
|
+
this.adaptableApi.logError('FDC3 Desktop Agent not found. This should be provided by the wrapper application.');
|
|
50
|
+
}
|
|
51
|
+
return globalThis.fdc3;
|
|
52
|
+
}
|
|
53
|
+
destroy() {
|
|
54
|
+
this.contextHandlerSubscriptions.forEach((subscription) => subscription.unsubscribe());
|
|
55
|
+
this.intentHandlerSubscriptions.forEach((subscription) => subscription.unsubscribe());
|
|
56
|
+
}
|
|
57
|
+
raiseIntent(intent, context, app) {
|
|
58
|
+
var _a;
|
|
59
|
+
this.logFdc3Event('OUT', `raise ${intent}`, JSON.stringify(context));
|
|
60
|
+
return (_a = this.getDesktopAgent()) === null || _a === void 0 ? void 0 : _a.raiseIntent(intent, context, app);
|
|
61
|
+
}
|
|
62
|
+
raiseIntentForContext(context, app) {
|
|
63
|
+
var _a;
|
|
64
|
+
this.logFdc3Event('OUT', `raise for context`, JSON.stringify(context));
|
|
65
|
+
return (_a = this.getDesktopAgent()) === null || _a === void 0 ? void 0 : _a.raiseIntentForContext(context, app);
|
|
66
|
+
}
|
|
67
|
+
broadcast(context) {
|
|
68
|
+
var _a;
|
|
69
|
+
this.logFdc3Event('OUT', `broadcast`, JSON.stringify(context));
|
|
70
|
+
return (_a = this.getDesktopAgent()) === null || _a === void 0 ? void 0 : _a.broadcast(context);
|
|
71
|
+
}
|
|
72
|
+
logFdc3Event(type, ...params) {
|
|
73
|
+
if (!this.getFdc3Options().enableLogging) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.adaptableApi.internalApi
|
|
77
|
+
.getAdaptableInstance()
|
|
78
|
+
.logger.consoleLog(`FDC3::${type} - `, params.join(' : '));
|
|
79
|
+
}
|
|
80
|
+
getFdc3Api() {
|
|
81
|
+
return this.adaptableApi.fdc3Api;
|
|
82
|
+
}
|
|
83
|
+
getFdc3Options() {
|
|
84
|
+
return this.adaptableApi.optionsApi.getFdc3Options();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.Fdc3Service = Fdc3Service;
|
|
@@ -50,7 +50,11 @@ class MetamodelService {
|
|
|
50
50
|
Object.entries(optionsObject).forEach(([optionKey, optionValue]) => {
|
|
51
51
|
var _a;
|
|
52
52
|
if (optionKey === 'gridOptions') {
|
|
53
|
-
|
|
53
|
+
validationErrors.push('gridOptions was removed from AdapTable Options in Version 16 and is no longer used');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (optionKey === '_gridOptions') {
|
|
57
|
+
// gridOptions is a special case as it's NOT a public property, but we set and use it internally
|
|
54
58
|
return;
|
|
55
59
|
}
|
|
56
60
|
const optionMetamodel = (_a = optionsObjectMetamodel === null || optionsObjectMetamodel === void 0 ? void 0 : optionsObjectMetamodel.props) === null || _a === void 0 ? void 0 : _a.find((metamodelProperty) => metamodelProperty.name === optionKey);
|
|
@@ -140,7 +140,7 @@ class ModuleService {
|
|
|
140
140
|
case 'OpenFin':
|
|
141
141
|
return learnUrl + 'integrations-openfin';
|
|
142
142
|
case 'StyledColumn':
|
|
143
|
-
return learnUrl + 'handbook-styled-
|
|
143
|
+
return learnUrl + 'handbook-column-formatting#styled-columns';
|
|
144
144
|
case 'Charting':
|
|
145
145
|
return learnUrl + 'handbook-charts';
|
|
146
146
|
default:
|
|
@@ -92,7 +92,7 @@ class QueryLanguageService {
|
|
|
92
92
|
return result;
|
|
93
93
|
}
|
|
94
94
|
const force = (_a = config === null || config === void 0 ? void 0 : config.force) !== null && _a !== void 0 ? _a : false;
|
|
95
|
-
//
|
|
95
|
+
// see if validation should be performed
|
|
96
96
|
if (!this.adaptableApi.optionsApi.getAdaptableQLOptions().expressionOptions
|
|
97
97
|
.performExpressionValidation &&
|
|
98
98
|
!force) {
|
|
@@ -25,7 +25,7 @@ class RowEditService {
|
|
|
25
25
|
if (actionRowSubmittedInfo.type === 'rowCreated') {
|
|
26
26
|
const { formData } = actionRowSubmittedInfo;
|
|
27
27
|
const setPrimaryKeyValueFunction = adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.actionRowOptions
|
|
28
|
-
.
|
|
28
|
+
.setPrimaryKeyValue;
|
|
29
29
|
const newRowData = typeof setPrimaryKeyValueFunction === 'function'
|
|
30
30
|
? setPrimaryKeyValueFunction({
|
|
31
31
|
rowData: formData,
|
|
@@ -6,6 +6,7 @@ import { TypeUuid } from '../../PredefinedConfig/Uuid';
|
|
|
6
6
|
import { AdaptableApi } from '../../../types';
|
|
7
7
|
export declare class TeamSharingService implements ITeamSharingService {
|
|
8
8
|
private adaptableApi;
|
|
9
|
+
private dismissedNotifications;
|
|
9
10
|
private updateCheckTimerId;
|
|
10
11
|
constructor(adaptableApi: AdaptableApi);
|
|
11
12
|
buildCustomSharedEntity(Entity: any, Configuration: CustomSharedEntityConfig): CustomSharedEntity;
|
|
@@ -16,6 +17,7 @@ export declare class TeamSharingService implements ITeamSharingService {
|
|
|
16
17
|
getSharedEntityLocalAndRemoteRevisions(changedAdaptableObjectId: TypeUuid, remoteSharedEntities: AdaptableSharedEntity[]): [number, number];
|
|
17
18
|
getStaleActiveSharedEntities(): SharedEntityActiveStatus;
|
|
18
19
|
showUpdateNotifications(): void;
|
|
20
|
+
private showUpdateNotificationAlert;
|
|
19
21
|
destroy(): void;
|
|
20
22
|
private createSharedEntity;
|
|
21
23
|
private getSharedEntityDependencyTree;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TeamSharingService = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const Uuid_1 = require("../../PredefinedConfig/Uuid");
|
|
6
|
+
const ObjectFactory_1 = tslib_1.__importDefault(require("../ObjectFactory"));
|
|
5
7
|
class TeamSharingService {
|
|
6
8
|
constructor(adaptableApi) {
|
|
7
9
|
this.adaptableApi = adaptableApi;
|
|
10
|
+
this.dismissedNotifications = [];
|
|
8
11
|
const teamSharingOptions = adaptableApi.optionsApi.getTeamSharingOptions();
|
|
9
12
|
if (teamSharingOptions.updateInterval > 0) {
|
|
10
13
|
// convert minutes to millis
|
|
@@ -132,9 +135,7 @@ class TeamSharingService {
|
|
|
132
135
|
Object.values(this.getStaleActiveSharedEntities()).forEach((sharedEntityActiveInfo) => {
|
|
133
136
|
const notificationMessage = `Active share ${sharedEntityActiveInfo.sharedEntity.Module} has a new Revision: ${sharedEntityActiveInfo.sharedEntity.Revision}`;
|
|
134
137
|
if (updateNotification === 'Alert' || updateNotification === 'AlertWithNotification') {
|
|
135
|
-
this.
|
|
136
|
-
DisplayNotification: updateNotification === 'AlertWithNotification',
|
|
137
|
-
});
|
|
138
|
+
this.showUpdateNotificationAlert(sharedEntityActiveInfo, notificationMessage);
|
|
138
139
|
}
|
|
139
140
|
if (updateNotification === 'SystemStatus') {
|
|
140
141
|
this.adaptableApi.systemStatusApi.setInfoSystemStatus(`TeamSharing: ${notificationMessage}`);
|
|
@@ -142,6 +143,62 @@ class TeamSharingService {
|
|
|
142
143
|
this.adaptableApi.teamSharingApi.internalApi.fireTeamSharingEntityChangedEvent(sharedEntityActiveInfo.sharedEntity);
|
|
143
144
|
});
|
|
144
145
|
}
|
|
146
|
+
showUpdateNotificationAlert(sharedEntityActiveInfo, message) {
|
|
147
|
+
const { updateNotification, showUpdateNotificationOncePerUpdate } = this.adaptableApi.optionsApi.getTeamSharingOptions();
|
|
148
|
+
if (this.dismissedNotifications.some((notification) => notification.entityUuid === sharedEntityActiveInfo.sharedEntity.Uuid)) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const buttons = [
|
|
152
|
+
{
|
|
153
|
+
Label: 'Ok',
|
|
154
|
+
ButtonStyle: {
|
|
155
|
+
tone: 'neutral',
|
|
156
|
+
variant: 'raised',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
Label: 'Import',
|
|
161
|
+
Action: (context) => {
|
|
162
|
+
this.adaptableApi.teamSharingApi.importSharedEntry(sharedEntityActiveInfo.sharedEntity);
|
|
163
|
+
},
|
|
164
|
+
ButtonStyle: {
|
|
165
|
+
tone: 'info',
|
|
166
|
+
variant: 'raised',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
if (!showUpdateNotificationOncePerUpdate) {
|
|
171
|
+
buttons.push({
|
|
172
|
+
Label: 'Dismiss',
|
|
173
|
+
ButtonStyle: {
|
|
174
|
+
tone: 'error',
|
|
175
|
+
variant: 'raised',
|
|
176
|
+
},
|
|
177
|
+
Action: () => {
|
|
178
|
+
this.dismissedNotifications.push({
|
|
179
|
+
entityUuid: sharedEntityActiveInfo.sharedEntity.Uuid,
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
const alert = {
|
|
185
|
+
alertType: 'generic',
|
|
186
|
+
header: 'Team Sharing Update',
|
|
187
|
+
message: message,
|
|
188
|
+
alertDefinition: Object.assign(Object.assign({}, ObjectFactory_1.default.CreateEmptyAlertDefinition()), { MessageType: 'Info', AlertProperties: {
|
|
189
|
+
DisplayNotification: updateNotification === 'AlertWithNotification',
|
|
190
|
+
NotificationDuration: 'always',
|
|
191
|
+
}, AlertForm: {
|
|
192
|
+
Buttons: buttons,
|
|
193
|
+
} }),
|
|
194
|
+
};
|
|
195
|
+
this.adaptableApi.alertApi.showAdaptableAlert(alert);
|
|
196
|
+
if (showUpdateNotificationOncePerUpdate) {
|
|
197
|
+
this.dismissedNotifications.push({
|
|
198
|
+
entityUuid: sharedEntityActiveInfo.sharedEntity.Uuid,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
145
202
|
destroy() {
|
|
146
203
|
clearTimeout(this.updateCheckTimerId);
|
|
147
204
|
}
|
|
@@ -64,13 +64,17 @@ class ValidationService {
|
|
|
64
64
|
IsAlertDefinitionTriggered(alertDefinition, dataChangedEvent) {
|
|
65
65
|
var _a;
|
|
66
66
|
const displayValue = this.adaptableApi.gridApi.getDisplayValueFromRowNode(dataChangedEvent.rowNode, dataChangedEvent.column.columnId);
|
|
67
|
-
|
|
67
|
+
const predicateDefHandlerContext = {
|
|
68
68
|
value: dataChangedEvent.newValue,
|
|
69
69
|
oldValue: dataChangedEvent.oldValue,
|
|
70
70
|
displayValue,
|
|
71
71
|
node: dataChangedEvent.rowNode,
|
|
72
72
|
column: dataChangedEvent.column,
|
|
73
|
-
|
|
73
|
+
adaptableApi: this.adaptableApi,
|
|
74
|
+
userName: this.adaptableApi.optionsApi.getUserName(),
|
|
75
|
+
adaptableId: this.adaptableApi.optionsApi.getAdaptableId(),
|
|
76
|
+
};
|
|
77
|
+
return this.adaptableApi.predicateApi.handlePredicates((_a = alertDefinition.Rule) === null || _a === void 0 ? void 0 : _a.Predicates, predicateDefHandlerContext, false);
|
|
74
78
|
}
|
|
75
79
|
performServerValidation(cellDataChangedInfo, config) {
|
|
76
80
|
const serverValidationContext = {
|
|
@@ -4,24 +4,26 @@ exports.AdaptableApp = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const react_redux_1 = require("react-redux");
|
|
7
|
+
const ProgressIndicator_1 = require("../components/ProgressIndicator/ProgressIndicator");
|
|
8
|
+
const Toastify_1 = require("../components/Toastify");
|
|
7
9
|
const PopupRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/PopupRedux"));
|
|
10
|
+
const AdaptableLoadingScreen_1 = require("./Components/Popups/AdaptableLoadingScreen");
|
|
8
11
|
const AdaptablePopup_1 = require("./Components/Popups/AdaptablePopup");
|
|
12
|
+
const AdaptablePopupConfirmation_1 = require("./Components/Popups/AdaptablePopupConfirmation");
|
|
9
13
|
const AdaptablePopupPrompt_1 = require("./Components/Popups/AdaptablePopupPrompt");
|
|
14
|
+
const FormPopups_1 = require("./Components/Popups/FormPopups/FormPopups");
|
|
15
|
+
const WindowPopups_1 = require("./Components/Popups/WindowPopups/WindowPopups");
|
|
10
16
|
const Dashboard_1 = require("./Dashboard/Dashboard");
|
|
11
|
-
const AdaptablePopupConfirmation_1 = require("./Components/Popups/AdaptablePopupConfirmation");
|
|
12
|
-
const AdaptableLoadingScreen_1 = require("./Components/Popups/AdaptableLoadingScreen");
|
|
13
|
-
const renderWithAdaptableContext_1 = require("./renderWithAdaptableContext");
|
|
14
17
|
const License_1 = require("./License");
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const FormPopups_1 = require("./Components/Popups/FormPopups/FormPopups");
|
|
18
|
-
const Toastify_1 = require("../components/Toastify");
|
|
18
|
+
const FloatingQuickSearch_1 = require("./QuickSearch/FloatingQuickSearch/FloatingQuickSearch");
|
|
19
|
+
const renderWithAdaptableContext_1 = require("./renderWithAdaptableContext");
|
|
19
20
|
class AdaptableView extends React.Component {
|
|
20
21
|
render() {
|
|
21
22
|
var _a, _b, _c, _d;
|
|
22
23
|
const watermark = (_d = (_c = (_b = (_a = this.props.AdaptableApi) === null || _a === void 0 ? void 0 : _a.internalApi) === null || _b === void 0 ? void 0 : _b.getSystemState()) === null || _c === void 0 ? void 0 : _c.License) === null || _d === void 0 ? void 0 : _d.watermark;
|
|
23
24
|
const adaptableOptions = this.props.AdaptableApi.optionsApi.getAdaptableOptions();
|
|
24
25
|
return (React.createElement("div", null,
|
|
26
|
+
React.createElement(FloatingQuickSearch_1.QuickSearchDrawer, null),
|
|
25
27
|
this.props.AdaptableApi.internalApi.getModuleService().isModuleAvailable('Dashboard') && (React.createElement(Dashboard_1.Dashboard, { api: this.props.AdaptableApi })),
|
|
26
28
|
React.createElement(AdaptableLoadingScreen_1.AdaptableLoadingScreen, { onClose: this.props.onCloseLoadingPopup, showLoadingScreen: this.props.PopupState.LoadingPopup.ShowLoadingPopup }),
|
|
27
29
|
this.props.PopupState.PromptPopup.ShowPromptPopup && (React.createElement(AdaptablePopupPrompt_1.AdaptablePopupPrompt, { message: this.props.PopupState.PromptPopup.Message, header: this.props.PopupState.PromptPopup.Header, onClose: this.props.onClosePromptPopup, onConfirm: this.props.onConfirmPromptPopup, onConfirmActionCreator: this.props.PopupState.PromptPopup.ConfirmActionCreator, defaultValue: this.props.PopupState.PromptPopup.DefaultValue })),
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { AdaptableOptions } from '../../../AdaptableOptions/AdaptableOptions';
|
|
2
2
|
import { GridOptions } from '@ag-grid-community/core';
|
|
3
|
+
/**
|
|
4
|
+
* Config used by No Code Plugin to set up AdapTable
|
|
5
|
+
*/
|
|
3
6
|
export interface AdaptableConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Adaptable Options object
|
|
9
|
+
*/
|
|
4
10
|
adaptableOptions: AdaptableOptions;
|
|
11
|
+
/**
|
|
12
|
+
* AG Grid Grid Options object
|
|
13
|
+
*/
|
|
5
14
|
gridOptions: GridOptions;
|
|
6
15
|
}
|
|
@@ -77,7 +77,7 @@ const useChartingElements = ({ elementType, accessLevel, size = 'normal', }) =>
|
|
|
77
77
|
}
|
|
78
78
|
const chartSelector = (React.createElement(DropdownButton_1.default, { style: style, width: "100%", columns: ['label'], className: `ab-${elementType}__Chart__select`, items: options, disabled: !hasCharts }, content));
|
|
79
79
|
const containerSelector = Boolean(chartContainers === null || chartContainers === void 0 ? void 0 : chartContainers.length) && (React.createElement(DropdownButton_1.default, { style: style, width: "100%", columns: ['label'], items: containerOptions, disabled: !isSelectedChart }, (selectedContainer === null || selectedContainer === void 0 ? void 0 : selectedContainer.name) || chartingOptions.agGridContainerName || GeneralConstants_1.AG_GRID_CHART_WINDOW));
|
|
80
|
-
const chartButton = (React.createElement(SimpleButton_1.default, { style: style, mr: 1, onClick: () => (isOpen ? closeChart() : showChart(selectedContainer)), disabled: !Boolean(selectedChart), variant: 'text', tone: 'neutral', icon: isOpen ? 'visibility-off' : 'visibility', tooltip: isOpen ? 'Hide Chart' : 'Show Chart' }));
|
|
80
|
+
const chartButton = (React.createElement(SimpleButton_1.default, { style: style, mr: 1, onClick: () => (isOpen ? closeChart() : showChart(selectedContainer)), disabled: !Boolean(selectedChart), variant: 'text', tone: 'neutral', icon: isOpen ? 'visibility-off' : 'visibility-on', tooltip: isOpen ? 'Hide Chart' : 'Show Chart' }));
|
|
81
81
|
const deleteButton = (React.createElement(DeleteChartButton_1.DeleteChartButton, { iconSize: iconSize, chart: selectedChart, accessLevel: chartAccessLevel }));
|
|
82
82
|
const editButton = (React.createElement(EditChartButton_1.EditChartButton, { iconSize: iconSize, chart: selectedChart, accessLevel: chartAccessLevel, isOpen: isOpen }));
|
|
83
83
|
return {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AdaptableButtonComponent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const Icon_1 = require("../../../components/Icon");
|
|
7
|
+
const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
|
|
8
|
+
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
9
|
+
// This component is connected to adaptable and know about custom icons
|
|
10
|
+
const AdaptableButtonComponent = (props) => {
|
|
11
|
+
let icon = props.icon;
|
|
12
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
13
|
+
if ((0, Icon_1.isAdaptableSystemIcon)(icon)) {
|
|
14
|
+
icon = adaptable.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(icon);
|
|
15
|
+
}
|
|
16
|
+
return React.createElement(SimpleButton_1.default, Object.assign({}, props, { icon: icon }));
|
|
17
|
+
};
|
|
18
|
+
exports.AdaptableButtonComponent = AdaptableButtonComponent;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { IconComponentProps } from '../../../components/Icon';
|
|
3
|
+
/**
|
|
4
|
+
* This is a connected componnet.
|
|
5
|
+
* It needs to be used only inside adaptable context.
|
|
6
|
+
*/
|
|
7
|
+
export declare const AdaptableIconComponent: React.FunctionComponent<IconComponentProps>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AdaptableIconComponent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const Icon_1 = require("../../../components/Icon");
|
|
7
|
+
const useCustomIcon_1 = require("./useCustomIcon");
|
|
8
|
+
/**
|
|
9
|
+
* This is a connected componnet.
|
|
10
|
+
* It needs to be used only inside adaptable context.
|
|
11
|
+
*/
|
|
12
|
+
const AdaptableIconComponent = (props) => {
|
|
13
|
+
const icon = (0, useCustomIcon_1.useCustomIcon)(props.icon);
|
|
14
|
+
return React.createElement(Icon_1.IconComponent, Object.assign({}, props, { icon: icon }));
|
|
15
|
+
};
|
|
16
|
+
exports.AdaptableIconComponent = AdaptableIconComponent;
|