igniteui-angular-spreadsheet
Version:
Ignite UI Angular spreadsheet component for displaying and editing Microsoft Excel workbooks for modern web apps.
1,024 lines (1,023 loc) • 2.26 MB
JavaScript
/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { __extends, __generator, __read, __spreadArray, __values } from "tslib";
import { Base, Type, markType, INotifyPropertyChanged_$type, PropertyChangedEventArgs, Nullable$1, IEnumerator$1_$type, IEnumerable$1_$type, IEnumerator_$type, IDisposable_$type, enumGetBox, typeCast, Number_$type, String_$type, fromEnum, getInstanceType, EnumUtil, toNullable, runOn, delegateRemove, delegateCombine, fromEn, typeGetValue, Boolean_$type, EventArgs, Point_$type, PointUtil, Array_$type, Date_$type, getEnumerator, getBoxIfEnum, NotSupportedException, Stream, typeCastObjTo$t, IEquatable$1_$type, toEnum, Delegate_$type } from "igniteui-angular-core";
import { WorksheetChart } from "igniteui-angular-excel";
import { SortDirectionWithCustomListOptions_$type } from "./SortDirectionWithCustomListOptions";
import { Dictionary$2 } from "igniteui-angular-core";
import { SpreadsheetSortDialogConditionType_$type } from "./SpreadsheetSortDialogConditionType";
import { OrderedSortCondition } from "igniteui-angular-excel";
import { FillSortCondition } from "igniteui-angular-excel";
import { FontColorSortCondition } from "igniteui-angular-excel";
import { IconSortCondition } from "igniteui-angular-excel";
import { CustomListSortCondition } from "igniteui-angular-excel";
import { ComboBoxListItem } from "./ComboBoxListItem";
import { ObservableCollectionExtended$1 } from "./ObservableCollectionExtended$1";
import { List$1 } from "igniteui-angular-core";
import { SortCondition } from "igniteui-angular-excel";
import { KeyValuePair$2 } from "igniteui-angular-core";
import { RelativeIndex } from "igniteui-angular-excel";
import { WorksheetTableColumn } from "igniteui-angular-excel";
import { Tuple$2 } from "igniteui-angular-core";
import { FormatConditionIconSet_$type } from "igniteui-angular-excel";
import { StringBuilder } from "igniteui-angular-core";
import { Tuple } from "igniteui-angular-core";
import { CellFill } from "igniteui-angular-excel";
import { WorkbookColorInfo } from "igniteui-angular-excel";
import { stringFormat, stringCompare1, stringSplit, startsWith1, isDigit, trimEnd, stringEquals1, stringFormat1, isLetterOrDigit, indexOfAny, trimStart } from "igniteui-angular-core";
import { SortContext_$type } from "./SortContext";
import { WorksheetRegionAddress } from "igniteui-angular-excel";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { SortTargetResult } from "./SortTargetResult";
import { ArgumentNullException } from "igniteui-angular-core";
import { WorksheetTable } from "igniteui-angular-excel";
import { Worksheet } from "igniteui-angular-excel";
import { ActiveRowIndexChangedEventArgs } from "./ActiveRowIndexChangedEventArgs";
import { ArgumentException } from "igniteui-angular-core";
import { WorksheetRegion } from "igniteui-angular-excel";
import { Color } from "igniteui-angular-core";
import { CellConditionalFormat } from "igniteui-angular-excel";
import { CellFillPattern } from "igniteui-angular-excel";
import { Workbook } from "igniteui-angular-excel";
import { ArgumentOutOfRangeException } from "igniteui-angular-core";
import { IWorksheetCellFormat_$type } from "igniteui-angular-excel";
import { WorksheetCellFormatData } from "igniteui-angular-excel";
import { IWorkbookFont_$type } from "igniteui-angular-excel";
import { CellFillRectangularGradient } from "igniteui-angular-excel";
import { CellFillLinearGradient } from "igniteui-angular-excel";
import { HashSet$1 } from "igniteui-angular-core";
import { CellAddress } from "igniteui-angular-excel";
import { CellContentType_$type } from "./CellContentType";
import { FillPatternStyle_$type } from "igniteui-angular-excel";
import { nullableEquals, nullableNotEquals, unwrapNullable, wrapNullable, nullableIsNull, nullableLessThan, nullableGreaterThan, nullableLessThanOrEqual, nullableGreaterThanOrEqual } from "igniteui-angular-core";
import { stringEmpty, stringReplace, stringIsNullOrEmpty, stringStartsWith, stringContains, stringIsNullOrWhiteSpace, stringToString$1 } from "igniteui-angular-core";
import { DomWrapper_$type } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { BaseDOMEventProxy } from "igniteui-angular-core";
import { DropDown } from "./DropDown";
import { DropDownItem } from "./DropDownItem";
import { DropDownPosition } from "./DropDownPosition";
import { RelativePositionInfo } from "./RelativePositionInfo";
import { SpreadsheetCell } from "./SpreadsheetCell";
import { SpreadsheetCellRange } from "./SpreadsheetCellRange";
import { CoreUtilities } from "./CoreUtilities";
import { ISpreadsheetEditorValue_$type } from "./ISpreadsheetEditorValue";
import { SpreadsheetEditModeEnteringEventArgs } from "./SpreadsheetEditModeEnteringEventArgs";
import { ExcelUtils } from "igniteui-angular-excel";
import { SpreadsheetEditModeEnteredEventArgs } from "./SpreadsheetEditModeEnteredEventArgs";
import { SpreadsheetAction_$type } from "./SpreadsheetAction";
import { SpreadsheetEditModeExitingEventArgs } from "./SpreadsheetEditModeExitingEventArgs";
import { SpreadsheetEditModeExitedEventArgs } from "./SpreadsheetEditModeExitedEventArgs";
import { SpreadsheetTransactionOperation_$type } from "./SpreadsheetTransactionOperation";
import { WorksheetCell } from "igniteui-angular-excel";
import { DataValidationErrorStyle_$type } from "igniteui-angular-excel";
import { SpreadsheetEditModeValidationErrorEventArgs } from "./SpreadsheetEditModeValidationErrorEventArgs";
import { EditModeDataValidationException } from "./EditModeDataValidationException";
import { HorizontalCellAlignment_$type } from "igniteui-angular-excel";
import { isNaN_, truncate, intDivide, isInfinity, tryParseNumber } from "igniteui-angular-core";
import { VerticalCellAlignment_$type } from "igniteui-angular-excel";
import { Thickness } from "igniteui-angular-core";
import { WorkbookFontSnapshot } from "./WorkbookFontSnapshot";
import { SpreadsheetEditorValue } from "./SpreadsheetEditorValue";
import { ClipboardHelper } from "./ClipboardHelper";
import { DataFormats } from "igniteui-angular-core";
import { SpreadsheetContextMenuSubItem_$type } from "./SpreadsheetContextMenuSubItem";
import { FormatConditionIcon_$type } from "igniteui-angular-excel";
import { ExcelComparisonOperator_$type } from "igniteui-angular-excel";
import { RelativeDateRangeDuration_$type } from "igniteui-angular-excel";
import { RelativeDateRangeOffset_$type } from "igniteui-angular-excel";
import { DatePeriodFilterType_$type } from "igniteui-angular-excel";
import { SpreadsheetSpecialFilterMenuItems_$type } from "./SpreadsheetSpecialFilterMenuItems";
import { LongValue } from "./LongValue";
import { CustomFilter } from "igniteui-angular-excel";
import { RelativeDateRangeFilter } from "igniteui-angular-excel";
import { DatePeriodFilter } from "igniteui-angular-excel";
import { AverageFilter } from "igniteui-angular-excel";
import { TopOrBottomFilter } from "igniteui-angular-excel";
import { YearToDateFilter } from "igniteui-angular-excel";
import { CustomFilterCondition } from "igniteui-angular-excel";
import { Enumerable } from "igniteui-angular-core";
import { SpreadsheetUserPromptTrigger_$type } from "./SpreadsheetUserPromptTrigger";
import { VisualElementConstraint } from "./VisualElementConstraint";
import { VisualElementThickness } from "./VisualElementThickness";
import { InputProxy } from "./InputProxy";
import { IComparer$1_$type } from "igniteui-angular-core";
import { WorksheetShape } from "igniteui-angular-excel";
import { ReadOnlyCollection$1 } from "igniteui-angular-core";
import { WorksheetShapeGroupBase } from "igniteui-angular-excel";
import { ElementLayer$1 } from "./ElementLayer$1";
import { WorksheetShapeGroup } from "igniteui-angular-excel";
import { PropertyChangeNotifierExtended } from "./PropertyChangeNotifierExtended";
import { SpreadsheetImageBackground } from "./SpreadsheetImageBackground";
import { PropertyChangeNotifier } from "./PropertyChangeNotifier";
import { SpreadsheetCellRenderInfoArray } from "./SpreadsheetCellRenderInfoArray";
import { MDList$1 } from "./MDList$1";
import { SpreadsheetDropDownButton } from "./SpreadsheetDropDownButton";
import { SpreadsheetGridLinePen } from "./SpreadsheetGridLinePen";
import { WorksheetHyperlink } from "igniteui-angular-excel";
import { MDBitArray } from "./MDBitArray";
import { WeakReference } from "igniteui-angular-core";
import { PropertyChangeListener$1 } from "./PropertyChangeListener$1";
import { IPropertyChangeListener_$type } from "./IPropertyChangeListener";
import { PropertyChangeListenerList } from "./PropertyChangeListenerList";
import { IntRange } from "./IntRange";
import { WorksheetItemPosition } from "igniteui-angular-excel";
import { PredefinedSpreadsheetLayers } from "./PredefinedSpreadsheetLayers";
import { Size } from "igniteui-angular-core";
import { ISpreadsheetGraphics_$type } from "./ISpreadsheetGraphics";
import { Encoding } from "igniteui-angular-core";
import { Convert } from "igniteui-angular-core";
import { ChartGradientFill } from "igniteui-angular-excel";
import { ChartEmptyFill } from "igniteui-angular-excel";
import { ChartSolidFill } from "igniteui-angular-excel";
import { IGFormattedTextParagraph } from "./IGFormattedTextParagraph";
import { IGFormattedTextRun } from "./IGFormattedTextRun";
import { IGFormattedTextSettings } from "./IGFormattedTextSettings";
import { Regex } from "igniteui-angular-core";
import { CultureInfo, NumberFormatInfo, DateTimeFormat } from "igniteui-angular-core";
import { MathUtilities } from "igniteui-angular-excel";
import { ExcelCellFormatCategory_$type } from "./ExcelCellFormatCategory";
import { StringComparer } from "igniteui-angular-core";
import { Colors } from "igniteui-angular-excel";
import { IGFormattedTextDocument } from "./IGFormattedTextDocument";
import { WorkbookStyle } from "igniteui-angular-excel";
import { ResolvedWorkbookFont } from "./ResolvedWorkbookFont";
import { HorizontalTextAlignment_$type } from "igniteui-angular-excel";
import { FormattedString } from "igniteui-angular-excel";
import { FormattedStringFontResolved } from "./FormattedStringFontResolved";
import { ResolvedWorksheetCellFormatDataFont } from "./ResolvedWorksheetCellFormatDataFont";
import { ValueFormatter } from "igniteui-angular-excel";
import { ExcelCalcValue } from "igniteui-angular-excel";
import { CellBorderLineStyle_$type } from "igniteui-angular-excel";
import { GetCellTextParameters } from "igniteui-angular-excel";
import { ErrorValue } from "igniteui-angular-excel";
import { ExcelChangeAction_$type } from "igniteui-angular-excel";
import { Formula } from "igniteui-angular-excel";
import { WorkbookFormatCollection } from "igniteui-angular-excel";
import { Environment } from "igniteui-angular-core";
import { IconFilter } from "igniteui-angular-excel";
import { IFilterable_$type } from "igniteui-angular-excel";
import { Localization } from "igniteui-angular-core";
import { ShapeFillNoFill } from "igniteui-angular-excel";
import { ShapeOutlineNoOutline } from "igniteui-angular-excel";
import { WorksheetImage } from "igniteui-angular-excel";
import { RowColumnBase } from "igniteui-angular-excel";
import { IWorkbookOwner_$type } from "igniteui-angular-excel";
import { WeakWorkbookOwner } from "igniteui-angular-excel";
import { WorksheetCellFormatProxy } from "igniteui-angular-excel";
import { FontSuperscriptSubscriptStyle_$type } from "igniteui-angular-excel";
import { FontUnderlineStyle_$type } from "igniteui-angular-excel";
import { Uri } from "igniteui-angular-core";
import { UriParser } from "igniteui-angular-core";
import { WorksheetReferenceCollection } from "igniteui-angular-excel";
import { ConditionBase } from "igniteui-angular-excel";
import { FormulaParser } from "igniteui-angular-excel";
import { CellReferenceMode_$type } from "igniteui-angular-excel";
import { DiagonalBorders_$type } from "igniteui-angular-excel";
import { WorksheetCellAddress } from "igniteui-angular-excel";
import { NamedReferenceBase } from "igniteui-angular-excel";
import { AdapterIntRangeSet$1 } from "./AdapterIntRangeSet$1";
import { intSToU, numberToString2, tryParseInt32_1, tryParseNumber1, tryParseInt32_2, numberToString } from "igniteui-angular-core";
import { dateFromValues, dateGetTimeOfDay, dateToday, dateAddHours, dateMinValue, dateGetDate, dateMaxValue, dateNow } from "igniteui-angular-core";
import { dateToStringFormat, dateTryParse } from "igniteui-angular-core";
import { timeSpanTotalDays, timeSpanTotalHours, timeSpanFromHours, timeSpanTotalMilliseconds } from "igniteui-angular-core";
import { SpreadsheetContextMenuOpeningEventArgs } from "./SpreadsheetContextMenuOpeningEventArgs";
import { ContextMenu } from "./ContextMenu";
import { Brush } from "igniteui-angular-core";
import { SpreadsheetResourceId_$type } from "./SpreadsheetResourceId";
import { LRUCache$2 } from "igniteui-angular-core";
import { DefaultSpreadsheetColors } from "./DefaultSpreadsheetColors";
import { SpreadsheetMetricsCache } from "./SpreadsheetMetricsCache";
import { SpreadsheetMeasureHelper_MeasureStack } from "./SpreadsheetMeasureHelper_MeasureStack";
import { toSpinal } from "igniteui-angular-core";
import { WorkbookDataObjectPastingEventArgs } from "./WorkbookDataObjectPastingEventArgs";
import { SpreadsheetDialogResult } from "./SpreadsheetDialogResult";
import { EditModeWorkbookFontInfo } from "./EditModeWorkbookFontInfo";
import { rectFromLiteral, rectToLiteral } from "igniteui-angular-core";
import { pointFromLiteral } from "igniteui-angular-core";
import { SpreadsheetDialogServicesManager } from "./SpreadsheetDialogServicesManager";
import { SpreadsheetAreaLayoutManager_SheetLayerInfo$1 } from "./SpreadsheetAreaLayoutManager_SheetLayerInfo$1";
import { PixelConverter } from "./PixelConverter";
import { IElementLayerContainer_$type } from "./IElementLayerContainer";
import { IPlatformScrollBarAdapter_$type } from "./IPlatformScrollBarAdapter";
import { ScrollBarVisibilityCoordinator } from "./ScrollBarVisibilityCoordinator";
import { ScrollBarInfoMediator } from "./ScrollBarInfoMediator";
import { TimedOperation } from "./TimedOperation";
import { SpreadsheetHitTestResult } from "./SpreadsheetHitTestResult";
import { ScrollInfo } from "./ScrollInfo";
import { EqualityComparer$1 } from "igniteui-angular-core";
import { boxArray$1, arrayGetLength, arrayCopyTo } from "igniteui-angular-core";
import { arrayIndexOf1 } from "igniteui-angular-core";
import { RendererElementLayer$2 } from "./RendererElementLayer$2";
import { SpreadsheetCursorHelper } from "./SpreadsheetCursorHelper";
import { ISpreadsheetInteractionManagerOwner_$type } from "./ISpreadsheetInteractionManagerOwner";
import { SpreadsheetToolTipContext } from "./SpreadsheetToolTipContext";
import { sizeToLiteral, sizeFromLiteral } from "igniteui-angular-core";
import { IRendererElementLayerView$2_$type } from "./IRendererElementLayerView$2";
import { PageStartScrollCache } from "./PageStartScrollCache";
import { ISpreadsheetResourceProvider_$type } from "./ISpreadsheetResourceProvider";
import { SpreadsheetHeaderContentLayerBase_HeaderInfo$1 } from "./SpreadsheetHeaderContentLayerBase_HeaderInfo$1";
import { HeaderVisual } from "./HeaderVisual";
import { HeaderVisualInfo } from "./HeaderVisualInfo";
import { SpreadsheetDrawingOperation } from "./SpreadsheetDrawingOperation";
import { NotImplementedException } from "igniteui-angular-core";
import { ElementLayerViewSingle } from "./ElementLayerViewSingle";
import { ILayerRenderer_$type } from "./ILayerRenderer";
import { Spreadsheet_SimpleNamedReference } from "./Spreadsheet_SimpleNamedReference";
import { ReadOnlyNotifyCollection$1 } from "./ReadOnlyNotifyCollection$1";
import { InvalidOperationException } from "igniteui-angular-core";
import { UndoManager } from "./UndoManager";
import { WeakPropertyChangedHandler$1 } from "./WeakPropertyChangedHandler$1";
import { SpreadsheetMouseOperation } from "./SpreadsheetMouseOperation";
import { ExcelCalcEngine } from "igniteui-angular-excel";
import { IgDialogWrapper } from "./IgDialogWrapper";
import { DeferredOperation } from "./DeferredOperation";
import { SpreadsheetCommandBuilder } from "./SpreadsheetCommandBuilder";
import { SpreadsheetCommandExecutingEventArgs } from "./SpreadsheetCommandExecutingEventArgs";
import { SpreadsheetCommandExecutedEventArgs } from "./SpreadsheetCommandExecutedEventArgs";
import { NamedReference } from "igniteui-angular-excel";
import { CharUnicodeInfo } from "igniteui-angular-excel";
import { WorksheetPaneSelection } from "igniteui-angular-excel";
import { WorkbookSerializationLoadException } from "./WorkbookSerializationLoadException";
import { ListDataValidationRule } from "igniteui-angular-excel";
import { CellCalcReference } from "igniteui-angular-excel";
import { Spreadsheet_CustomEditValue } from "./Spreadsheet_CustomEditValue";
import { CalcUtilities } from "igniteui-angular-excel";
import { InvalidMultipleRangeSelection } from "./InvalidMultipleRangeSelection";
import { FormatCellsDialogTab_$type } from "./FormatCellsDialogTab";
import { FormatCellsDialogOptions } from "./FormatCellsDialogOptions";
import { FormatCellsDialogData } from "./FormatCellsDialogData";
import { IWorksheetUndoUnit_$type } from "./IWorksheetUndoUnit";
import { WorkbookDataObjectCopyingEventArgs } from "./WorkbookDataObjectCopyingEventArgs";
import { WorkbookDataObjectSettingDataEventArgs } from "./WorkbookDataObjectSettingDataEventArgs";
import { WorkbookSerializationErrorEventArgs } from "./WorkbookSerializationErrorEventArgs";
import { UndoTransaction } from "./UndoTransaction";
import { NamedCalcReference } from "igniteui-angular-excel";
import { ChangeInfo } from "igniteui-angular-excel";
import { StructuredTableReference } from "igniteui-angular-excel";
import { LockedEditRangeInfoForOperation } from "./LockedEditRangeInfoForOperation";
import { SpreadsheetEditRangePasswordNeededEventArgs } from "./SpreadsheetEditRangePasswordNeededEventArgs";
import { LockedEditRangeInfoForWorksheet } from "./LockedEditRangeInfoForWorksheet";
import { TableExpansionInfo } from "./TableExpansionInfo";
import { WorkbookSerializationLoadOptions } from "./WorkbookSerializationLoadOptions";
import { SpreadsheetActiveCellChangedEventArgs } from "./SpreadsheetActiveCellChangedEventArgs";
import { SpreadsheetActiveTableChangedEventArgs } from "./SpreadsheetActiveTableChangedEventArgs";
import { SpreadsheetActiveWorksheetChangedEventArgs } from "./SpreadsheetActiveWorksheetChangedEventArgs";
import { TableCalcReferenceBase } from "igniteui-angular-excel";
import { SpreadsheetHyperlinkExecutingEventArgs } from "./SpreadsheetHyperlinkExecutingEventArgs";
import { IOPath } from "igniteui-angular-core";
import { SpreadsheetCellDropDownItemSelectingEventArgs } from "./SpreadsheetCellDropDownItemSelectingEventArgs";
import { SpreadsheetWorkbookDirtiedEventArgs } from "./SpreadsheetWorkbookDirtiedEventArgs";
import { EditableComboBox } from "./EditableComboBox";
import { WorksheetUndoTransaction } from "./WorksheetUndoTransaction";
import { ReadOnlyResolvedWorksheetCellFormatData } from "./ReadOnlyResolvedWorksheetCellFormatData";
import { LazyReadOnlyNotifyCollection$1 } from "./LazyReadOnlyNotifyCollection$1";
import { ISpreadsheetEditInfo_$type } from "./ISpreadsheetEditInfo";
import { SpreadsheetRenderCache_MeasureTextMetricsProvider } from "./SpreadsheetRenderCache_MeasureTextMetricsProvider";
import { TextMetricsProviderBase } from "igniteui-angular-excel";
import { MemoryStream } from "igniteui-angular-core";
import { SpreadsheetTextWithPadding } from "./SpreadsheetTextWithPadding";
import { Spreadsheet_NullSpreadsheetText } from "./Spreadsheet_NullSpreadsheetText";
import { CustomDOMEventProxy } from "./CustomDOMEventProxy";
import { CellFillGradientStop } from "igniteui-angular-excel";
import { Stack$1 } from "igniteui-angular-core";
import { SpreadsheetVisualElementDomBuilder_CanvasCache } from "./SpreadsheetVisualElementDomBuilder_CanvasCache";
import { JSDataObject } from "./JSDataObject";
import { JsSpreadsheetText } from "./JsSpreadsheetText";
import { WorksheetShapeWithText } from "igniteui-angular-excel";
import { BrushUtilCore } from "igniteui-angular-core";
import { IGFormattedTextFont } from "./IGFormattedTextFont";
import { HtmlTextMetricsProvider } from "igniteui-angular-excel";
import { WorksheetProtectedRange } from "igniteui-angular-excel";
import { WorksheetCellBlock } from "igniteui-angular-excel";
import { IRegionBlockingValue_$type } from "igniteui-angular-excel";
import { SpreadsheetEditHelper_TextChangeWithOptions } from "./SpreadsheetEditHelper_TextChangeWithOptions";
import { WorkbookFontData } from "igniteui-angular-excel";
import { WorksheetMergedCellsRegion } from "igniteui-angular-excel";
import { ArrayFormula } from "igniteui-angular-excel";
import { StringElement } from "igniteui-angular-excel";
import { FormulaContext } from "igniteui-angular-excel";
import { IFunctionToken_$type } from "igniteui-angular-excel";
import { RefToken } from "igniteui-angular-excel";
import { AreaToken } from "igniteui-angular-excel";
import { UnaryOperatorToken } from "igniteui-angular-excel";
import { BinaryOperatorToken } from "igniteui-angular-excel";
import { WorkbookFontProxy } from "igniteui-angular-excel";
import { FormattedStringElement } from "igniteui-angular-excel";
import { FontColorFilter } from "igniteui-angular-excel";
import { FillFilter } from "igniteui-angular-excel";
import { CellBorderValue } from "./CellBorderValue";
import { RowCellFormatEnumerator } from "./RowCellFormatEnumerator";
import { ColumnCellFormatEnumerator } from "./ColumnCellFormatEnumerator";
import { FixedValuesFilter } from "igniteui-angular-excel";
import { PlatformTimer } from "./PlatformTimer";
import { SpreadsheetPaneManager_InternalFlags_$type } from "./SpreadsheetPaneManager_InternalFlags";
import { Queue$1 } from "igniteui-angular-core";
import { DisposableAction } from "./DisposableAction";
import { PaneLocation_$type } from "igniteui-angular-excel";
import { SpreadsheetChartDataInfo } from "./SpreadsheetChartDataInfo";
import { IndexRange } from "igniteui-angular-excel";
import { SpreadsheetPaneManager_SetBorderHelper } from "./SpreadsheetPaneManager_SetBorderHelper";
import { CellSizeMeasurementContext } from "igniteui-angular-excel";
import { ArrayInteriorFormula } from "igniteui-angular-excel";
import { DataTableInteriorFormula } from "igniteui-angular-excel";
import { ExtendedRangeScrollInfo } from "./ExtendedRangeScrollInfo";
import { WorkbookBuiltInStyle } from "igniteui-angular-excel";
import { SpreadsheetResolvedRenderFormat } from "./SpreadsheetResolvedRenderFormat";
import { WorksheetCellFormatDataEqualityComparer } from "./WorksheetCellFormatDataEqualityComparer";
import { RegionLookupTable$1 } from "igniteui-angular-excel";
import { WorkbookSerializationProviderBase } from "./WorkbookSerializationProviderBase";
import { WorksheetCellComment } from "igniteui-angular-excel";
import { WorkbookThemeColorType_$type } from "igniteui-angular-excel";
import { ExcelWorkbookSerializationProvider_CellRangeTargetInfo } from "./ExcelWorkbookSerializationProvider_CellRangeTargetInfo";
import { NamedReferenceUnconnected } from "igniteui-angular-excel";
import { WorkbookDataObjectLoadContext } from "./WorkbookDataObjectLoadContext";
import { ExcelWorkbookSerializationProvider_TargetColumnIndexHelper } from "./ExcelWorkbookSerializationProvider_TargetColumnIndexHelper";
import { CellRegionMapMany } from "./CellRegionMapMany";
import { CellRegionMapSingle } from "./CellRegionMapSingle";
import { WorkbookDataObjectSaveContext } from "./WorkbookDataObjectSaveContext";
import { StringReader } from "igniteui-angular-core";
import { StreamReader } from "igniteui-angular-core";
import { SortedIntRangeList } from "igniteui-angular-excel";
import { PlainTextWorkbookSerializationProvider_ParseEditValue } from "./PlainTextWorkbookSerializationProvider_ParseEditValue";
import { PlainTextReader } from "./PlainTextReader";
import { PlainTextWriter } from "./PlainTextWriter";
import { StreamWriter } from "igniteui-angular-core";
import { WorkbookLoadOptions } from "igniteui-angular-excel";
import { IGExcelSerializationProvider_SyncPackageFactory } from "./IGExcelSerializationProvider_SyncPackageFactory";
import { Guid } from "igniteui-angular-core";
import { WorkbookSaveOptions } from "igniteui-angular-excel";
import { IGExcelSerializationProvider_SelectionWorkbookSaveFilter } from "./IGExcelSerializationProvider_SelectionWorkbookSaveFilter";
import { StringWriter } from "igniteui-angular-core";
import { ColorsInternal } from "igniteui-angular-excel";
import { SpreadsheetTabManager_InternalFlags_$type } from "./SpreadsheetTabManager_InternalFlags";
import { WorkbookUndoUnitBase } from "./WorkbookUndoUnitBase";
import { SpreadsheetVisualData } from "./SpreadsheetVisualData";
import { SpreadsheetHeaderAreaVisualData } from "./SpreadsheetHeaderAreaVisualData";
import { SpreadsheetCellAreaVisualData } from "./SpreadsheetCellAreaVisualData";
import { SpreadsheetTabItemAreaVisualData } from "./SpreadsheetTabItemAreaVisualData";
import { SpreadsheetTabVisualData } from "./SpreadsheetTabVisualData";
import { RectData } from "igniteui-angular-core";
import { ColorData } from "igniteui-angular-core";
import { SpreadsheetRowColumnVisualData } from "./SpreadsheetRowColumnVisualData";
import { INotifyCollectionChanged_$type } from "igniteui-angular-core";
import { RootVisualElement_DeferredTouchOperation } from "./RootVisualElement_DeferredTouchOperation";
import { SpreadsheetDialogUtilities } from "./SpreadsheetDialogUtilities";
import { FormatCellsDialogBorderInfo } from "./FormatCellsDialogBorderInfo";
import { StyleAttributeMember } from "./StyleAttributeMember";
import { CheckboxElementInfo } from "./CheckboxElementInfo";
import { SpreadsheetDialogFormatCategory } from "./SpreadsheetDialogFormatCategory";
import { BorderLineButtonElementProxy } from "./BorderLineButtonElementProxy";
import { SingleCellSpreadsheetPreviewHelper } from "./SingleCellSpreadsheetPreviewHelper";
import { FormatCellsDialogManager_ElementVisibility_$type } from "./FormatCellsDialogManager_ElementVisibility";
import { SpreadsheetDialogFormat } from "./SpreadsheetDialogFormat";
import { ColorSortingCriteriaControl_ColorSortingCriteriaElementPart_$type } from "./ColorSortingCriteriaControl_ColorSortingCriteriaElementPart";
import { SortCriteriaRow_RowElementPart_$type } from "./SortCriteriaRow_RowElementPart";
import { tryParseBool } from "igniteui-angular-core";
import { ThemeColorPickerControlViewModel } from "./ThemeColorPickerControlViewModel";
import { DialogFontStyle_$type } from "./DialogFontStyle";
import { ISpreadsheetDialogFormatsService_$type } from "./ISpreadsheetDialogFormatsService";
import { SpreadsheetDialogFormatCategoryEx } from "./SpreadsheetDialogFormatCategoryEx";
import { DateRangeFilter } from "igniteui-angular-excel";
import { FormatCellsDialogViewModel_FormatCellsDialogState } from "./FormatCellsDialogViewModel_FormatCellsDialogState";
import { ExtendedScrollArrowHelperBase } from "./ExtendedScrollArrowHelperBase";
import { JsScrollEventArgs } from "./JsScrollEventArgs";
/**
* Defines a base class for spreadsheet chart adapters that creates and initializes a container element which contains the elements required to display the chart in a spreadsheet based on a [[WorksheetChart]] instance.
*/
var SpreadsheetChartAdapterBase = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(SpreadsheetChartAdapterBase, _super);
function SpreadsheetChartAdapterBase() {
return _super !== null && _super.apply(this, arguments) || this;
}
SpreadsheetChartAdapterBase.$t = markType(SpreadsheetChartAdapterBase, 'SpreadsheetChartAdapterBase');
return SpreadsheetChartAdapterBase;
}(Base));
export { SpreadsheetChartAdapterBase };
/**
* @hidden
*/
var SortConditionWrapper = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(SortConditionWrapper, _super);
function SortConditionWrapper(a, b, c) {
var _this = _super.call(this) || this;
_this._f = 0;
_this._s = 0;
_this._x = 0;
_this._z = null;
_this._d = 0;
_this._k = null;
_this._ab = null;
_this._ac = null;
_this._a = null;
_this._ae = null;
_this._b = null;
_this._c = null;
_this.propertyChanged = null;
_this._k = a;
_this._aj(b, c);
return _this;
}
SortConditionWrapper.prototype._ak = function (a) {
switch (a) {
case "SortConditionType":
switch (this._h) {
case 0:
case 1:
case 2:
case 3:
switch (this._e) {
case 2:
this._e = 0;
break;
case 3:
this._e = 1;
break;
}
break;
case 4: break;
}
this._k._cd(this);
this._am();
break;
case "Column":
this._k._cd(this);
this._am();
break;
}
var b = this.propertyChanged;
if (null != b) {
b(this, new PropertyChangedEventArgs(a));
}
};
SortConditionWrapper.prototype.toString = function () {
return stringFormat("{0} - {1}", this._w, enumGetBox(SpreadsheetSortDialogConditionType_$type, this._h));
};
SortConditionWrapper.prototype._aj = function (a, b) {
var e_1, _0;
var _this = this;
if (null == a) {
this._y = 0;
return;
}
var c = null;
var d = 0;
var e = getInstanceType(a);
if (e == SortConditionWrapper._ai) {
var f = a;
c = f.value;
d = f.key.index;
}
else if (e == SortConditionWrapper._ah) {
var g = a;
c = g.value;
var h = g.key;
d = h.index;
}
else {
}
var i = false;
if (null != c) {
var j = ((function () { var k = SortConditionWrapper._p.tryGetValue(getInstanceType(c), _this._f); _this._f = k.p1; return k.ret; })());
if (!j) {
return;
}
switch (this._f) {
case 1:
{
var k = typeCast(FillSortCondition.$, c);
if (null != k) {
this._z = k.fill;
}
else {
}
}
break;
case 2:
{
var l = typeCast(FontColorSortCondition.$, c);
if (null != l) {
this._z = l.fontColorInfo;
}
else {
}
}
break;
case 3:
{
var m = typeCast(IconSortCondition.$, c);
if (null != m) {
var n = Tuple.a(FormatConditionIconSet_$type, Nullable$1.$.specialize(Number_$type), m.iconSet, m._iconIndex$i);
this._z = n;
}
else {
}
}
break;
case 4:
{
var o = typeCast(CustomListSortCondition.$, c);
if (null != o) {
var p = new StringBuilder(0);
var q = new StringBuilder(0);
var r = new List$1(String_$type, 0);
try {
for (var _1 = __values(fromEnum(o.list)), _2 = _1.next(); !_2.done; _2 = _1.next()) {
var s = _2.value;
if (p.c > 0) {
p.l(", ");
}
p.l(s);
if (q.c > 0) {
q.x(0, ", ");
}
q.x(0, s);
r.add(s);
}
}
catch (e_1_1) {
e_1 = { error: e_1_1 };
}
finally {
try {
if (_2 && !_2.done && (_0 = _1.return))
_0.call(_1);
}
finally {
if (e_1)
throw e_1.error;
}
}
this._ab = p.toString();
this._ac = q.toString();
this._a = r.toArray();
this._f = 0;
i = true;
}
else {
}
}
break;
case 0: break;
default: break;
}
var t1 = c.sortDirection;
L0: while (true) {
switch (t1) {
case 0:
this._d = i ? 2 : 0;
break;
case 1:
this._d = i ? 3 : 1;
break;
default:
t1 = 0;
continue L0;
}
break;
}
}
d += b;
this._y = d;
};
SortConditionWrapper.prototype._ad = function (a) {
return a ? this._ab : this._ac;
};
SortConditionWrapper.prototype._v = function () {
return this._k._au();
};
SortConditionWrapper.prototype._al = function (a, b) {
if (b === void 0) {
b = false;
}
var c = a;
var d = c + this._v();
var e = this._s != d;
var f = this._x != c;
if (false == b && false == f && false == e) {
return;
}
this._s = d;
this._x = c;
this._ak("Column");
if (b || e) {
this._ak("AbsoluteColumnIndex");
}
if (b || f) {
this._ak("RelativeColumnIndex");
}
};
SortConditionWrapper.prototype._am = function () {
this._k._b9(this);
this._ak("ColorSortingCriteriaListItems");
};
SortConditionWrapper.prototype._an = function () {
switch (this._w) {
case 0:
this._af = this._k._bg;
break;
default:
this._af = this._k._bq;
break;
}
};
SortConditionWrapper.prototype._j = function () {
var a = new SortConditionWrapper(this._k, null, 0);
a._d = this._d;
a._f = this._f;
a._x = this._x;
a._s = this._s;
a._z = this._z;
a._ab = this._ab;
a._ac = this._ac;
a._a = this._a;
a._ae = this._ae;
this._k._cd(a);
return a;
};
SortConditionWrapper.prototype._u = function () {
var a = this._aa;
var b = a == null;
for (var c = 0; c < this._q.count; c++) {
var d = this._q.item(c);
var e = d.dataValue;
var f = e == null;
if (b) {
if (f) {
return c;
}
else {
continue;
}
}
if (Base.equalsStatic(e, a)) {
return c;
}
}
return -1;
};
SortConditionWrapper.prototype._n = function (a, b) {
var c = this._l;
switch (this._h) {
case 0:
a = new OrderedSortCondition(c);
b = null;
return {
ret: true,
p0: a,
p1: b
};
case 1:
var d = this._aa;
if (null == d) {
var e = this._i._fy("SpreadsheetSortDialogConditionTypes_FillSortCondition_DisplayText");
b = new SortDialogViewModel_ApplySortErrorInfo(1, this, "Cell Color", this._i._fy("SortDialog_SortConditionError_FieldCannotBeNull", e));
a = null;
return {
ret: false,
p0: a,
p1: b
};
}
a = new FillSortCondition(d, c);
b = null;
return {
ret: true,
p0: a,
p1: b
};
case 2:
var f = this._aa;
if (WorkbookColorInfo.l_op_Equality(null, f)) {
var g = this._i._fy("SpreadsheetSortDialogConditionTypes_FontColorSortCondition_DisplayText");
b = new SortDialogViewModel_ApplySortErrorInfo(1, this, "Font Color", this._i._fy("SortDialog_SortConditionError_FieldCannotBeNull", g));
a = null;
return {
ret: false,
p0: a,
p1: b
};
}
a = new FontColorSortCondition(f, c);
b = null;
return {
ret: true,
p0: a,
p1: b
};
case 3:
var h = this._aa;
if (null == h) {
var i = this._i._fy("SpreadsheetSortDialogConditionTypes_IconSortCondition_DisplayText");
b = new SortDialogViewModel_ApplySortErrorInfo(1, this, "Conditional Formatting Icon", this._i._fy("SortDialog_SortConditionError_FieldCannotBeNull", i));
a = null;
return {
ret: false,
p0: a,
p1: b
};
}
a = new IconSortCondition(h.c, h.d, c);
b = null;
return {
ret: true,
p0: a,
p1: b
};
case 4:
a = new (CustomListSortCondition.bind.apply(CustomListSortCondition, __spreadArray([void 0, c], __read(this._a))))();
b = null;
return {
ret: true,
p0: a,
p1: b
};
default:
a = null;
b = null;
return {
ret: false,
p0: a,
p1: b
};
}
};
Object.defineProperty(SortConditionWrapper.prototype, "_af", {
get: function () {
return this._ae;
},
set: function (a) {
if (stringCompare1(this._ae, a, 0) == 0) {
return;
}
this._ae = a;
this._ak("SortByLabelText");
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_l", {
get: function () {
switch (this._d) {
case 0:
case 2: return 0;
case 1:
case 3: return 1;
default: return 0;
}
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_i", {
get: function () {
return this._k._e;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper, "_p", {
get: function () {
if (null == SortConditionWrapper._o) {
var a = EnumUtil.getValues(SpreadsheetSortDialogConditionType_$type).length;
SortConditionWrapper._o = new Dictionary$2(Type.$, SpreadsheetSortDialogConditionType_$type, 1, a);
SortConditionWrapper._o.addItem(OrderedSortCondition.$, 0);
SortConditionWrapper._o.addItem(FillSortCondition.$, 1);
SortConditionWrapper._o.addItem(FontColorSortCondition.$, 2);
SortConditionWrapper._o.addItem(IconSortCondition.$, 3);
SortConditionWrapper._o.addItem(CustomListSortCondition.$, 4);
}
return SortConditionWrapper._o;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_t", {
get: function () {
return this._s;
},
set: function (a) {
var b = a;
var c = b - this._v();
var d = this._s != b;
var e = this._x != c;
if (false == e && false == d) {
return;
}
this._s = b;
this._x = c;
this._ak("Column");
if (d) {
this._ak("AbsoluteColumnIndex");
}
if (e) {
this._ak("RelativeColumnIndex");
}
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_q", {
get: function () {
if (null == this._b) {
this._b = new ObservableCollectionExtended$1(ComboBoxListItem.$, 0);
this._am();
}
return this._b;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_aa", {
get: function () {
return this._z;
},
set: function (a) {
this._z = a;
this._ak("ColorValue");
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_w", {
get: function () {
return this._k._ar.indexOf(this);
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_m", {
get: function () {
return this._k._ae(this);
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_y", {
get: function () {
return this._x;
},
set: function (a) {
this._al(a);
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_e", {
get: function () {
return this._d;
},
set: function (a) {
if (a == this._d) {
return;
}
this._d = a;
this._ak("SortDirection");
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_g", {
get: function () {
return this._f;
},
set: function (a) {
if (a == 4) {
a = 0;
}
this._f = a;
this._ak("SortConditionType");
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_h", {
get: function () {
switch (this._f) {
case 0:
switch (this._e) {
case 0:
case 1: break;
case 2:
case 3: return 4;
}
break;
}
return this._f;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SortConditionWrapper.prototype, "_r", {
get: function () {
if (null == this._c) {
this._c = new ObservableCollectionExtended$1(ComboBoxListItem.$, 0);
this._k._cd(this);
}
return this._c;
},
enumerable: false,
configurable: true
});
SortConditionWrapper.$t = markType(SortConditionWrapper, 'SortConditionWrapper', Base.$, [INotifyPropertyChanged_$type]);
SortConditionWrapper._o = null;
SortConditionWrapper._ai = KeyValuePair$2.$.specialize(RelativeIndex.$, SortCondition.$);
SortConditionWrapper._ah = KeyValuePair$2.$.specialize(WorksheetTableColumn.$, SortCondition.$);
return SortConditionWrapper;
}(Base));
export { SortConditionWrapper };
/**
* @hidden
*/
var SortDialogViewModel = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(SortDialogViewModel, _super);
function SortDialogViewModel(a, b, c) {
var _this = _super.call(this) || this;
_this._d = null;
_this._n = new WorksheetRegionAddress();
_this._ad = false;
_this._c = 0;
_this._q = null;
_this._i = null;
_this._aq = null;
_this._aw = toNullable(Number_$type, null);
_this._ai = true;
_this._ag = false;
_this._j = new WorksheetRegionAddress();
_this._l = new WorksheetRegionAddress();
_this._al = true;
_this._aa = false;
_this._o = 0;
_this._s = false;
_this._a2 = null;
_this._a = null;
_this._am = null;
_this._ao = null;
_this._r = null;
_this._activeRowIndexChanged = null;
_this.propertyChanged = null;
if (b == null) {
throw new ArgumentNullException(0, "sortTarget");
}
_this._d = a;
_this._c = b.a;
_this._r = c;
switch (_this._c) {
case 0:
case 1:
case 2:
_this._n = b.d;
_this._ad = b.f;
_this._q = null;
_this._i = b.b;
break;
case 3:
_this._q = b.e;
_this._n = b.d;
_this._i = _this._q.worksheet;
break;
}
_this._bt();
return _this;
}
SortDialogViewModel._v = function (a, b) {
var c = a == null;
var d = b == null;
if (c && d) {
return true;
}
if (c != d) {
return false;
}
return Base.equalsStatic(a, b);
};
SortDialogViewModel.prototype._h = function (a) {
var b = typeCast(ArgumentException.$, a);
if (null != b) {
var c = this._e._fy("SortDialog_SortConditionError_DuplicateItemSorted");
return new SortDialogViewModel_ApplySortErrorInfo(0, c);
}
return new SortDialogViewModel_ApplySortErrorInfo(0, a.message);
};
SortDialogViewModel.prototype._br = function (a) {
var e_2, _0;
if (null != this._aq) {
var b = this._aq;
b.collectionChanged = delegateRemove(b.collectionChanged, runOn(this, this._b4));
}
this._aq = new ObservableCollection$1(SortConditionWrapper.$, 0);
var c = this._aq;
c.collectionChanged = delegateCombine(c.collectionChanged, runOn(this, this._b4));
if (null != a) {
try {
for (var _1 = __values(fromEn(a)), _2 = _1.next(); !_2.done; _2 = _1.next()) {
var d = _2.value;
var e = this._at();
var f = new SortConditionWrapper(this, d, e);
if (this._af(f)) {
this._aq.add(f);
}