igniteui-angular-spreadsheet
Version:
Ignite UI Angular spreadsheet component for displaying and editing Microsoft Excel workbooks for modern web apps.
1,009 lines • 1.95 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 { 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.
*/
export let SpreadsheetChartAdapterBase = /*@__PURE__*/ (() => {
class SpreadsheetChartAdapterBase extends Base {
}
SpreadsheetChartAdapterBase.$t = markType(SpreadsheetChartAdapterBase, 'SpreadsheetChartAdapterBase');
return SpreadsheetChartAdapterBase;
})();
/**
* @hidden
*/
export let SortConditionWrapper = /*@__PURE__*/ (() => {
class SortConditionWrapper extends Base {
constructor(a, b, c) {
super();
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);
}
_ak(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;
}
let b = this.propertyChanged;
if (null != b) {
b(this, new PropertyChangedEventArgs(a));
}
}
toString() {
return stringFormat("{0} - {1}", this._w, enumGetBox(SpreadsheetSortDialogConditionType_$type, this._h));
}
_aj(a, b) {
if (null == a) {
this._y = 0;
return;
}
let c = null;
let d = 0;
let e = getInstanceType(a);
if (e == SortConditionWrapper._ai) {
let f = a;
c = f.value;
d = f.key.index;
}
else if (e == SortConditionWrapper._ah) {
let g = a;
c = g.value;
let h = g.key;
d = h.index;
}
else {
}
let i = false;
if (null != c) {
let j = ((() => { let k = SortConditionWrapper._p.tryGetValue(getInstanceType(c), this._f); this._f = k.p1; return k.ret; })());
if (!j) {
return;
}
switch (this._f) {
case 1:
{
let k = typeCast(FillSortCondition.$, c);
if (null != k) {
this._z = k.fill;
}
else {
}
}
break;
case 2:
{
let l = typeCast(FontColorSortCondition.$, c);
if (null != l) {
this._z = l.fontColorInfo;
}
else {
}
}
break;
case 3:
{
let m = typeCast(IconSortCondition.$, c);
if (null != m) {
let n = Tuple.a(FormatConditionIconSet_$type, Nullable$1.$.specialize(Number_$type), m.iconSet, m._iconIndex$i);
this._z = n;
}
else {
}
}
break;
case 4:
{
let o = typeCast(CustomListSortCondition.$, c);
if (null != o) {
let p = new StringBuilder(0);
let q = new StringBuilder(0);
let r = new List$1(String_$type, 0);
for (let s of fromEnum(o.list)) {
if (p.c > 0) {
p.l(", ");
}
p.l(s);
if (q.c > 0) {
q.x(0, ", ");
}
q.x(0, s);
r.add(s);
}
this._ab = p.toString();
this._ac = q.toString();
this._a = r.toArray();
this._f = 0;
i = true;
}
else {
}
}
break;
case 0: break;
default: break;
}
let 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;
}
_ad(a) {
return a ? this._ab : this._ac;
}
_v() {
return this._k._au();
}
_al(a, b = false) {
let c = a;
let d = c + this._v();
let e = this._s != d;
let 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");
}
}
_am() {
this._k._b9(this);
this._ak("ColorSortingCriteriaListItems");
}
_an() {
switch (this._w) {
case 0:
this._af = this._k._bg;
break;
default:
this._af = this._k._bq;
break;
}
}
_j() {
let 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;
}
_u() {
let a = this._aa;
let b = a == null;
for (let c = 0; c < this._q.count; c++) {
let d = this._q.item(c);
let e = d.dataValue;
let f = e == null;
if (b) {
if (f) {
return c;
}
else {
continue;
}
}
if (Base.equalsStatic(e, a)) {
return c;
}
}
return -1;
}
_n(a, b) {
let c = this._l;
switch (this._h) {
case 0:
a = new OrderedSortCondition(c);
b = null;
return {
ret: true,
p0: a,
p1: b
};
case 1:
let d = this._aa;
if (null == d) {
let 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:
let f = this._aa;
if (WorkbookColorInfo.l_op_Equality(null, f)) {
let 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:
let h = this._aa;
if (null == h) {
let 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(c, ...this._a);
b = null;
return {
ret: true,
p0: a,
p1: b
};
default:
a = null;
b = null;
return {
ret: false,
p0: a,
p1: b
};
}
}
get _af() {
return this._ae;
}
set _af(a) {
if (stringCompare1(this._ae, a, 0) == 0) {
return;
}
this._ae = a;
this._ak("SortByLabelText");
}
get _l() {
switch (this._d) {
case 0:
case 2: return 0;
case 1:
case 3: return 1;
default: return 0;
}
}
get _i() {
return this._k._e;
}
static get _p() {
if (null == SortConditionWrapper._o) {
let 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;
}
get _t() {
return this._s;
}
set _t(a) {
let b = a;
let c = b - this._v();
let d = this._s != b;
let 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");
}
}
get _q() {
if (null == this._b) {
this._b = new ObservableCollectionExtended$1(ComboBoxListItem.$, 0);
this._am();
}
return this._b;
}
get _aa() {
return this._z;
}
set _aa(a) {
this._z = a;
this._ak("ColorValue");
}
get _w() {
return this._k._ar.indexOf(this);
}
get _m() {
return this._k._ae(this);
}
get _y() {
return this._x;
}
set _y(a) {
this._al(a);
}
get _e() {
return this._d;
}
set _e(a) {
if (a == this._d) {
return;
}
this._d = a;
this._ak("SortDirection");
}
get _g() {
return this._f;
}
set _g(a) {
if (a == 4) {
a = 0;
}
this._f = a;
this._ak("SortConditionType");
}
get _h() {
switch (this._f) {
case 0:
switch (this._e) {
case 0:
case 1: break;
case 2:
case 3: return 4;
}
break;
}
return this._f;
}
get _r() {
if (null == this._c) {
this._c = new ObservableCollectionExtended$1(ComboBoxListItem.$, 0);
this._k._cd(this);
}
return this._c;
}
}
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;
})();
/**
* @hidden
*/
export let SortDialogViewModel = /*@__PURE__*/ (() => {
class SortDialogViewModel extends Base {
constructor(a, b, c) {
super();
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();
}
static _v(a, b) {
let c = a == null;
let d = b == null;
if (c && d) {
return true;
}
if (c != d) {
return false;
}
return Base.equalsStatic(a, b);
}
_h(a) {
let b = typeCast(ArgumentException.$, a);
if (null != b) {
let c = this._e._fy("SortDialog_SortConditionError_DuplicateItemSorted");
return new SortDialogViewModel_ApplySortErrorInfo(0, c);
}
return new SortDialogViewModel_ApplySortErrorInfo(0, a.message);
}
_br(a) {
if (null != this._aq) {
let b = this._aq;
b.collectionChanged = delegateRemove(b.collectionChanged, runOn(this, this._b4));
}
this._aq = new ObservableCollection$1(SortConditionWrapper.$, 0);
let c = this._aq;
c.collectionChanged = delegateCombine(c.collectionChanged, runOn(this, this._b4));
if (null != a) {
for (let d of fromEn(a)) {
let e = this._at();
let f = new SortConditionWrapper(this, d, e);
if (this._af(f)) {
this._aq.add(f);
}
}
}
if (this._aq.count == 0) {
this._f();
}
this._ax = toNullable(Number_$type, 0);
}
_bs() {
let a;
if (null == this._ao) {
this._ao = new ObservableCollection$1(ComboBoxListItem.$, 0);
}
let b = EnumUtil.getValues(SpreadsheetSortDialogConditionType_$type);
let c = "SpreadsheetSortDialogConditionTypes_{0}_DisplayText";
for (let e = 0; e < b.length; e++) {
let d = b[e];
if (d == 4) {
continue;
}
let f = stringFormat(c, EnumUtil.getName(SpreadsheetSortDialogConditionType_$type, d));
let g = this._d._fy(f);
a = new ComboBoxListItem(enumGetBox(SpreadsheetSortDialogConditionType_$type, d), g);
this._ao.add(a);
}
}
_at() {
switch (this._c) {
case 0: break;
case 1:
let a = this._au();
let b = this._av(this._i.sortSettings.region._h);
let c = b - a;
return c;
case 3: break;
}
return 0;
}
_bt() {
switch (this._c) {
case 1:
{
let a = this._i.sortSettings;
this._o = a.sortType;
this._s = true;
this._ag = this._o == 0 ? this._ad : false;
this._aa = a.caseSensitive;
this._br(a._sortConditions$i);
}
break;
case 0:
{
this._o = 0;
this._s = true;
this._ag = this._o == 0 ? this._ad : false;
this._aa = false;
this._br(null);
}
break;
case 2:
{
let b = this._i.filterSettings.sortSettings;
this._o = 0;
this._s = false;
this._ag = true;
this._aa = b.caseSensitive;
this._br(b._sortConditions$i);
}
break;
case 3:
{
let c = this._q.sortSettings;
this