UNPKG

@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
"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;