@adaptabletools/adaptable-cjs
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
502 lines (501 loc) • 17.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectFactory = exports.CreateToastOptions = exports.CreateEmptyCommentThread = exports.CreateEmptyTheme = exports.CreateCustomDisplayFormatterContext = exports.CreateEmptyChartDefinition = exports.CreateDefaultStyledColumnBadge = exports.CreateEmptyStyledColumn = exports.CreateColumnFilter = exports.CreateEmptyCellSummmary = exports.CreateSystemStatusMessageInfo = exports.CreateEmptyStyle = exports.CreateEmptyLayout = exports.CreateEmptyPivotLayout = exports.CreateEmptyFreeTextColumn = exports.CreateEmptyFormatColumn = exports.CreateEmptyShortcut = exports.CreateEmptySchedule = exports.CreateReportSchedule = exports.CreateIPushPullSchedule = exports.CreateEmptyOpenFinSchedule = exports.CreateEmptyIPushPullSchedule = exports.CreateEmptyOpenFinReport = exports.CreateEmptyIPushPullReport = exports.CreateEmptyReportSchedule = exports.CreateEmptyReminderSchedule = exports.CreateEmptyBaseSchedule = exports.CreateEmptyReport = exports.CreateInternalAlertDefinitionForMessages = exports.CreateEmptyFlashingCellDefinition = exports.CreateEmptyAlertDefinition = exports.CreateRowChangedAlert = exports.CreateCellChangedAlert = exports.CreateGenericAlert = exports.CreateEmptyPlusMinusNudge = exports.CreateEmptyNamedQuery = exports.CreateEmptyCalculatedColumn = exports.CreateAdaptableComment = exports.CreateEmptyCustomSort = void 0;
const Enums_1 = require("../AdaptableState/Common/Enums");
const Uuid_1 = require("../AdaptableState/Uuid");
const GeneralConstants_1 = require("./Constants/GeneralConstants");
const ObjectDefaultConstants_1 = require("./Constants/ObjectDefaultConstants");
const Toastify_1 = require("../components/Toastify");
const UIHelper_1 = require("../View/UIHelper");
const LayoutHelpers_1 = require("../Api/Implementation/LayoutHelpers");
function CreateEmptyCustomSort() {
return { Uuid: (0, Uuid_1.createUuid)(), ColumnId: GeneralConstants_1.EMPTY_STRING, SortedValues: [] };
}
exports.CreateEmptyCustomSort = CreateEmptyCustomSort;
function CreateAdaptableComment(text, api) {
const comment = {
Value: text,
AdaptableId: api.optionsApi.getAdaptableId(),
Author: {
UserName: api.optionsApi.getUserName(),
},
Timestamp: Date.now(),
Uuid: (0, Uuid_1.createUuid)(),
};
return comment;
}
exports.CreateAdaptableComment = CreateAdaptableComment;
function CreateEmptyCalculatedColumn(defaultSpecialColumnSettings) {
return {
Uuid: (0, Uuid_1.createUuid)(),
ColumnId: GeneralConstants_1.EMPTY_STRING,
Query: {
ScalarExpression: GeneralConstants_1.EMPTY_STRING,
},
// need to create some defaults - which we will change later
CalculatedColumnSettings: {
...defaultSpecialColumnSettings,
DataType: undefined,
},
};
}
exports.CreateEmptyCalculatedColumn = CreateEmptyCalculatedColumn;
function CreateEmptyNamedQuery(expression) {
return {
Uuid: (0, Uuid_1.createUuid)(),
Name: GeneralConstants_1.EMPTY_STRING,
BooleanExpression: expression || GeneralConstants_1.EMPTY_STRING,
};
}
exports.CreateEmptyNamedQuery = CreateEmptyNamedQuery;
function CreateEmptyPlusMinusNudge() {
return {
Uuid: (0, Uuid_1.createUuid)(),
Scope: undefined,
Rule: undefined,
NudgeValue: ObjectDefaultConstants_1.PLUS_MINUS_DEFAULT_NUDGE_VALUE,
};
}
exports.CreateEmptyPlusMinusNudge = CreateEmptyPlusMinusNudge;
function CreateGenericAlert(alertHeader, alertMessage, alertDefinition) {
return {
alertType: 'generic',
Uuid: (0, Uuid_1.createUuid)(),
header: alertHeader,
message: alertMessage,
alertDefinition: alertDefinition,
};
}
exports.CreateGenericAlert = CreateGenericAlert;
function CreateCellChangedAlert(alertHeader, alertMessage, alertDefinition, cellDataChangedInfo) {
return {
alertType: 'cellChanged',
Uuid: (0, Uuid_1.createUuid)(),
header: alertHeader,
message: alertMessage,
alertDefinition,
cellDataChangedInfo: cellDataChangedInfo,
};
}
exports.CreateCellChangedAlert = CreateCellChangedAlert;
function CreateRowChangedAlert(alertHeader, alertMessage, alertDefinition, rowDataChangedInfo) {
return {
alertType: 'rowChanged',
Uuid: (0, Uuid_1.createUuid)(),
header: alertHeader,
message: alertMessage,
alertDefinition,
rowDataChangedInfo: rowDataChangedInfo,
};
}
exports.CreateRowChangedAlert = CreateRowChangedAlert;
function CreateEmptyAlertDefinition() {
return {
Uuid: (0, Uuid_1.createUuid)(),
Scope: { All: true },
Rule: {
Predicates: [],
},
MessageType: ObjectDefaultConstants_1.ALERT_DEFAULT_MESSAGE_TYPE,
AlertProperties: {},
};
}
exports.CreateEmptyAlertDefinition = CreateEmptyAlertDefinition;
function CreateEmptyFlashingCellDefinition() {
return {
Uuid: (0, Uuid_1.createUuid)(),
Scope: { ColumnIds: [] },
Rule: {
Predicates: [
{
PredicateId: 'AnyChange',
},
],
},
};
}
exports.CreateEmptyFlashingCellDefinition = CreateEmptyFlashingCellDefinition;
function CreateInternalAlertDefinitionForMessages(messageType, alertProperties) {
alertProperties = alertProperties ?? {
DisplayNotification: ObjectDefaultConstants_1.ALERT_DEFAULT_SHOW_POPUP,
};
return {
Uuid: (0, Uuid_1.createUuid)(),
Scope: undefined,
Rule: {
Predicates: [],
},
MessageType: messageType,
AlertProperties: alertProperties,
};
}
exports.CreateInternalAlertDefinitionForMessages = CreateInternalAlertDefinitionForMessages;
function CreateEmptyReport() {
return {
Uuid: (0, Uuid_1.createUuid)(),
Name: GeneralConstants_1.EMPTY_STRING,
Scope: undefined,
ReportColumnScope: 'AllColumns',
ReportRowScope: 'AllRows',
Query: undefined,
};
}
exports.CreateEmptyReport = CreateEmptyReport;
function CreateEmptyBaseSchedule(scheduleType) {
return {
Uuid: (0, Uuid_1.createUuid)(),
ScheduleType: scheduleType,
Schedule: CreateEmptySchedule(),
};
}
exports.CreateEmptyBaseSchedule = CreateEmptyBaseSchedule;
function CreateEmptyReminderSchedule() {
return {
Uuid: (0, Uuid_1.createUuid)(),
ScheduleType: Enums_1.ScheduleType.Reminder,
Schedule: CreateEmptySchedule(),
Header: GeneralConstants_1.EMPTY_STRING,
Message: GeneralConstants_1.EMPTY_STRING,
MessageType: 'Info',
DisplayNotification: true,
DisplaySystemStatusMessage: false,
};
}
exports.CreateEmptyReminderSchedule = CreateEmptyReminderSchedule;
function CreateEmptyReportSchedule() {
return {
Uuid: (0, Uuid_1.createUuid)(),
ScheduleType: Enums_1.ScheduleType.Report,
Schedule: CreateEmptySchedule(),
ReportName: GeneralConstants_1.EMPTY_STRING,
ReportFormat: GeneralConstants_1.EMPTY_STRING,
ExportDestination: 'Download',
};
}
exports.CreateEmptyReportSchedule = CreateEmptyReportSchedule;
function CreateEmptyIPushPullReport() {
return {
Uuid: (0, Uuid_1.createUuid)(),
ReportName: GeneralConstants_1.EMPTY_STRING,
Folder: GeneralConstants_1.EMPTY_STRING,
Page: GeneralConstants_1.EMPTY_STRING,
};
}
exports.CreateEmptyIPushPullReport = CreateEmptyIPushPullReport;
function CreateEmptyOpenFinReport() {
return {
Uuid: (0, Uuid_1.createUuid)(),
ReportName: GeneralConstants_1.EMPTY_STRING,
};
}
exports.CreateEmptyOpenFinReport = CreateEmptyOpenFinReport;
function CreateEmptyIPushPullSchedule() {
return {
Uuid: (0, Uuid_1.createUuid)(),
ScheduleType: Enums_1.ScheduleType.ipushpull,
Schedule: CreateEmptySchedule(),
IPushPullReport: CreateEmptyIPushPullReport(),
Transmission: 'Snapshot',
};
}
exports.CreateEmptyIPushPullSchedule = CreateEmptyIPushPullSchedule;
function CreateEmptyOpenFinSchedule() {
return {
Uuid: (0, Uuid_1.createUuid)(),
ScheduleType: Enums_1.ScheduleType.OpenFin,
Schedule: CreateEmptySchedule(),
OpenFinReport: CreateEmptyOpenFinReport(),
Transmission: 'Live Data',
};
}
exports.CreateEmptyOpenFinSchedule = CreateEmptyOpenFinSchedule;
function CreateIPushPullSchedule(iPushPullReport) {
return {
Uuid: (0, Uuid_1.createUuid)(),
ScheduleType: Enums_1.ScheduleType.ipushpull,
Schedule: CreateEmptySchedule(),
IPushPullReport: iPushPullReport,
Transmission: 'Snapshot',
};
}
exports.CreateIPushPullSchedule = CreateIPushPullSchedule;
function CreateReportSchedule(reportName, reportFormat) {
return {
Uuid: (0, Uuid_1.createUuid)(),
ScheduleType: Enums_1.ScheduleType.Report,
Schedule: CreateEmptySchedule(),
ReportName: reportName,
ReportFormat: reportFormat,
};
}
exports.CreateReportSchedule = CreateReportSchedule;
function CreateEmptySchedule() {
return {
Uuid: (0, Uuid_1.createUuid)(),
OneOffDate: undefined,
DaysOfWeek: [],
Hour: 0,
Minute: 0,
};
}
exports.CreateEmptySchedule = CreateEmptySchedule;
function CreateEmptyShortcut() {
return {
Uuid: (0, Uuid_1.createUuid)(),
Scope: undefined,
ShortcutKey: GeneralConstants_1.EMPTY_STRING,
ShortcutValue: undefined,
ShortcutOperation: Enums_1.MathOperation.Multiply,
};
}
exports.CreateEmptyShortcut = CreateEmptyShortcut;
function CreateEmptyFormatColumn() {
return {
Scope: undefined,
Style: CreateEmptyStyle(),
DisplayFormat: undefined,
CellAlignment: undefined,
RowScope: undefined,
Target: 'cell'
};
}
exports.CreateEmptyFormatColumn = CreateEmptyFormatColumn;
function CreateEmptyFreeTextColumn(defaultSpecialColumnSettings) {
return {
Uuid: (0, Uuid_1.createUuid)(),
ColumnId: GeneralConstants_1.EMPTY_STRING,
DefaultValue: GeneralConstants_1.EMPTY_STRING,
FreeTextStoredValues: [],
TextEditor: 'Inline',
FreeTextColumnSettings: {
...defaultSpecialColumnSettings,
DataType: 'text',
},
};
}
exports.CreateEmptyFreeTextColumn = CreateEmptyFreeTextColumn;
function CreateEmptyPivotLayout(layout) {
const result = {
Name: layout.Name,
ColumnSorts: layout.ColumnSorts || [],
ColumnFilters: layout.ColumnFilters || [],
Uuid: (0, Uuid_1.createUuid)(),
PivotColumns: layout.PivotColumns || [],
PivotAggregationColumns: layout.PivotAggregationColumns || [],
PivotGroupedColumns: layout.PivotGroupedColumns || [],
ColumnWidths: layout.ColumnWidths || {},
};
return result;
}
exports.CreateEmptyPivotLayout = CreateEmptyPivotLayout;
function CreateEmptyLayout(layout, adaptableColumns) {
if ((0, LayoutHelpers_1.isPivotLayout)(layout)) {
return CreateEmptyPivotLayout(layout);
}
const tableLayout = layout;
const result = {
...tableLayout,
Uuid: (0, Uuid_1.createUuid)(),
TableColumns: tableLayout.TableColumns || [],
ColumnSorts: tableLayout.ColumnSorts || [],
ColumnFilters: tableLayout.ColumnFilters || [],
ColumnWidths: tableLayout.ColumnWidths || {},
RowGroupedColumns: tableLayout.RowGroupedColumns ||
(adaptableColumns ? adaptableColumns.filter((c) => c.isGrouped).map((c) => c.columnId) : []),
};
return result;
}
exports.CreateEmptyLayout = CreateEmptyLayout;
function CreateEmptyStyle() {
return {
BackColor: undefined,
ForeColor: undefined,
BorderColor: undefined,
FontWeight: undefined,
FontStyle: undefined,
FontSize: undefined,
ClassName: undefined,
};
}
exports.CreateEmptyStyle = CreateEmptyStyle;
function CreateSystemStatusMessageInfo(message, type, furtherInfo) {
return {
Uuid: (0, Uuid_1.createUuid)(),
statusMessage: message,
statusFurtherInformation: furtherInfo,
statusType: type,
timestamp: new Date(),
};
}
exports.CreateSystemStatusMessageInfo = CreateSystemStatusMessageInfo;
function CreateEmptyCellSummmary() {
return {
Sum: undefined,
Average: undefined,
Median: undefined,
Mode: undefined,
Distinct: undefined,
Max: undefined,
Min: undefined,
Count: undefined,
Std_Deviation: undefined,
Only: undefined,
};
}
exports.CreateEmptyCellSummmary = CreateEmptyCellSummmary;
function CreateColumnFilter(ColumnId, PredicateId, Inputs) {
return {
ColumnId,
Predicates: [
{
PredicateId: PredicateId,
Inputs,
},
],
};
}
exports.CreateColumnFilter = CreateColumnFilter;
function CreateEmptyStyledColumn() {
return {
Uuid: (0, Uuid_1.createUuid)(),
ColumnId: GeneralConstants_1.EMPTY_STRING,
};
}
exports.CreateEmptyStyledColumn = CreateEmptyStyledColumn;
function CreateDefaultStyledColumnBadge() {
return {
Style: {
BackColor: (0, UIHelper_1.getHexForName)(UIHelper_1.LIGHT_GRAY),
ForeColor: (0, UIHelper_1.getHexForName)(UIHelper_1.BLACK),
BorderRadius: 6,
},
};
}
exports.CreateDefaultStyledColumnBadge = CreateDefaultStyledColumnBadge;
function CreateEmptyChartDefinition(chartDefinition) {
return {
Uuid: (0, Uuid_1.createUuid)(),
...chartDefinition,
};
}
exports.CreateEmptyChartDefinition = CreateEmptyChartDefinition;
function CreateCustomDisplayFormatterContext(value, node, abColumn, api) {
return {
adaptableColumn: abColumn,
cellValue: value,
rowNode: node,
...api.internalApi.buildBaseContext(),
};
}
exports.CreateCustomDisplayFormatterContext = CreateCustomDisplayFormatterContext;
function CreateEmptyTheme(name) {
return {
Uuid: (0, Uuid_1.createUuid)(),
Name: name || 'Custom Theme',
Description: name || 'Custom Theme',
};
}
exports.CreateEmptyTheme = CreateEmptyTheme;
function CreateEmptyCommentThread(cellAddress) {
return {
...cellAddress,
Comments: [],
};
}
exports.CreateEmptyCommentThread = CreateEmptyCommentThread;
function getToastPosition(position) {
switch (position) {
case 'BottomLeft':
return 'bottom-left';
case 'BottomCenter':
return 'bottom-center';
case 'BottomRight':
return 'bottom-right';
case 'TopLeft':
return 'top-left';
case 'TopCenter':
return 'top-center';
case 'TopRight':
return 'top-right';
}
}
function getToastTransition(transition) {
switch (transition) {
case 'Bounce':
return Toastify_1.Bounce;
case 'Slide':
return Toastify_1.Slide;
case 'Zoom':
return Toastify_1.Zoom;
case 'Flip':
return Toastify_1.Flip;
default:
return Toastify_1.Bounce;
}
}
function CreateToastOptions(notificationsOptions, { onClose, containerId }, overides) {
const adaptableToastPosition = notificationsOptions.position;
const position = getToastPosition(adaptableToastPosition);
const duration = overides.duration ?? notificationsOptions.duration;
const showProgressBar = notificationsOptions.showProgressBar;
const closeWhenClicked = notificationsOptions.closeWhenClicked;
const pauseWhenHovering = notificationsOptions.pauseWhenHovering;
const isDraggable = notificationsOptions.isDraggable;
const transition = getToastTransition(notificationsOptions.transition);
const toastProps = {
containerId,
position,
autoClose: duration == 'always' ? false : duration,
hideProgressBar: !showProgressBar,
closeOnClick: closeWhenClicked,
pauseOnHover: pauseWhenHovering,
draggable: isDraggable,
transition: transition,
draggablePercent: 75,
onClose,
// progress: undefined,
};
return toastProps;
}
exports.CreateToastOptions = CreateToastOptions;
exports.ObjectFactory = {
CreateEmptyCustomSort,
CreateEmptyCalculatedColumn,
CreateEmptyNamedQuery,
CreateEmptyPlusMinusNudge,
CreateGenericAlert,
CreateCellChangedAlert,
CreateRowChangedAlert,
CreateEmptyAlertDefinition,
CreateEmptyFlashingCellDefinition,
CreateInternalAlertDefinitionForMessages,
CreateEmptyReport,
CreateEmptyBaseSchedule,
CreateEmptyReminderSchedule,
CreateEmptyReportSchedule,
CreateEmptyIPushPullSchedule,
CreateEmptyIPushPullReport,
CreateIPushPullSchedule,
CreateReportSchedule,
CreateEmptyOpenFinReport,
CreateEmptyOpenFinSchedule,
CreateEmptySchedule,
CreateEmptyShortcut,
CreateEmptyFormatColumn,
CreateEmptyFreeTextColumn,
CreateEmptyLayout,
CreateEmptyPivotLayout,
CreateColumnFilter,
CreateEmptyStyle,
CreateEmptyCellSummmary,
CreateSystemStatusMessageInfo,
CreateToastOptions,
CreateCustomDisplayFormatterContext,
CreateEmptyStyledColumn,
CreateDefaultStyledColumnBadge,
CreateEmptyChartDefinition,
CreateEmptyTheme,
CreateEmptyCommentThread,
CreateAdaptableComment,
};
exports.default = exports.ObjectFactory;