@talxis/base-controls 1.2506.5 → 1.2506.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/components/Grid/aggregation/Aggregation.d.ts +18 -0
  2. package/dist/components/Grid/aggregation/Aggregation.js +129 -0
  3. package/dist/components/Grid/aggregation/Aggregation.js.map +1 -0
  4. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +6 -3
  5. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -1
  6. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +1 -1
  7. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +18 -8
  8. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -1
  9. package/dist/components/Grid/core/components/AgGrid/styles.d.ts +4 -0
  10. package/dist/components/Grid/core/components/AgGrid/styles.js +4 -0
  11. package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -1
  12. package/dist/components/Grid/core/components/Cell/Cell.js +14 -1
  13. package/dist/components/Grid/core/components/Cell/Cell.js.map +1 -1
  14. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js +5 -0
  15. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +1 -1
  16. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +1 -1
  17. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +1 -1
  18. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +10 -2
  19. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +1 -1
  20. package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +1 -0
  21. package/dist/components/Grid/core/model/Grid.d.ts +3 -0
  22. package/dist/components/Grid/core/model/Grid.js +36 -13
  23. package/dist/components/Grid/core/model/Grid.js.map +1 -1
  24. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +3 -0
  25. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +1 -1
  26. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +1 -1
  27. package/dist/components/Grid/interfaces.d.ts +1 -0
  28. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +58 -34
  29. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +1 -1
  30. package/dist/components/Grid/translations.d.ts +36 -0
  31. package/dist/components/Grid/translations.js +13 -1
  32. package/dist/components/Grid/translations.js.map +1 -1
  33. package/dist/components/GridCellRenderer/GridCellRenderer.js +37 -5
  34. package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
  35. package/dist/components/GridCellRenderer/interfaces.d.ts +5 -2
  36. package/dist/components/GridCellRenderer/styles.d.ts +15 -2
  37. package/dist/components/GridCellRenderer/styles.js +15 -2
  38. package/dist/components/GridCellRenderer/styles.js.map +1 -1
  39. package/dist/components/GridCellRenderer/translations.d.ts +24 -0
  40. package/dist/components/GridCellRenderer/translations.js +24 -0
  41. package/dist/components/GridCellRenderer/translations.js.map +1 -1
  42. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js +0 -4
  43. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js.map +1 -1
  44. package/dist/index.d.ts +66 -2
  45. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  46. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.js","sources":["../../../../../src/components/Grid/core/model/Grid.ts"],"sourcesContent":["import { Attribute, Client, Constants, DataType, DataTypes, IColumn, ICommand, ICustomColumnControl, IDataset, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { Filtering } from \"../../filtering/model/Filtering\";\nimport { IGrid } from \"../../interfaces\";\nimport { Selection } from \"../../selection/model/Selection\";\nimport { Sorting } from \"../../sorting/Sorting\";\nimport { KeyHoldListener } from \"../services/KeyListener\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { IGridColumn } from \"../interfaces/IGridColumn\";\nimport { BaseControls } from \"../../../../utils\";\nimport { IBinding } from \"../../../NestedControlRenderer/interfaces\";\nimport { merge } from \"merge-anything\";\n\nconst DEFAULT_ROW_HEIGHT = 42;\n\nexport interface IGridHeightSettings {\n isAutoHeightEnabled: boolean;\n height?: string;\n}\n\nexport class Grid {\n private _props: IGrid;\n private _dataset: IDataset\n private _pcfContext: ComponentFramework.Context<any>;\n private _columns: IGridColumn[] = [];\n //used for optimization\n private _previousRecordsReference: {\n [id: string]: IRecord;\n } = {};\n //TODO: fix types\n private _labels: any;\n private _shouldRerender: boolean = false;\n private _records: IRecord[] = [];\n //TODO: the dependencies might not have fully loaded grid\n //need to make sure that the grid is initialized before creating them\n private _dependencies: {\n filtering: Filtering,\n sorting: Sorting,\n selection: Selection,\n };\n private _usesNestedPcfs: boolean = false;\n private _client = new Client();\n private _isUpdateScheduled: boolean = false;\n\n public readonly keyHoldListener: KeyHoldListener;\n\n constructor(props: IGrid, labels: any, keyHoldListener: KeyHoldListener) {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n this._labels = labels;\n this.keyHoldListener = keyHoldListener;\n\n this._dependencies = {\n filtering: new Filtering(this),\n selection: new Selection(this),\n sorting: new Sorting(this),\n }\n\n };\n public get isNavigationEnabled() {\n //enabled by default\n return this.parameters.EnableNavigation?.raw !== false;\n }\n public get isEditable() {\n return this._columns.find(x => x.isEditable) ? true : false;\n }\n public get parameters() {\n return this._props.parameters\n }\n public get error() {\n return this._dataset.error;\n }\n public get errorMessage() {\n return this._dataset.errorMessage\n }\n public get labels() {\n return this._labels;\n }\n public get dataset() {\n return this._dataset;\n }\n public get pcfContext() {\n return this._pcfContext;\n }\n public get props() {\n return this._props;\n }\n public get columns() {\n return this._columns;\n }\n public get records() {\n return this._records\n }\n public get sorting() {\n return this._dependencies.sorting;\n }\n public get filtering() {\n return this._dependencies.filtering;\n }\n public get selection() {\n return this._dependencies.selection;\n }\n public get paging() {\n return this._dataset.paging\n }\n public get shouldRerender() {\n return this._shouldRerender;\n }\n public get loading() {\n return this._dataset.loading;\n }\n public get state() {\n return this._props.state;\n }\n public get enableOptionSetColors() {\n return this.parameters.EnableOptionSetColors?.raw === true;\n }\n public get linking() {\n return this.dataset.linking;\n }\n\n public get isZebraEnabled() {\n return this.parameters.EnableZebra?.raw !== false;\n }\n\n public get inlineRibbonButtonIds() {\n const idString = this.parameters.InlineRibbonButtonIds?.raw;\n if (!idString) {\n return undefined;\n }\n return idString.split(',');\n }\n\n public get rowHeight() {\n let height = this.parameters.RowHeight?.raw;\n if (!height) {\n height = DEFAULT_ROW_HEIGHT;\n }\n return height;\n }\n\n public getHeightSettings(): IGridHeightSettings {\n if (this.parameters.Height?.raw) {\n return {\n isAutoHeightEnabled: false,\n height: this.parameters.Height?.raw\n }\n }\n if (this._records.length <= 15) {\n return {\n isAutoHeightEnabled: true\n }\n }\n return {\n isAutoHeightEnabled: false,\n //+2 for header and footer\n height: `${this.rowHeight * 17 + 5}px`\n }\n\n\n }\n\n public getClient() {\n return this._client;\n }\n\n public updateDependencies(props: IGrid): void {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n if (this._previousRecordsReference !== this._dataset.records) {\n this._records = Object.values(this._dataset.records);\n this._previousRecordsReference = this._dataset.records;\n this._isUpdateScheduled = true;\n queueMicrotask(() => {\n this._isUpdateScheduled = false;\n })\n }\n Object.values(this._dependencies).map(dep => {\n dep.onDependenciesUpdated()\n })\n this._shouldRerender = !this.shouldRerender;\n }\n\n public isUpdateScheduled() {\n return this._isUpdateScheduled\n }\n public async refreshColumns(): Promise<IGridColumn[]> {\n const gridColumns: IGridColumn[] = [];\n for (const column of this._dataset.columns) {\n const sorted = this._dataset.sorting?.find(sort => sort.name === column.name);\n const gridColumn: IGridColumn = {\n ...column,\n alignment: this.getColumnAlignment(column),\n isEditable: this._isColumnEditable(column),\n isRequired: this._isColumnRequired(column),\n isFilterable: this._isColumnFilterable(column),\n disableSorting: !this._isColumnSortable(column),\n isSortedDescending: sorted?.sortDirection === 1 ? true : false,\n type: this._getColumnType(column),\n isResizable: true,\n isSorted: sorted ? true : false,\n isFiltered: false,\n getEntityName: () => this._getColumnEntityName(column.name)\n }\n const condition = await this.filtering.condition(gridColumn);\n gridColumn.isFiltered = condition.isAppliedToDataset;\n gridColumns.push(gridColumn);\n }\n if (this.selection.type !== undefined) {\n gridColumns.unshift({\n name: CHECKBOX_COLUMN_KEY,\n alias: CHECKBOX_COLUMN_KEY,\n dataType: DataTypes.SingleLineText,\n alignment: 'center',\n displayName: '',\n isEditable: false,\n isFilterable: false,\n isFiltered: false,\n isRequired: false,\n isResizable: false,\n disableSorting: true,\n isSorted: false,\n isSortedDescending: false,\n order: 0,\n visualSizeFactor: 45,\n getEntityName: () => this._getColumnEntityName(CHECKBOX_COLUMN_KEY)\n });\n }\n this._columns = gridColumns;\n return gridColumns;\n }\n\n public getTotalVisibleColumnsWidth(): number {\n let totalWidth = 0;\n this._columns.filter(x => !x.isHidden).map(col => {\n totalWidth = totalWidth + (col.visualSizeFactor ?? 0);\n })\n return totalWidth;\n }\n\n public onNotifyOutputChanged(record: IRecord, column: IColumn, editing: boolean, newValue: any, rerenderCell: () => void) {\n record.setValue(column.name, newValue);\n if (!editing) {\n this.pcfContext.factory.requestRender();\n return;\n }\n setTimeout(() => {\n rerenderCell();\n }, 0);\n }\n\n public setUsesNestedPcfs() {\n this._usesNestedPcfs = true;\n }\n\n public getBindings(record: IRecord, column: IColumn, control: ICustomColumnControl) {\n const columnInfo = record.getColumnInfo(column.name);\n const bindings: { [name: string]: IBinding } = {\n 'value': {\n isStatic: false,\n type: column.dataType as any,\n value: this._getBindingValue(record, column),\n formattedValue: record.getFormattedValue(column.name),\n error: columnInfo.error,\n errorMessage: columnInfo.errorMessage,\n onNotifyOutputChanged: () => { },\n metadata: {\n onOverrideMetadata: () => column.metadata\n }\n },\n 'IsCellCustomizer': {\n isStatic: true,\n type: DataTypes.TwoOptions,\n value: true\n }\n }\n if (control.bindings) {\n Object.entries(control.bindings).map(([name, binding]) => {\n bindings[name] = {\n isStatic: true,\n type: binding.type!,\n value: binding.value\n }\n })\n }\n return bindings;\n }\n\n public getControl(column: IColumn, record: IRecord, editing: boolean): Required<ICustomColumnControl> {\n //file and image currently do not support editor, always force cell renderers\n switch (column.dataType) {\n case 'File':\n case 'Image': {\n return {\n name: 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n }\n }\n }\n const defaultControl: Required<ICustomColumnControl> = {\n name: editing ? BaseControls.GetControlNameForDataType(column.dataType as DataType) : 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n };\n const customControls = record.getColumnInfo(column.name).ui.getCustomControls([defaultControl]);\n const appliesToValue = editing ? 'editor' : 'renderer';\n const customControl = customControls.find(\n control => control.appliesTo === 'both' || control.appliesTo === appliesToValue\n );\n if (customControl) {\n return merge(defaultControl, customControl) as Required<ICustomColumnControl>;\n }\n\n return defaultControl;\n }\n\n public getParameters(record: IRecord, column: IGridColumn, editing: boolean, recordCommands?: ICommand[]) {\n const parameters: any = {\n Dataset: {\n raw: this.dataset,\n type: DataTypes.Object\n },\n Record: {\n raw: record,\n type: DataTypes.Object\n },\n Column: {\n raw: column,\n type: DataTypes.Object\n }\n }\n parameters.EnableNavigation = {\n raw: this.isNavigationEnabled,\n type: DataTypes.TwoOptions\n }\n parameters.ColumnAlignment = {\n raw: column.alignment,\n type: DataTypes.SingleLineText\n }\n parameters.IsPrimaryColumn = {\n raw: column.isPrimary,\n type: DataTypes.TwoOptions\n }\n parameters.ShowErrorMessage = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n parameters.CellType = {\n raw: editing ? 'editor' : 'renderer',\n type: DataTypes.SingleLineText\n }\n if (editing) {\n parameters.AutoFocus = {\n raw: true,\n type: DataTypes.TwoOptions\n }\n }\n if (recordCommands) {\n parameters.RecordCommands = {\n raw: recordCommands,\n type: DataTypes.Object\n }\n }\n switch (column.dataType) {\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding':\n case 'Lookup.Simple': {\n parameters.IsInlineNewEnabled = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'SingleLine.Email':\n case 'SingleLine.Phone':\n case 'SingleLine.URL': {\n parameters.EnableTypeSuffix = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'OptionSet':\n case 'TwoOptions':\n case 'MultiSelectPicklist': {\n parameters.EnableOptionSetColors = {\n raw: this.enableOptionSetColors,\n type: DataTypes.TwoOptions\n }\n break;\n }\n }\n return parameters;\n }\n public getColumnAlignment(column: IColumn) {\n if (column.alignment) {\n return column.alignment;\n }\n switch (column.dataType) {\n case DataTypes.WholeNone:\n case DataTypes.Decimal:\n case DataTypes.Currency: {\n return 'right';\n }\n }\n if (column.type === 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return 'right';\n }\n return 'left';\n }\n\n public destroy() {\n this._previousRecordsReference = {};\n this._records.length = 0;\n this.keyHoldListener.destroy();\n //@ts-ignore - internal types\n //if any nested PCF has been loaded and we are in Power Apps, do a page refresh to prevent memory leaks\n //this should be moved to dataset control\n if (this._usesNestedPcfs && !this._client.isTalxisPortal()) {\n //leaving this uncommented causes memory leak\n //the reload is bad UX when view switcher is active since every view switch destroys the control in Power Apps\n //we cannot gradually unmount nested PCF due to performance (all nested PCF get renderer => lag, blinking)\n //Power Apps tries to clear the child elements, but the array containing all elements does not get cleared\n //the method for it won't trigger since it's part of a setState that does not finish when we navigate away\n //location.reload();\n }\n }\n\n private _getBindingValue(record: IRecord, column: IColumn) {\n let value = record.getValue(column.name);\n switch (column.dataType) {\n //getValue always returns string for TwoOptions\n case 'TwoOptions': {\n value = value == '1' ? true : false\n break;\n }\n //getValue always returns string for OptionSet\n case 'OptionSet': {\n value = value ? parseInt(value) : null;\n break;\n }\n case 'MultiSelectPicklist': {\n value = value ? value.split(',').map((x: string) => parseInt(x)) : null;\n break;\n }\n case 'Lookup.Simple':\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding': {\n //our implementation returns array, Power Apps returns object\n if (value && !Array.isArray(value)) {\n value = [value];\n }\n value = value?.map((x: ComponentFramework.EntityReference) => Sanitizer.Lookup.getLookupValue(x))\n break;\n }\n }\n return value;\n }\n\n private _isColumnEditable(column: IColumn): boolean {\n //only allow editing if specifically allowed\n if (!this._props.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //these field types do not support editing\n switch (column.dataType) {\n case DataTypes.File:\n case DataTypes.Image: {\n return false;\n }\n }\n return column.metadata?.IsValidForUpdate ?? false;\n }\n\n private _isColumnRequired(column: IColumn): boolean {\n if (!this.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n const requiredLevel = column.metadata?.RequiredLevel;\n if (requiredLevel === 1 || requiredLevel === 2) {\n return true;\n }\n return false;\n }\n private _isColumnSortable(column: IColumn): boolean {\n if (column.name.endsWith('__virtual')) {\n return false;\n }\n if (this._props.parameters.EnableSorting?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.Image: {\n return false;\n }\n }\n if (column.disableSorting === undefined) {\n return true;\n }\n return !column.disableSorting;\n }\n private _isColumnFilterable(column: IColumn): boolean {\n if (this.props.parameters.EnableFiltering?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //by default, do not make virtual columns filterable unless explicitly set\n if (column.name.endsWith('__virtual')) {\n return column.metadata?.isFilterable ?? false;\n }\n return column.metadata?.isFilterable ?? true;\n }\n private _getColumnEntityName(columnName: string) {\n const entityAliasName = Attribute.GetLinkedEntityAlias(columnName);\n if (!entityAliasName) {\n return this.dataset.getTargetEntityType();\n }\n return this.dataset.linking.getLinkedEntities().find(x => x.alias === entityAliasName)!.name;\n }\n\n private _getColumnType(column: IColumn) {\n if (column.type) {\n return column.type;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return 'action';\n }\n return undefined;\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.js","sources":["../../../../../src/components/Grid/core/model/Grid.ts"],"sourcesContent":["import { Attribute, Client, Constants, DataType, DataTypes, IColumn, ICommand, ICustomColumnControl, IDataset, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { Filtering } from \"../../filtering/model/Filtering\";\nimport { IGrid } from \"../../interfaces\";\nimport { Selection } from \"../../selection/model/Selection\";\nimport { Sorting } from \"../../sorting/Sorting\";\nimport { KeyHoldListener } from \"../services/KeyListener\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { IGridColumn } from \"../interfaces/IGridColumn\";\nimport { BaseControls } from \"../../../../utils\";\nimport { IBinding } from \"../../../NestedControlRenderer/interfaces\";\nimport { merge } from \"merge-anything\";\nimport { Aggregation } from \"../../aggregation/Aggregation\";\n\nconst DEFAULT_ROW_HEIGHT = 42;\n\nexport interface IGridHeightSettings {\n isAutoHeightEnabled: boolean;\n height?: string;\n}\n\nexport class Grid {\n private _props: IGrid;\n private _dataset: IDataset\n private _pcfContext: ComponentFramework.Context<any>;\n private _columns: IGridColumn[] = [];\n //used for optimization\n private _previousRecordsReference: {\n [id: string]: IRecord;\n } = {};\n //TODO: fix types\n private _labels: any;\n private _shouldRerender: boolean = false;\n private _records: IRecord[] = [];\n //TODO: the dependencies might not have fully loaded grid\n //need to make sure that the grid is initialized before creating them\n private _dependencies: {\n filtering: Filtering,\n sorting: Sorting,\n selection: Selection,\n aggregation: Aggregation\n };\n private _usesNestedPcfs: boolean = false;\n private _client = new Client();\n private _isUpdateScheduled: boolean = false;\n\n public readonly keyHoldListener: KeyHoldListener;\n\n constructor(props: IGrid, labels: any, keyHoldListener: KeyHoldListener) {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n this._labels = labels;\n this.keyHoldListener = keyHoldListener;\n\n this._dependencies = {\n filtering: new Filtering(this),\n selection: new Selection(this),\n sorting: new Sorting(this),\n aggregation: new Aggregation(this)\n }\n\n };\n public get isNavigationEnabled() {\n //enabled by default\n return this.parameters.EnableNavigation?.raw !== false;\n }\n public get isEditable() {\n return this._columns.find(x => x.isEditable) ? true : false;\n }\n public get parameters() {\n return this._props.parameters\n }\n public get error() {\n return this._dataset.error;\n }\n public get errorMessage() {\n return this._dataset.errorMessage\n }\n public get labels() {\n return this._labels;\n }\n public get dataset() {\n return this._dataset;\n }\n public get pcfContext() {\n return this._pcfContext;\n }\n public get props() {\n return this._props;\n }\n public get columns() {\n return this._columns;\n }\n public get records() {\n return this._records\n }\n public get sorting() {\n return this._dependencies.sorting;\n }\n public get filtering() {\n return this._dependencies.filtering;\n }\n public get aggregation() {\n return this._dependencies.aggregation;\n }\n public get selection() {\n return this._dependencies.selection;\n }\n public get paging() {\n return this._dataset.paging\n }\n public get shouldRerender() {\n return this._shouldRerender;\n }\n public get loading() {\n return this._dataset.loading;\n }\n public get state() {\n return this._props.state;\n }\n public get enableOptionSetColors() {\n return this.parameters.EnableOptionSetColors?.raw === true;\n }\n public get linking() {\n return this.dataset.linking;\n }\n\n public get isZebraEnabled() {\n return this.parameters.EnableZebra?.raw !== false;\n }\n\n public get inlineRibbonButtonIds() {\n const idString = this.parameters.InlineRibbonButtonIds?.raw;\n if (!idString) {\n return undefined;\n }\n return idString.split(',');\n }\n\n public get rowHeight() {\n let height = this.parameters.RowHeight?.raw;\n if (!height) {\n height = DEFAULT_ROW_HEIGHT;\n }\n return height;\n }\n\n public getHeightSettings(): IGridHeightSettings {\n if (this.parameters.Height?.raw) {\n return {\n isAutoHeightEnabled: false,\n height: this.parameters.Height?.raw\n }\n }\n if (this._records.length <= 15) {\n return {\n isAutoHeightEnabled: true\n }\n }\n return {\n isAutoHeightEnabled: false,\n //+2 for header and footer\n height: `${this.rowHeight * 17 + 5}px`\n }\n\n\n }\n\n public getClient() {\n return this._client;\n }\n\n public updateDependencies(props: IGrid): void {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n if (this._previousRecordsReference !== this._dataset.records) {\n this._records = Object.values(this._dataset.records);\n this._previousRecordsReference = this._dataset.records;\n this._isUpdateScheduled = true;\n queueMicrotask(() => {\n this._isUpdateScheduled = false;\n })\n }\n Object.values(this._dependencies).map(dep => {\n dep.onDependenciesUpdated()\n })\n this._shouldRerender = !this.shouldRerender;\n }\n\n public isUpdateScheduled() {\n return this._isUpdateScheduled\n }\n public async refreshColumns(): Promise<IGridColumn[]> {\n const gridColumns: IGridColumn[] = [];\n for (const column of this._dataset.columns) {\n const sorted = this._dataset.sorting?.find(sort => sort.name === column.name);\n const gridColumn: IGridColumn = {\n ...column,\n alignment: this.getColumnAlignment(column),\n isEditable: this._isColumnEditable(column),\n isRequired: this._isColumnRequired(column),\n isFilterable: this._isColumnFilterable(column),\n disableSorting: !this._isColumnSortable(column),\n canBeAggregated: this._canColumnBeAggregated(column),\n isSortedDescending: sorted?.sortDirection === 1 ? true : false,\n type: this._getColumnType(column),\n isResizable: true,\n isSorted: sorted ? true : false,\n isFiltered: false,\n getEntityName: () => this._getColumnEntityName(column.name)\n }\n const condition = await this.filtering.condition(gridColumn);\n gridColumn.isFiltered = condition.isAppliedToDataset;\n gridColumns.push(gridColumn);\n }\n if (this.selection.type !== undefined) {\n gridColumns.unshift({\n name: CHECKBOX_COLUMN_KEY,\n alias: CHECKBOX_COLUMN_KEY,\n dataType: DataTypes.SingleLineText,\n alignment: 'center',\n displayName: '',\n isEditable: false,\n isFilterable: false,\n isFiltered: false,\n isRequired: false,\n isResizable: false,\n canBeAggregated: false,\n disableSorting: true,\n isSorted: false,\n isSortedDescending: false,\n order: 0,\n visualSizeFactor: 45,\n getEntityName: () => this._getColumnEntityName(CHECKBOX_COLUMN_KEY)\n });\n }\n this._columns = gridColumns;\n return gridColumns;\n }\n\n public getTotalVisibleColumnsWidth(): number {\n let totalWidth = 0;\n this._columns.filter(x => !x.isHidden).map(col => {\n totalWidth = totalWidth + (col.visualSizeFactor ?? 0);\n })\n return totalWidth;\n }\n\n public onNotifyOutputChanged(record: IRecord, column: IColumn, editing: boolean, newValue: any, rerenderCell: () => void) {\n record.setValue(column.name, newValue);\n if (!editing) {\n this.pcfContext.factory.requestRender();\n return;\n }\n setTimeout(() => {\n rerenderCell();\n }, 0);\n }\n\n public setUsesNestedPcfs() {\n this._usesNestedPcfs = true;\n }\n\n public getBindings(record: IRecord, column: IColumn, control: ICustomColumnControl) {\n const columnInfo = record.getColumnInfo(column.name);\n const bindings: { [name: string]: IBinding } = {\n 'value': {\n isStatic: false,\n type: column.dataType as any,\n value: this._getBindingValue(record, column),\n formattedValue: record.getFormattedValue(column.name),\n error: columnInfo.error,\n errorMessage: columnInfo.errorMessage,\n onNotifyOutputChanged: () => { },\n metadata: {\n onOverrideMetadata: () => column.metadata\n }\n },\n 'IsCellCustomizer': {\n isStatic: true,\n type: DataTypes.TwoOptions,\n value: true\n }\n }\n if (control.bindings) {\n Object.entries(control.bindings).map(([name, binding]) => {\n bindings[name] = {\n isStatic: true,\n type: binding.type!,\n value: binding.value\n }\n })\n }\n return bindings;\n }\n\n public getControl(column: IColumn, record: IRecord, editing: boolean): Required<ICustomColumnControl> {\n //file and image currently do not support editor, always force cell renderers\n switch (column.dataType) {\n case 'File':\n case 'Image': {\n return {\n name: 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n }\n }\n }\n const defaultControl: Required<ICustomColumnControl> = {\n name: editing ? BaseControls.GetControlNameForDataType(column.dataType as DataType) : 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n };\n const customControls = record.getColumnInfo(column.name).ui.getCustomControls([defaultControl]);\n const appliesToValue = editing ? 'editor' : 'renderer';\n const customControl = customControls.find(\n control => control.appliesTo === 'both' || control.appliesTo === appliesToValue\n );\n if (customControl) {\n return merge(defaultControl, customControl) as Required<ICustomColumnControl>;\n }\n\n return defaultControl;\n }\n\n public getParameters(record: IRecord, column: IGridColumn, editing: boolean, recordCommands?: ICommand[]) {\n const aggregation = this.aggregation.getAggregationForColumn(column.name);\n const parameters: any = {\n Dataset: {\n raw: this.dataset,\n type: DataTypes.Object\n },\n Record: {\n raw: record,\n type: DataTypes.Object\n },\n Column: {\n raw: column,\n type: DataTypes.Object\n }\n }\n parameters.EnableNavigation = {\n raw: this.isNavigationEnabled,\n type: DataTypes.TwoOptions\n }\n parameters.ColumnAlignment = {\n raw: column.alignment,\n type: DataTypes.SingleLineText\n }\n parameters.IsPrimaryColumn = {\n raw: column.isPrimary,\n type: DataTypes.TwoOptions\n }\n parameters.ShowErrorMessage = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n parameters.CellType = {\n raw: editing ? 'editor' : 'renderer',\n type: DataTypes.SingleLineText\n }\n parameters.AutoFocus = {\n raw: editing,\n type: DataTypes.TwoOptions\n }\n parameters.AggregationFunction = {\n raw: record.getDataProvider().getSummarizationType() !== 'none' ? aggregation?.aggregationFunction ?? null : null,\n type: DataTypes.SingleLineText\n }\n parameters.RecordCommands = {\n raw: recordCommands ?? [],\n type: DataTypes.Object\n }\n switch (column.dataType) {\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding':\n case 'Lookup.Simple': {\n parameters.IsInlineNewEnabled = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'SingleLine.Email':\n case 'SingleLine.Phone':\n case 'SingleLine.URL': {\n parameters.EnableTypeSuffix = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'OptionSet':\n case 'TwoOptions':\n case 'MultiSelectPicklist': {\n parameters.EnableOptionSetColors = {\n raw: this.enableOptionSetColors,\n type: DataTypes.TwoOptions\n }\n break;\n }\n }\n return parameters;\n }\n public getColumnAlignment(column: IColumn) {\n if (column.alignment) {\n return column.alignment;\n }\n switch (column.dataType) {\n case DataTypes.WholeNone:\n case DataTypes.Decimal:\n case DataTypes.Currency: {\n return 'right';\n }\n }\n if (column.type === 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return 'right';\n }\n return 'left';\n }\n\n public destroy() {\n this._previousRecordsReference = {};\n this._records.length = 0;\n this.keyHoldListener.destroy();\n //@ts-ignore - internal types\n //if any nested PCF has been loaded and we are in Power Apps, do a page refresh to prevent memory leaks\n //this should be moved to dataset control\n if (this._usesNestedPcfs && !this._client.isTalxisPortal()) {\n //leaving this uncommented causes memory leak\n //the reload is bad UX when view switcher is active since every view switch destroys the control in Power Apps\n //we cannot gradually unmount nested PCF due to performance (all nested PCF get renderer => lag, blinking)\n //Power Apps tries to clear the child elements, but the array containing all elements does not get cleared\n //the method for it won't trigger since it's part of a setState that does not finish when we navigate away\n //location.reload();\n }\n }\n\n private _getBindingValue(record: IRecord, column: IColumn) {\n let value = record.getValue(column.name);\n switch (column.dataType) {\n //getValue always returns string for TwoOptions\n case 'TwoOptions': {\n if (typeof value === 'string') {\n value = value == '1' ? true : false\n }\n break;\n }\n //getValue always returns string for OptionSet\n case 'OptionSet': {\n value = value ? parseInt(value) : null;\n break;\n }\n case 'MultiSelectPicklist': {\n value = value ? value.split(',').map((x: string) => parseInt(x)) : null;\n break;\n }\n case 'Lookup.Simple':\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding': {\n //our implementation returns array, Power Apps returns object\n if (value && !Array.isArray(value)) {\n value = [value];\n }\n value = value?.map((x: ComponentFramework.EntityReference) => Sanitizer.Lookup.getLookupValue(x))\n break;\n }\n }\n return value;\n }\n\n private _isColumnEditable(column: IColumn): boolean {\n //only allow editing if specifically allowed\n if (!this._props.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //these field types do not support editing\n switch (column.dataType) {\n case DataTypes.File:\n case DataTypes.Image: {\n return false;\n }\n }\n return column.metadata?.IsValidForUpdate ?? false;\n }\n\n private _isColumnRequired(column: IColumn): boolean {\n if (!this.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n const requiredLevel = column.metadata?.RequiredLevel;\n if (requiredLevel === 1 || requiredLevel === 2) {\n return true;\n }\n return false;\n }\n private _isColumnSortable(column: IColumn): boolean {\n if (column.name.endsWith('__virtual')) {\n return false;\n }\n if (this._props.parameters.EnableSorting?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.Image: {\n return false;\n }\n }\n if (column.disableSorting === undefined) {\n return true;\n }\n return !column.disableSorting;\n }\n private _isColumnFilterable(column: IColumn): boolean {\n if (this.props.parameters.EnableFiltering?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //by default, do not make virtual columns filterable unless explicitly set\n if (column.name.endsWith('__virtual')) {\n return column.metadata?.isFilterable ?? false;\n }\n return column.metadata?.isFilterable ?? true;\n }\n private _getColumnEntityName(columnName: string) {\n const entityAliasName = Attribute.GetLinkedEntityAlias(columnName);\n if (!entityAliasName) {\n return this.dataset.getTargetEntityType();\n }\n return this.dataset.linking.getLinkedEntities().find(x => x.alias === entityAliasName)!.name;\n }\n\n private _canColumnBeAggregated(column: IColumn): boolean {\n //aggregations disabled by default\n if (this.parameters.EnableAggregation?.raw !== true) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n if(!column.metadata?.SupportedAggregations || column.metadata.SupportedAggregations.length === 0) {\n return false;\n\n }\n return true;\n }\n\n private _getColumnType(column: IColumn) {\n if (column.type) {\n return column.type;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return 'action';\n }\n return undefined;\n }\n}"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class ConditionComponentValue {
11
11
  isFilterable: boolean;
12
12
  isSorted: boolean;
13
13
  isFiltered: boolean;
14
+ canBeAggregated: boolean;
14
15
  isSortedDescending: boolean;
15
16
  isResizable: boolean;
16
17
  alignment: "left" | "right" | "center" | undefined;
@@ -23,9 +24,11 @@ export declare class ConditionComponentValue {
23
24
  Label: string;
24
25
  Value: number;
25
26
  }[];
27
+ SupportedAggregations?: import("@talxis/client-libraries").AggregationFunction[] | undefined;
26
28
  }> | undefined;
27
29
  type?: "data" | "action" | undefined;
28
30
  isDraggable?: boolean | undefined;
31
+ aggregationFunction?: import("@talxis/client-libraries").AggregationFunction | undefined;
29
32
  oneClickEdit?: boolean | undefined;
30
33
  controls?: import("@talxis/client-libraries").ICustomColumnControl[] | undefined;
31
34
  displayName?: string | undefined;
@@ -47,7 +47,7 @@ class ConditionComponentValue {
47
47
  }
48
48
  get() {
49
49
  let value = this._value.get();
50
- if (!value) {
50
+ if (value == null) {
51
51
  return null;
52
52
  }
53
53
  switch (this.column.dataType) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionComponentValue.js","sources":["../../../../../../../../../src/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.ts"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { DatasetConditionOperator } from \"../../../../../../core/enums/ConditionOperator\";\nimport { DataType } from \"../../../../../../core/enums/DataType\";\nimport { IColumnFilterConditionController } from \"../../../../../controller/useColumnFilterConditionController\";\nimport { FilteringUtils } from \"../../../../../utils/FilteringUtilts\";\n\nexport class ConditionComponentValue {\n //needs to be ref to keep the current reference\n private _columnFilterConditionControllerRef: React.MutableRefObject<IColumnFilterConditionController>;\n private _conditionUtils = FilteringUtils.condition();\n\n constructor(columnFilterConditionControllerRef: React.MutableRefObject<IColumnFilterConditionController>) {\n this._columnFilterConditionControllerRef = columnFilterConditionControllerRef;\n }\n\n public get column() {\n const _column = {...this._columnFilterConditionController.column};\n _column.isRequired = false;\n //always needs to be required for filter values if non valid value is present\n if(!this._columnFilterConditionController.value.valid) {\n _column.isRequired = true;\n }\n switch (this._columnFilterConditionController.column.dataType) {\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS: {\n _column.dataType = DataType.MULTI_SELECT_OPTIONSET;\n break;\n }\n //skip this validation because operators like contains should not fail on regexes\n case DataType.SINGLE_LINE_EMAIL:\n case DataType.SINGLE_LINE_URL:\n //use single line text field for filters on multiple\n case DataType.MULTIPLE:\n case DataType.SINGLE_LINE_TEXT_AREA: {\n _column.dataType = DataType.SINGLE_LINE_TEXT;\n break;\n }\n //In Power Apps, DateTime fields filters do not allow setting filters for time, only for the date\n case DataType.DATE_AND_TIME_DATE_AND_TIME: {\n _column.dataType = DataType.DATE_AND_TIME_DATE_ONLY;\n break;\n }\n }\n this._conditionUtils.operator(this._operator.get()).allowsOnlyNumber\n if (this._conditionUtils.operator(this._operator.get()).allowsOnlyNumber) {\n _column.dataType = DataType.WHOLE_NONE;\n }\n if (this._conditionUtils.operator(this._operator.get()).allowsOnlyFreeText) {\n _column.dataType = DataType.SINGLE_LINE_TEXT;\n }\n return _column;\n }\n public get() {\n let value = this._value.get();\n if (!value) {\n return null;\n }\n switch (this.column.dataType) {\n case DataType.MULTI_SELECT_OPTIONSET: {\n if (typeof value === 'string') {\n value = [value];\n }\n return value.map((x: string) => parseInt(x))\n }\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n if (typeof value === 'string') {\n value = [value];\n }\n return value.map((x: string) => {\n return {\n entityType: \"\",\n name: \"\",\n id: x\n } as ComponentFramework.LookupValue;\n })\n }\n }\n return value;\n }\n public set(value: any) {\n switch (this.column.dataType) {\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n if(Array.isArray(value)) {\n value = value.map((x: Date) => {\n if(x) {\n const date = dayjs(x);\n if(date.isValid()) {\n return date.format('YYYY-MM-DD');\n }\n return x;\n }\n return null;\n })\n }\n if(value instanceof Date) {\n //the column of date time is always converted to Date column in Power Apps\n value = dayjs(value).format('YYYY-MM-DD');\n }\n break;\n }\n case DataType.MULTI_SELECT_OPTIONSET: {\n switch (this._operator.get()) {\n case DatasetConditionOperator.Equal:\n case DatasetConditionOperator.NotEqual: {\n if (value?.length === 1) {\n value = value[0].toString();\n this._value.set(value);\n return;\n }\n }\n }\n for (let i = 0; i < value?.length; i++) {\n value[i] = value[i].toString()\n }\n this._value.set(value);\n return;\n }\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n if(value?.length > 1) {\n value = value.map((x: ComponentFramework.LookupValue) => x.id);\n break;\n }\n value = value[0]?.id;\n }\n\n }\n this._value.set(value);\n }\n private get _columnFilterConditionController() {\n return this._columnFilterConditionControllerRef.current;\n }\n private get _value() {\n return this._columnFilterConditionController.value;\n }\n private get _operator() {\n return this._columnFilterConditionController.operator;\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConditionComponentValue.js","sources":["../../../../../../../../../src/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.ts"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { DatasetConditionOperator } from \"../../../../../../core/enums/ConditionOperator\";\nimport { DataType } from \"../../../../../../core/enums/DataType\";\nimport { IColumnFilterConditionController } from \"../../../../../controller/useColumnFilterConditionController\";\nimport { FilteringUtils } from \"../../../../../utils/FilteringUtilts\";\n\nexport class ConditionComponentValue {\n //needs to be ref to keep the current reference\n private _columnFilterConditionControllerRef: React.MutableRefObject<IColumnFilterConditionController>;\n private _conditionUtils = FilteringUtils.condition();\n\n constructor(columnFilterConditionControllerRef: React.MutableRefObject<IColumnFilterConditionController>) {\n this._columnFilterConditionControllerRef = columnFilterConditionControllerRef;\n }\n\n public get column() {\n const _column = {...this._columnFilterConditionController.column};\n _column.isRequired = false;\n //always needs to be required for filter values if non valid value is present\n if(!this._columnFilterConditionController.value.valid) {\n _column.isRequired = true;\n }\n switch (this._columnFilterConditionController.column.dataType) {\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS: {\n _column.dataType = DataType.MULTI_SELECT_OPTIONSET;\n break;\n }\n //skip this validation because operators like contains should not fail on regexes\n case DataType.SINGLE_LINE_EMAIL:\n case DataType.SINGLE_LINE_URL:\n //use single line text field for filters on multiple\n case DataType.MULTIPLE:\n case DataType.SINGLE_LINE_TEXT_AREA: {\n _column.dataType = DataType.SINGLE_LINE_TEXT;\n break;\n }\n //In Power Apps, DateTime fields filters do not allow setting filters for time, only for the date\n case DataType.DATE_AND_TIME_DATE_AND_TIME: {\n _column.dataType = DataType.DATE_AND_TIME_DATE_ONLY;\n break;\n }\n }\n this._conditionUtils.operator(this._operator.get()).allowsOnlyNumber\n if (this._conditionUtils.operator(this._operator.get()).allowsOnlyNumber) {\n _column.dataType = DataType.WHOLE_NONE;\n }\n if (this._conditionUtils.operator(this._operator.get()).allowsOnlyFreeText) {\n _column.dataType = DataType.SINGLE_LINE_TEXT;\n }\n return _column;\n }\n public get() {\n let value = this._value.get();\n if (value == null) {\n return null;\n }\n switch (this.column.dataType) {\n case DataType.MULTI_SELECT_OPTIONSET: {\n if (typeof value === 'string') {\n value = [value];\n }\n return value.map((x: string) => parseInt(x))\n }\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n if (typeof value === 'string') {\n value = [value];\n }\n return value.map((x: string) => {\n return {\n entityType: \"\",\n name: \"\",\n id: x\n } as ComponentFramework.LookupValue;\n })\n }\n }\n return value;\n }\n public set(value: any) {\n switch (this.column.dataType) {\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n if(Array.isArray(value)) {\n value = value.map((x: Date) => {\n if(x) {\n const date = dayjs(x);\n if(date.isValid()) {\n return date.format('YYYY-MM-DD');\n }\n return x;\n }\n return null;\n })\n }\n if(value instanceof Date) {\n //the column of date time is always converted to Date column in Power Apps\n value = dayjs(value).format('YYYY-MM-DD');\n }\n break;\n }\n case DataType.MULTI_SELECT_OPTIONSET: {\n switch (this._operator.get()) {\n case DatasetConditionOperator.Equal:\n case DatasetConditionOperator.NotEqual: {\n if (value?.length === 1) {\n value = value[0].toString();\n this._value.set(value);\n return;\n }\n }\n }\n for (let i = 0; i < value?.length; i++) {\n value[i] = value[i].toString()\n }\n this._value.set(value);\n return;\n }\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n if(value?.length > 1) {\n value = value.map((x: ComponentFramework.LookupValue) => x.id);\n break;\n }\n value = value[0]?.id;\n }\n\n }\n this._value.set(value);\n }\n private get _columnFilterConditionController() {\n return this._columnFilterConditionControllerRef.current;\n }\n private get _value() {\n return this._columnFilterConditionController.value;\n }\n private get _operator() {\n return this._columnFilterConditionController.operator;\n }\n}"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export interface IGridParameters extends IParameters {
24
24
  EnableChangeEditor?: Omit<ITwoOptionsProperty, 'attributes'>;
25
25
  EnableMultiEdit?: Omit<ITwoOptionsProperty, 'attributes'>;
26
26
  EnableZebra?: Omit<ITwoOptionsProperty, 'attributes'>;
27
+ EnableAggregation?: Omit<ITwoOptionsProperty, 'attributes'>;
27
28
  RowHeight?: Omit<IWholeNumberProperty, 'attributes'>;
28
29
  EnablePageSizeSwitcher?: Omit<ITwoOptionsProperty, 'attributes'>;
29
30
  Height?: IStringProperty;
@@ -6,9 +6,11 @@ import { getColumnHeaderContextualMenuStyles } from './styles.js';
6
6
  import { useGridInstance } from '../../../core/hooks/useGridInstance.js';
7
7
  import { useColumnSortingController } from '../../controllers/useColumnSortingController.js';
8
8
  import { useColumnFilterConditionController } from '../../../filtering/controller/useColumnFilterConditionController.js';
9
+ import { ArrowSortUp24Regular, ArrowSortDown24Regular, Filter24Regular, Autosum24Regular, Dismiss24Regular, FilterDismiss24Regular } from '@fluentui/react-icons';
9
10
 
10
11
  const SortingContextualMenu = (props) => {
11
12
  const grid = useGridInstance();
13
+ const aggregation = grid.aggregation;
12
14
  const labels = grid.labels;
13
15
  const styles = getColumnHeaderContextualMenuStyles(useTheme());
14
16
  const { column, onDismiss } = { ...props };
@@ -68,9 +70,7 @@ const SortingContextualMenu = (props) => {
68
70
  disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,
69
71
  text: await getLabel(),
70
72
  className: styles.item,
71
- iconProps: {
72
- iconName: 'SortUp'
73
- },
73
+ onRenderIcon: () => jsx(ArrowSortUp24Regular, {}),
74
74
  onClick: () => sorting.sort(0)
75
75
  },
76
76
  {
@@ -79,9 +79,8 @@ const SortingContextualMenu = (props) => {
79
79
  disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,
80
80
  text: await getLabel(true),
81
81
  className: styles.item,
82
- iconProps: {
83
- iconName: 'SortDown'
84
- },
82
+ onRenderIcon: () => jsx(ArrowSortDown24Regular, {}),
83
+ iconProps: {},
85
84
  onClick: () => sorting.sort(1)
86
85
  },
87
86
  {
@@ -93,37 +92,62 @@ const SortingContextualMenu = (props) => {
93
92
  className: styles.item,
94
93
  disabled: !column.isFilterable,
95
94
  text: labels['filtermenu-filterby'](),
96
- iconProps: {
97
- iconName: 'Filter'
98
- },
95
+ onRenderIcon: () => jsx(Filter24Regular, {}),
99
96
  onClick: (e) => onDismiss(e, false, true)
100
- }
101
- ];
102
- if (condition.isAppliedToDataset) {
103
- items.push({
104
- key: 'clearFilter',
105
- text: labels['filtersortmenu-clearfilter'](),
106
- iconProps: {
107
- iconName: 'ClearFilter'
108
- },
109
- onClick: () => {
110
- condition.remove();
111
- condition.save();
112
- }
113
- });
114
- }
115
- if (grid.dataset.sorting.find(x => x.name === column.name)) {
116
- items.push({
117
- key: 'clear',
118
- text: labels['filtersortmenu-clearsorting'](),
119
- iconProps: {
120
- iconName: 'Cancel'
97
+ },
98
+ ...(column.canBeAggregated ? [
99
+ {
100
+ key: 'divider-aggregation',
101
+ itemType: ContextualMenuItemType.Divider
121
102
  },
122
- onClick: () => {
123
- sorting.clear();
103
+ {
104
+ key: 'total',
105
+ text: labels['filtersortmenu-total'](),
106
+ onRenderIcon: () => jsx(Autosum24Regular, {}),
107
+ subMenuProps: {
108
+ items: [
109
+ {
110
+ key: 'none',
111
+ className: styles.item,
112
+ checked: aggregation.isAggregationAppliedToColumn(column.name, 'none'),
113
+ text: labels['filtersortmenu-total-none'](),
114
+ onClick: () => aggregation.removeAggregation(column.name)
115
+ },
116
+ ...column.metadata.SupportedAggregations.map(aggregationFunction => {
117
+ return {
118
+ key: aggregationFunction,
119
+ className: styles.item,
120
+ checked: aggregation.isAggregationAppliedToColumn(column.name, aggregationFunction),
121
+ text: labels[`filtersortmenu-total-${aggregationFunction}`](),
122
+ onClick: () => aggregation.addAggregation(column.name, aggregationFunction)
123
+ };
124
+ })
125
+ ]
126
+ }
124
127
  }
125
- });
126
- }
128
+ ] : []),
129
+ {
130
+ key: 'divider-footer',
131
+ itemType: ContextualMenuItemType.Divider
132
+ },
133
+ ...(grid.dataset.sorting.find(x => x.name === column.name) ? [{
134
+ key: 'clear',
135
+ text: labels['filtersortmenu-clearsorting'](),
136
+ onRenderIcon: () => jsx(Dismiss24Regular, {}),
137
+ onClick: () => {
138
+ sorting.clear();
139
+ }
140
+ }] : []),
141
+ ...(condition.isAppliedToDataset ? [{
142
+ key: 'clearFilter',
143
+ text: labels['filtersortmenu-clearfilter'](),
144
+ onRenderIcon: () => jsx(FilterDismiss24Regular, {}),
145
+ onClick: () => {
146
+ condition.remove();
147
+ condition.save();
148
+ }
149
+ }] : []),
150
+ ];
127
151
  return items;
128
152
  };
129
153
  return jsx(ContextualMenu, { ...props, items: items });
@@ -1 +1 @@
1
- {"version":3,"file":"SortingContextualMenu.js","sources":["../../../../../../src/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { ContextualMenu, ContextualMenuItemType, IContextualMenuItem, IContextualMenuProps, useTheme } from '@fluentui/react';\nimport { IGridColumn } from '../../../core/interfaces/IGridColumn';\nimport { DataType } from '../../../core/enums/DataType';\nimport { getColumnHeaderContextualMenuStyles } from './styles';\nimport { useGridInstance } from '../../../core/hooks/useGridInstance';\nimport { useColumnSortingController } from '../../controllers/useColumnSortingController';\nimport { useColumnFilterConditionController } from '../../../filtering/controller/useColumnFilterConditionController';\n\nexport interface ISortingContextualMenu extends Omit<IContextualMenuProps, 'items'> {\n column: IGridColumn;\n onDismiss: (e?: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>, dismissAll?: boolean, showFilterCallout?: boolean) => void;\n}\n\nexport const SortingContextualMenu = (props: ISortingContextualMenu) => {\n const grid = useGridInstance();\n const labels = grid.labels;\n const styles = getColumnHeaderContextualMenuStyles(useTheme());\n const {column, onDismiss} = {...props};\n const sorting = useColumnSortingController(column);\n const condition = useColumnFilterConditionController(column);\n const [items, setItems] = useState<IContextualMenuItem[]>([]);\n\n useEffect(() => {\n (async() => {\n setItems(await getItems())\n })();\n }, [condition]);\n\n const getTwoOptionsSortLabel = async (isDesc?: boolean) => {\n const options = column.metadata?.OptionSet ?? [];\n if(!isDesc) {\n return `${options[0].Label} ${labels['filtersortmenu-sorttwooption-joint']()} ${options[1].Label}`\n }\n return `${options[1].Label} ${labels['filtersortmenu-sorttwooption-joint']()} ${options[0].Label}`\n }\n const getLabel = async (isDesc?: boolean) => {\n switch (column.dataType) {\n case DataType.WHOLE_NONE:\n case DataType.DECIMAL:\n case DataType.WHOLE_DURATION:\n case DataType.FP:\n case DataType.CURRENCY: {\n if (!isDesc) {\n return labels['filtersortmenu-sortnumber-a-z']()\n }\n return labels['filtersortmenu-sortnumber-z-a']()\n }\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n if (!isDesc) {\n return labels['filtersortmenu-sortdate-a-z']()\n }\n return labels['filtersortmenu-sortdate-z-a']()\n }\n case DataType.TWO_OPTIONS: {\n return getTwoOptionsSortLabel(isDesc);\n }\n default: {\n if (!isDesc) {\n return labels['filtersortmenu-sorttext-a-z']()\n }\n return labels['filtersortmenu-sorttext-z-a']()\n }\n }\n }\n\n const getItems = async (): Promise<IContextualMenuItem[]> => {\n if(!condition) {\n return []\n }\n const items: IContextualMenuItem[] = [\n {\n key: 'sort_asc',\n checked: column.isSorted && !column.isSortedDescending,\n disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,\n text: await getLabel(),\n className: styles.item,\n iconProps: {\n iconName: 'SortUp'\n },\n onClick: () => sorting.sort(0)\n },\n {\n key: 'sort_desc',\n checked: column.isSorted && column.isSortedDescending,\n disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,\n text: await getLabel(true),\n className: styles.item,\n iconProps: {\n iconName: 'SortDown'\n },\n onClick: () => sorting.sort(1)\n },\n {\n key: 'divider',\n itemType: ContextualMenuItemType.Divider\n },\n {\n key: 'filter',\n className: styles.item,\n disabled: !column.isFilterable,\n text: labels['filtermenu-filterby'](),\n iconProps: {\n iconName: 'Filter'\n },\n onClick: (e) => onDismiss(e, false, true)\n }\n ];\n if (condition.isAppliedToDataset) {\n items.push({\n key: 'clearFilter',\n text: labels['filtersortmenu-clearfilter'](),\n iconProps: {\n iconName: 'ClearFilter'\n },\n onClick: () => {\n condition.remove();\n condition.save();\n }\n });\n }\n if(grid.dataset.sorting.find(x => x.name === column.name)) {\n items.push({\n key: 'clear',\n text: labels['filtersortmenu-clearsorting'](),\n iconProps: {\n iconName: 'Cancel'\n },\n onClick: () => {\n sorting.clear();\n }\n\n })\n }\n return items\n }\n return <ContextualMenu {...props} items={items} />;\n};"],"names":["_jsx"],"mappings":";;;;;;;;;AAca,MAAA,qBAAqB,GAAG,CAAC,KAA6B,KAAI;AACnE,IAAA,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAC/B,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,IAAA,MAAM,MAAM,GAAG,mCAAmC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAC,MAAM,EAAE,SAAS,EAAC,GAAG,EAAC,GAAG,KAAK,EAAC,CAAC;AACvC,IAAA,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAC;IAE9D,SAAS,CAAC,MAAK;QACX,CAAC,YAAU;AACP,YAAA,QAAQ,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;SAC7B,GAAG,CAAC;AACT,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAEhB,IAAA,MAAM,sBAAsB,GAAG,OAAO,MAAgB,KAAI;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;QACjD,IAAG,CAAC,MAAM,EAAE;YACR,OAAO,CAAA,EAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,oCAAoC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAE,CAAA;AACrG,SAAA;QACD,OAAO,CAAA,EAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,oCAAoC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAE,CAAA;AACtG,KAAC,CAAA;AACD,IAAA,MAAM,QAAQ,GAAG,OAAO,MAAgB,KAAI;QACxC,QAAQ,MAAM,CAAC,QAAQ;YACnB,KAAK,QAAQ,CAAC,UAAU,CAAC;YACzB,KAAK,QAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,QAAQ,CAAC,cAAc,CAAC;YAC7B,KAAK,QAAQ,CAAC,EAAE,CAAC;AACjB,YAAA,KAAK,QAAQ,CAAC,QAAQ,EAAE;gBACpB,IAAI,CAAC,MAAM,EAAE;AACT,oBAAA,OAAO,MAAM,CAAC,+BAA+B,CAAC,EAAE,CAAA;AACnD,iBAAA;AACD,gBAAA,OAAO,MAAM,CAAC,+BAA+B,CAAC,EAAE,CAAA;AACnD,aAAA;YACD,KAAK,QAAQ,CAAC,2BAA2B,CAAC;AAC1C,YAAA,KAAK,QAAQ,CAAC,uBAAuB,EAAE;gBACnC,IAAI,CAAC,MAAM,EAAE;AACT,oBAAA,OAAO,MAAM,CAAC,6BAA6B,CAAC,EAAE,CAAA;AACjD,iBAAA;AACD,gBAAA,OAAO,MAAM,CAAC,6BAA6B,CAAC,EAAE,CAAA;AACjD,aAAA;AACD,YAAA,KAAK,QAAQ,CAAC,WAAW,EAAE;AACxB,gBAAA,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACxC,aAAA;AACD,YAAA,SAAS;gBACL,IAAI,CAAC,MAAM,EAAE;AACT,oBAAA,OAAO,MAAM,CAAC,6BAA6B,CAAC,EAAE,CAAA;AACjD,iBAAA;AACD,gBAAA,OAAO,MAAM,CAAC,6BAA6B,CAAC,EAAE,CAAA;AACjD,aAAA;AACJ,SAAA;AACL,KAAC,CAAA;AAED,IAAA,MAAM,QAAQ,GAAG,YAA2C;QACxD,IAAG,CAAC,SAAS,EAAE;AACX,YAAA,OAAO,EAAE,CAAA;AACZ,SAAA;AACD,QAAA,MAAM,KAAK,GAA0B;AACjC,YAAA;AACI,gBAAA,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBACtD,QAAQ,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,sBAAsB;gBACtF,IAAI,EAAE,MAAM,QAAQ,EAAE;gBACtB,SAAS,EAAE,MAAM,CAAC,IAAI;AACtB,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,QAAQ;AACrB,iBAAA;gBACD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,aAAA;AACD,YAAA;AACI,gBAAA,GAAG,EAAE,WAAW;AAChB,gBAAA,OAAO,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,kBAAkB;gBACrD,QAAQ,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,sBAAsB;AACtF,gBAAA,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC,IAAI;AACtB,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,UAAU;AACvB,iBAAA;gBACD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,aAAA;AACD,YAAA;AACI,gBAAA,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,sBAAsB,CAAC,OAAO;AAC3C,aAAA;AACD,YAAA;AACI,gBAAA,GAAG,EAAE,QAAQ;gBACb,SAAS,EAAE,MAAM,CAAC,IAAI;AACtB,gBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,YAAY;AAC9B,gBAAA,IAAI,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE;AACrC,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,QAAQ;AACrB,iBAAA;AACD,gBAAA,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;AAC5C,aAAA;SACJ,CAAC;QACF,IAAI,SAAS,CAAC,kBAAkB,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC;AACP,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,IAAI,EAAE,MAAM,CAAC,4BAA4B,CAAC,EAAE;AAC5C,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,aAAa;AAC1B,iBAAA;gBACD,OAAO,EAAE,MAAK;oBACV,SAAS,CAAC,MAAM,EAAE,CAAC;oBACnB,SAAS,CAAC,IAAI,EAAE,CAAC;iBACpB;AACJ,aAAA,CAAC,CAAC;AACN,SAAA;QACD,IAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;YACvD,KAAK,CAAC,IAAI,CAAC;AACP,gBAAA,GAAG,EAAE,OAAO;AACZ,gBAAA,IAAI,EAAE,MAAM,CAAC,6BAA6B,CAAC,EAAE;AAC7C,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,QAAQ;AACrB,iBAAA;gBACD,OAAO,EAAE,MAAK;oBACV,OAAO,CAAC,KAAK,EAAE,CAAC;iBACnB;AAEJ,aAAA,CAAC,CAAA;AACL,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;AAChB,KAAC,CAAA;IACD,OAAOA,GAAA,CAAC,cAAc,EAAK,EAAA,GAAA,KAAK,EAAE,KAAK,EAAE,KAAK,EAAA,CAAI,CAAC;AACvD;;;;"}
1
+ {"version":3,"file":"SortingContextualMenu.js","sources":["../../../../../../src/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { ContextualMenu, ContextualMenuItemType, IContextualMenuItem, IContextualMenuProps, useTheme } from '@fluentui/react';\nimport { IGridColumn } from '../../../core/interfaces/IGridColumn';\nimport { DataType } from '../../../core/enums/DataType';\nimport { getColumnHeaderContextualMenuStyles } from './styles';\nimport { useGridInstance } from '../../../core/hooks/useGridInstance';\nimport { useColumnSortingController } from '../../controllers/useColumnSortingController';\nimport { useColumnFilterConditionController } from '../../../filtering/controller/useColumnFilterConditionController';\nimport { Filter24Regular, ArrowSortUp24Regular, ArrowSortDown24Regular, FilterDismiss24Regular, Dismiss24Regular, Autosum24Regular } from '@fluentui/react-icons';\n\nexport interface ISortingContextualMenu extends Omit<IContextualMenuProps, 'items'> {\n column: IGridColumn;\n onDismiss: (e?: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>, dismissAll?: boolean, showFilterCallout?: boolean) => void;\n}\n\nexport const SortingContextualMenu = (props: ISortingContextualMenu) => {\n const grid = useGridInstance();\n const aggregation = grid.aggregation;\n const labels = grid.labels;\n const styles = getColumnHeaderContextualMenuStyles(useTheme());\n const { column, onDismiss } = { ...props };\n const sorting = useColumnSortingController(column);\n const condition = useColumnFilterConditionController(column);\n const [items, setItems] = useState<IContextualMenuItem[]>([]);\n\n useEffect(() => {\n (async () => {\n setItems(await getItems())\n })();\n }, [condition]);\n\n const getTwoOptionsSortLabel = async (isDesc?: boolean) => {\n const options = column.metadata?.OptionSet ?? [];\n if (!isDesc) {\n return `${options[0].Label} ${labels['filtersortmenu-sorttwooption-joint']()} ${options[1].Label}`\n }\n return `${options[1].Label} ${labels['filtersortmenu-sorttwooption-joint']()} ${options[0].Label}`\n }\n\n const getLabel = async (isDesc?: boolean) => {\n switch (column.dataType) {\n case DataType.WHOLE_NONE:\n case DataType.DECIMAL:\n case DataType.WHOLE_DURATION:\n case DataType.FP:\n case DataType.CURRENCY: {\n if (!isDesc) {\n return labels['filtersortmenu-sortnumber-a-z']()\n }\n return labels['filtersortmenu-sortnumber-z-a']()\n }\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n if (!isDesc) {\n return labels['filtersortmenu-sortdate-a-z']()\n }\n return labels['filtersortmenu-sortdate-z-a']()\n }\n case DataType.TWO_OPTIONS: {\n return getTwoOptionsSortLabel(isDesc);\n }\n default: {\n if (!isDesc) {\n return labels['filtersortmenu-sorttext-a-z']()\n }\n return labels['filtersortmenu-sorttext-z-a']()\n }\n }\n }\n\n const getItems = async (): Promise<IContextualMenuItem[]> => {\n if (!condition) {\n return []\n }\n const items: IContextualMenuItem[] = [\n {\n key: 'sort_asc',\n checked: column.isSorted && !column.isSortedDescending,\n disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,\n text: await getLabel(),\n className: styles.item,\n onRenderIcon: () => <ArrowSortUp24Regular />,\n onClick: () => sorting.sort(0)\n },\n {\n key: 'sort_desc',\n checked: column.isSorted && column.isSortedDescending,\n disabled: column.disableSorting || column.dataType === DataType.MULTI_SELECT_OPTIONSET,\n text: await getLabel(true),\n className: styles.item,\n onRenderIcon: () => <ArrowSortDown24Regular />,\n iconProps: {},\n onClick: () => sorting.sort(1)\n },\n {\n key: 'divider',\n itemType: ContextualMenuItemType.Divider\n },\n {\n key: 'filter',\n className: styles.item,\n disabled: !column.isFilterable,\n text: labels['filtermenu-filterby'](),\n onRenderIcon: () => <Filter24Regular />,\n onClick: (e) => onDismiss(e, false, true)\n },\n ...(column.canBeAggregated ? [\n {\n key: 'divider-aggregation',\n itemType: ContextualMenuItemType.Divider\n },\n {\n key: 'total',\n text: labels['filtersortmenu-total'](),\n onRenderIcon: () => <Autosum24Regular />,\n subMenuProps: {\n items: [\n {\n key: 'none',\n className: styles.item,\n checked: aggregation.isAggregationAppliedToColumn(column.name, 'none'),\n text: labels['filtersortmenu-total-none'](),\n onClick: () => aggregation.removeAggregation(column.name)\n\n },\n ...column.metadata!.SupportedAggregations!.map(aggregationFunction => {\n return {\n key: aggregationFunction,\n className: styles.item,\n checked: aggregation.isAggregationAppliedToColumn(column.name, aggregationFunction),\n text: labels[`filtersortmenu-total-${aggregationFunction}`](),\n onClick: () => aggregation.addAggregation(column.name, aggregationFunction)\n }\n })]\n }\n }\n ] : []),\n {\n key: 'divider-footer',\n itemType: ContextualMenuItemType.Divider\n },\n ...(grid.dataset.sorting.find(x => x.name === column.name) ? [{\n key: 'clear',\n text: labels['filtersortmenu-clearsorting'](),\n onRenderIcon: () => <Dismiss24Regular />,\n onClick: () => {\n sorting.clear();\n }\n }] : []),\n ...(condition.isAppliedToDataset ? [{\n key: 'clearFilter',\n text: labels['filtersortmenu-clearfilter'](),\n onRenderIcon: () => <FilterDismiss24Regular />,\n onClick: () => {\n condition.remove();\n condition.save();\n }\n }] : []),\n\n ];\n return items\n }\n return <ContextualMenu {...props} items={items} />;\n};"],"names":["_jsx"],"mappings":"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"}
@@ -235,6 +235,38 @@ export declare const gridTranslations: {
235
235
  1029: string;
236
236
  1033: string;
237
237
  };
238
+ "filtersortmenu-total-none": {
239
+ 1029: string;
240
+ 1033: string;
241
+ };
242
+ "filtersortmenu-total-avg": {
243
+ 1029: string;
244
+ 1033: string;
245
+ };
246
+ "filtersortmenu-total-max": {
247
+ 1029: string;
248
+ 1033: string;
249
+ };
250
+ "filtersortmenu-total-min": {
251
+ 1029: string;
252
+ 1033: string;
253
+ };
254
+ "filtersortmenu-total-sum": {
255
+ 1029: string;
256
+ 1033: string;
257
+ };
258
+ "filtersortmenu-total-count": {
259
+ 1029: string;
260
+ 1033: string;
261
+ };
262
+ "filtersortmenu-total-countcolumn": {
263
+ 1029: string;
264
+ 1033: string;
265
+ };
266
+ "filtersortmenu-total": {
267
+ 1029: string;
268
+ 1033: string;
269
+ };
238
270
  norecordsfound: {
239
271
  1029: string;
240
272
  1033: string;
@@ -327,4 +359,8 @@ export declare const gridTranslations: {
327
359
  1029: string;
328
360
  1033: string;
329
361
  };
362
+ "error-2147750198": {
363
+ 1029: string;
364
+ 1033: string;
365
+ };
330
366
  };
@@ -58,6 +58,14 @@ const gridTranslations = {
58
58
  "filtersortmenu-filterby": { 1029: "Filtrovat podle", 1033: "Filter by" },
59
59
  "filtersortmenu-clearfilter": { 1029: "Vymazat filtr", 1033: "Clear filter" },
60
60
  "filtersortmenu-clearsorting": { 1029: "Vymazat řazení", 1033: "Clear sorting" },
61
+ "filtersortmenu-total-none": { 1029: 'Žádný', 1033: 'None' },
62
+ "filtersortmenu-total-avg": { 1029: 'Průměr', 1033: 'Average' },
63
+ "filtersortmenu-total-max": { 1029: 'Maximum', 1033: 'Maximum' },
64
+ "filtersortmenu-total-min": { 1029: 'Minimum', 1033: 'Minimum' },
65
+ "filtersortmenu-total-sum": { 1029: 'Součet', 1033: 'Sum' },
66
+ "filtersortmenu-total-count": { 1029: 'Počet (včetně prázdných hodnot)', 1033: 'Count (including empty values)' },
67
+ "filtersortmenu-total-countcolumn": { 1029: 'Počet', 1033: 'Count' },
68
+ "filtersortmenu-total": { 1029: 'Součty', 1033: 'Totals' },
61
69
  "norecordsfound": { 1029: 'Nenašli jsme nic, co by se zde dalo zobrazit.', 1033: 'No records found.' },
62
70
  "saving-changenotification": { 1029: "Počet upravených záznamů: <b>{{numOfChanges}}</b>.", 1033: "Number of updated records: <b>{{numOfChanges}}</b>." },
63
71
  "saving-clickreview": { 1029: "Klikněte <u>zde</u> pro jejich zobrazení.", 1033: "Click <u>here</u> to review" },
@@ -80,7 +88,11 @@ const gridTranslations = {
80
88
  "download": { 1029: 'Stáhnout', 1033: 'Download' },
81
89
  "value-not-editable": { 1029: 'Tuto hodnotu nelze upravit.', 1033: 'This value cannot be edited.' },
82
90
  "original-value": { 1029: 'Původní hodnota', 1033: 'Previous value' },
83
- "new-value": { 1029: 'Nová hodnota', 1033: 'New value' }
91
+ "new-value": { 1029: 'Nová hodnota', 1033: 'New value' },
92
+ "error-2147750198": {
93
+ 1029: 'Kalkulace překročila maximální limit kvůli velkému počtu řádků. Zmenšete prosím rozsah dat nebo kontaktujte podporu.',
94
+ 1033: 'The calculation exceeded the maximum limit due to a large number of rows. Please reduce the data range or contact support for assistance.'
95
+ }
84
96
  };
85
97
 
86
98
  export { gridTranslations };
@@ -1 +1 @@
1
- {"version":3,"file":"translations.js","sources":["../../../src/components/Grid/translations.ts"],"sourcesContent":["export const gridTranslations = {\n \"condition-none\": { 1029: \"Žádná\", 1033: \"None\" },\n \"condition-equal\": { 1029: \"Je rovno\", 1033: \"Equals\" },\n \"condition-notequal\": { 1029: \"Není rovno\", 1033: \"Does not equal\" },\n \"condition-greaterthan\": { 1029: \"Větší než\", 1033: \"Greater than\" },\n \"condition-lessthan\": { 1029: \"Menší než\", 1033: \"Less than\" },\n \"condition-greaterequal\": { 1029: \"Větší než nebo rovno\", 1033: \"Greater than or equal to\" },\n \"condition-lessequal\": { 1029: \"Menší než nebo rovno\", 1033: \"Less than or equal to\" },\n \"condition-like\": { 1029: \"Obsahuje\", 1033: \"Contains\" },\n \"condition-notlike\": { 1029: \"Neobsahuje\", 1033: \"Does not contain\" },\n \"condition-null\": { 1029: \"Neobsahuje data\", 1033: \"Does not contain data\" },\n \"condition-notnull\": { 1029: \"Obsahuje data\", 1033: \"Contains data\" },\n \"condition-beginwith\": { 1029: \"Začíná na\", 1033: \"Begins with\" },\n \"condition-doesnotbeginwith\": { 1029: \"Nezačíná na\", 1033: \"Does not begin with\" },\n \"condition-endswith\": { 1029: \"Končí na\", 1033: \"Ends with\" },\n \"condition-doesnotendwith\": { 1029: \"Nekončí na\", 1033: \"Does not end with\" },\n \"condition-yesterday\": { 1029: \"Včera\", 1033: \"Yesterday\" },\n \"condition-today\": { 1029: \"Dneska\", 1033: \"Today\" },\n \"condition-tomorrow\": { 1029: \"Zítra\", 1033: \"Tomorrow\" },\n \"condition-last7days\": { 1029: \"Posledních 7 dnů\", 1033: \"Last 7 days\" },\n \"condition-next7days\": { 1029: \"Příštích 7 dnů\", 1033: \"Next 7 days\" },\n \"condition-lastweek\": { 1029: \"Minulý týden\", 1033: \"Last week\" },\n \"condition-thisweek\": { 1029: \"Tento týden\", 1033: \"This week\" },\n \"condition-lastmonth\": { 1029: \"Minulý měsíc\", 1033: \"Last month\" },\n \"condition-thismonth\": { 1029: \"Tento měsíc\", 1033: \"This month\" },\n \"condition-on\": { 1029: \"V den\", 1033: \"On\" },\n \"condition-onorbefore\": { 1029: \"Před dnem (včetně)\", 1033: \"On or before\" },\n \"condition-onorafter\": { 1029: \"Po dni (včetně)\", 1033: \"On or after\" },\n \"condition-lastyear\": { 1029: \"Poslední rok\", 1033: \"Last year\" },\n \"condition-thisyear\": { 1029: \"Tento rok\", 1033: \"This year\" },\n \"condition-lastxdays\": { 1029: \"Posledních X dnů\", 1033: \"Last X days\" },\n \"condition-nextxdays\": { 1029: \"Příštích X dnů\", 1033: \"Next X days\" },\n \"condition-lastxmonths\": { 1029: \"Posledních X měsíců\", 1033: \"Last X months\" },\n \"condition-nextxmonths\": { 1029: \"Příštích X měsíců\", 1033: \"Next X months\" },\n \"condition-contains\": { 1029: \"Obsahuje\", 1033: \"Contains\" },\n \"condition-infiscalperiodandyear\": { 1029: \"Toto fiskální období a rok\", 1033: \"In fiscal period and year\" },\n \"condition-above\": { 1029: \"Nad\", 1033: \"Above\" },\n \"condition-under\": { 1029: \"Pod\", 1033: \"Under\" },\n \"condition-notunder\": { 1029: \"Není pod\", 1033: \"Not under\" },\n \"condition-aboveorequal\": { 1029: \"Je nad nebo se rovná\", 1033: \"Above or equal\" },\n \"condition-underorequal\": { 1029: \"Je pod nebo se rovná\", 1033: \"Under or equal\" },\n \"condition-containvalues\": { 1029: \"Obsahuje hodnoty\", 1033: \"Contain values\" },\n \"condition-doesnotcontainvalues\": { 1029: \"Neobsahuje hodnoty\", 1033: \"Does not contain values\" },\n \"condition-between\": { 1029: \"Mezi\", 1033: \"Between\" },\n \"condition-notbetween\": { 1029: \"Není mezi\", 1033: \"Not between\" },\n \"filtermenu-filterby\": { 1029: \"Filtrovat podle\", 1033: \"Filter By\" },\n \"filtermenu-applybutton\": { 1029: \"Použít\", 1033: \"Apply\" },\n \"filtermenu-clearbutton\": { 1029: \"Vymazat\", 1033: \"Clear\" },\n \"filtersortmenu-sorttext-a-z\": { 1029: \"Seřadit od A do Z\", 1033: \"Sort A to Z\" },\n \"filtersortmenu-sorttext-z-a\": { 1029: \"Seřadit od Z do A\", 1033: \"Sort Z to A\" },\n \"filtersortmenu-sortdate-a-z\": { 1029: \"Seřadit od nejstarších\", 1033: \"Sort older to newer\" },\n \"filtersortmenu-sortdate-z-a\": { 1029: \"Seřadit od nejnovějších\", 1033: \"Sort newer to older\" },\n \"filtersortmenu-sortnumber-a-z\": { 1029: \"Seřadit od nejmenších\", 1033: \"Sort smaller to larger\" },\n \"filtersortmenu-sortnumber-z-a\": { 1029: \"Seřadit od největších\", 1033: \"Sort larger to smaller\" },\n \"filtersortmenu-sorttwooption-a-z\": { 1029: \"Seřadit od nejmenších\", 1033: \"No to Yes\" },\n \"filtersortmenu-sorttwooption-z-a\": { 1029: \"Seřadit od největších\", 1033: \"Yes to No\" },\n \"filtersortmenu-sorttwooption-joint\": { 1029: \"až\", 1033: \"to\" },\n \"filtersortmenu-filterby\": { 1029: \"Filtrovat podle\", 1033: \"Filter by\" },\n \"filtersortmenu-clearfilter\": { 1029: \"Vymazat filtr\", 1033: \"Clear filter\" },\n \"filtersortmenu-clearsorting\": { 1029: \"Vymazat řazení\", 1033: \"Clear sorting\" },\n \"norecordsfound\": { 1029: 'Nenašli jsme nic, co by se zde dalo zobrazit.', 1033: 'No records found.' },\n \"saving-changenotification\": { 1029: \"Počet upravených záznamů: <b>{{numOfChanges}}</b>.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>.\" },\n \"saving-clickreview\": {1029: \"Klikněte <u>zde</u> pro jejich zobrazení.\", 1033: \"Click <u>here</u> to review\"},\n \"saving-save\": { 1029: \"Uložit\", 1033: \"Save\" },\n \"saving-saving\": { 1029: \"Ukládání...\", 1033: \"Saving...\" },\n \"saving-changepreview-title\": { 1033: 'Number of updated rows: {{numOfChanges}}', 1029: 'Počet upravených záznamů: {{numOfChanges}}' },\n \"saving-validation-error\": { 1029: 'Pro uložení záznamu je nutné opravit chybové hodnoty následujících sloupců: <b>{{columnDisplayNames}}</b>', 1033: 'Folowing columns have validation errors: <b>{{columnDisplayNames}}</b>' },\n \"saving-save-all\": { 1029: \"Uložit všechny změny\", 1033: \"Save All Changes\" },\n \"saving-discard-all\": { 1029: \"Zrušit všechny změny\", 1033: \"Discard All Changes\" },\n \"saving-discard\": { 1029: \"Zrušit změnu\", 1033: \"Discard Change\" },\n \"saving-discard-changes\": { 1029: \"Zrušit změny\", 1033: \"Discard Changes\" },\n \"saving-save-changes\": { 1029: \"Uložit změny\", 1033: \"Save Changes\" },\n \"saving-discard-all-confirmation\": { 1029: \"Opravdu si přejete zrušit všechny provedené změny? Tuto akci není možné vrátit.\", 1033: \"Are you sure you want to discard all changes? This action cannot be reversed.\" },\n \"validation-input-value\": { 1029: 'Zadejte hodnotu', 1033: 'Please enter value.' },\n \"validation-email\": { 1029: 'Neplatný formát emailové adresy.', 1033: 'Invalid Email address format.' },\n \"validation-url\": { 1029: 'Neplatný formát webové adresy.', 1033: 'Invalid URL format.' },\n \"validation-date\": { 1029: 'Neplatný formát datumu.', 1033: 'Invalid Date format.' },\n \"validation-number\": { 1029: 'Neplatný formát čísla.', 1033: 'Invalid Number format.' },\n \"no-name\": { 1029: '(Bez názvu)', 1033: '(No Name)' },\n \"download\": { 1029: 'Stáhnout', 1033: 'Download' },\n \"value-not-editable\": { 1029: 'Tuto hodnotu nelze upravit.', 1033: 'This value cannot be edited.' },\n \"original-value\": { 1029: 'Původní hodnota', 1033: 'Previous value' },\n \"new-value\": { 1029: 'Nová hodnota', 1033: 'New value' }\n};\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translations.js","sources":["../../../src/components/Grid/translations.ts"],"sourcesContent":["export const gridTranslations = {\n \"condition-none\": { 1029: \"Žádná\", 1033: \"None\" },\n \"condition-equal\": { 1029: \"Je rovno\", 1033: \"Equals\" },\n \"condition-notequal\": { 1029: \"Není rovno\", 1033: \"Does not equal\" },\n \"condition-greaterthan\": { 1029: \"Větší než\", 1033: \"Greater than\" },\n \"condition-lessthan\": { 1029: \"Menší než\", 1033: \"Less than\" },\n \"condition-greaterequal\": { 1029: \"Větší než nebo rovno\", 1033: \"Greater than or equal to\" },\n \"condition-lessequal\": { 1029: \"Menší než nebo rovno\", 1033: \"Less than or equal to\" },\n \"condition-like\": { 1029: \"Obsahuje\", 1033: \"Contains\" },\n \"condition-notlike\": { 1029: \"Neobsahuje\", 1033: \"Does not contain\" },\n \"condition-null\": { 1029: \"Neobsahuje data\", 1033: \"Does not contain data\" },\n \"condition-notnull\": { 1029: \"Obsahuje data\", 1033: \"Contains data\" },\n \"condition-beginwith\": { 1029: \"Začíná na\", 1033: \"Begins with\" },\n \"condition-doesnotbeginwith\": { 1029: \"Nezačíná na\", 1033: \"Does not begin with\" },\n \"condition-endswith\": { 1029: \"Končí na\", 1033: \"Ends with\" },\n \"condition-doesnotendwith\": { 1029: \"Nekončí na\", 1033: \"Does not end with\" },\n \"condition-yesterday\": { 1029: \"Včera\", 1033: \"Yesterday\" },\n \"condition-today\": { 1029: \"Dneska\", 1033: \"Today\" },\n \"condition-tomorrow\": { 1029: \"Zítra\", 1033: \"Tomorrow\" },\n \"condition-last7days\": { 1029: \"Posledních 7 dnů\", 1033: \"Last 7 days\" },\n \"condition-next7days\": { 1029: \"Příštích 7 dnů\", 1033: \"Next 7 days\" },\n \"condition-lastweek\": { 1029: \"Minulý týden\", 1033: \"Last week\" },\n \"condition-thisweek\": { 1029: \"Tento týden\", 1033: \"This week\" },\n \"condition-lastmonth\": { 1029: \"Minulý měsíc\", 1033: \"Last month\" },\n \"condition-thismonth\": { 1029: \"Tento měsíc\", 1033: \"This month\" },\n \"condition-on\": { 1029: \"V den\", 1033: \"On\" },\n \"condition-onorbefore\": { 1029: \"Před dnem (včetně)\", 1033: \"On or before\" },\n \"condition-onorafter\": { 1029: \"Po dni (včetně)\", 1033: \"On or after\" },\n \"condition-lastyear\": { 1029: \"Poslední rok\", 1033: \"Last year\" },\n \"condition-thisyear\": { 1029: \"Tento rok\", 1033: \"This year\" },\n \"condition-lastxdays\": { 1029: \"Posledních X dnů\", 1033: \"Last X days\" },\n \"condition-nextxdays\": { 1029: \"Příštích X dnů\", 1033: \"Next X days\" },\n \"condition-lastxmonths\": { 1029: \"Posledních X měsíců\", 1033: \"Last X months\" },\n \"condition-nextxmonths\": { 1029: \"Příštích X měsíců\", 1033: \"Next X months\" },\n \"condition-contains\": { 1029: \"Obsahuje\", 1033: \"Contains\" },\n \"condition-infiscalperiodandyear\": { 1029: \"Toto fiskální období a rok\", 1033: \"In fiscal period and year\" },\n \"condition-above\": { 1029: \"Nad\", 1033: \"Above\" },\n \"condition-under\": { 1029: \"Pod\", 1033: \"Under\" },\n \"condition-notunder\": { 1029: \"Není pod\", 1033: \"Not under\" },\n \"condition-aboveorequal\": { 1029: \"Je nad nebo se rovná\", 1033: \"Above or equal\" },\n \"condition-underorequal\": { 1029: \"Je pod nebo se rovná\", 1033: \"Under or equal\" },\n \"condition-containvalues\": { 1029: \"Obsahuje hodnoty\", 1033: \"Contain values\" },\n \"condition-doesnotcontainvalues\": { 1029: \"Neobsahuje hodnoty\", 1033: \"Does not contain values\" },\n \"condition-between\": { 1029: \"Mezi\", 1033: \"Between\" },\n \"condition-notbetween\": { 1029: \"Není mezi\", 1033: \"Not between\" },\n \"filtermenu-filterby\": { 1029: \"Filtrovat podle\", 1033: \"Filter By\" },\n \"filtermenu-applybutton\": { 1029: \"Použít\", 1033: \"Apply\" },\n \"filtermenu-clearbutton\": { 1029: \"Vymazat\", 1033: \"Clear\" },\n \"filtersortmenu-sorttext-a-z\": { 1029: \"Seřadit od A do Z\", 1033: \"Sort A to Z\" },\n \"filtersortmenu-sorttext-z-a\": { 1029: \"Seřadit od Z do A\", 1033: \"Sort Z to A\" },\n \"filtersortmenu-sortdate-a-z\": { 1029: \"Seřadit od nejstarších\", 1033: \"Sort older to newer\" },\n \"filtersortmenu-sortdate-z-a\": { 1029: \"Seřadit od nejnovějších\", 1033: \"Sort newer to older\" },\n \"filtersortmenu-sortnumber-a-z\": { 1029: \"Seřadit od nejmenších\", 1033: \"Sort smaller to larger\" },\n \"filtersortmenu-sortnumber-z-a\": { 1029: \"Seřadit od největších\", 1033: \"Sort larger to smaller\" },\n \"filtersortmenu-sorttwooption-a-z\": { 1029: \"Seřadit od nejmenších\", 1033: \"No to Yes\" },\n \"filtersortmenu-sorttwooption-z-a\": { 1029: \"Seřadit od největších\", 1033: \"Yes to No\" },\n \"filtersortmenu-sorttwooption-joint\": { 1029: \"až\", 1033: \"to\" },\n \"filtersortmenu-filterby\": { 1029: \"Filtrovat podle\", 1033: \"Filter by\" },\n \"filtersortmenu-clearfilter\": { 1029: \"Vymazat filtr\", 1033: \"Clear filter\" },\n \"filtersortmenu-clearsorting\": { 1029: \"Vymazat řazení\", 1033: \"Clear sorting\" },\n \"filtersortmenu-total-none\": { 1029: 'Žádný', 1033: 'None' },\n \"filtersortmenu-total-avg\": { 1029: 'Průměr', 1033: 'Average' },\n \"filtersortmenu-total-max\": { 1029: 'Maximum', 1033: 'Maximum' },\n \"filtersortmenu-total-min\": { 1029: 'Minimum', 1033: 'Minimum' },\n \"filtersortmenu-total-sum\": { 1029: 'Součet', 1033: 'Sum' },\n \"filtersortmenu-total-count\": { 1029: 'Počet (včetně prázdných hodnot)', 1033: 'Count (including empty values)' },\n \"filtersortmenu-total-countcolumn\": { 1029: 'Počet', 1033: 'Count' },\n \"filtersortmenu-total\": { 1029: 'Součty', 1033: 'Totals' },\n \"norecordsfound\": { 1029: 'Nenašli jsme nic, co by se zde dalo zobrazit.', 1033: 'No records found.' },\n \"saving-changenotification\": { 1029: \"Počet upravených záznamů: <b>{{numOfChanges}}</b>.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>.\" },\n \"saving-clickreview\": { 1029: \"Klikněte <u>zde</u> pro jejich zobrazení.\", 1033: \"Click <u>here</u> to review\" },\n \"saving-save\": { 1029: \"Uložit\", 1033: \"Save\" },\n \"saving-saving\": { 1029: \"Ukládání...\", 1033: \"Saving...\" },\n \"saving-changepreview-title\": { 1033: 'Number of updated rows: {{numOfChanges}}', 1029: 'Počet upravených záznamů: {{numOfChanges}}' },\n \"saving-validation-error\": { 1029: 'Pro uložení záznamu je nutné opravit chybové hodnoty následujících sloupců: <b>{{columnDisplayNames}}</b>', 1033: 'Folowing columns have validation errors: <b>{{columnDisplayNames}}</b>' },\n \"saving-save-all\": { 1029: \"Uložit všechny změny\", 1033: \"Save All Changes\" },\n \"saving-discard-all\": { 1029: \"Zrušit všechny změny\", 1033: \"Discard All Changes\" },\n \"saving-discard\": { 1029: \"Zrušit změnu\", 1033: \"Discard Change\" },\n \"saving-discard-changes\": { 1029: \"Zrušit změny\", 1033: \"Discard Changes\" },\n \"saving-save-changes\": { 1029: \"Uložit změny\", 1033: \"Save Changes\" },\n \"saving-discard-all-confirmation\": { 1029: \"Opravdu si přejete zrušit všechny provedené změny? Tuto akci není možné vrátit.\", 1033: \"Are you sure you want to discard all changes? This action cannot be reversed.\" },\n \"validation-input-value\": { 1029: 'Zadejte hodnotu', 1033: 'Please enter value.' },\n \"validation-email\": { 1029: 'Neplatný formát emailové adresy.', 1033: 'Invalid Email address format.' },\n \"validation-url\": { 1029: 'Neplatný formát webové adresy.', 1033: 'Invalid URL format.' },\n \"validation-date\": { 1029: 'Neplatný formát datumu.', 1033: 'Invalid Date format.' },\n \"validation-number\": { 1029: 'Neplatný formát čísla.', 1033: 'Invalid Number format.' },\n \"no-name\": { 1029: '(Bez názvu)', 1033: '(No Name)' },\n \"download\": { 1029: 'Stáhnout', 1033: 'Download' },\n \"value-not-editable\": { 1029: 'Tuto hodnotu nelze upravit.', 1033: 'This value cannot be edited.' },\n \"original-value\": { 1029: 'Původní hodnota', 1033: 'Previous value' },\n \"new-value\": { 1029: 'Nová hodnota', 1033: 'New value' },\n \"error-2147750198\": {\n 1029: 'Kalkulace překročila maximální limit kvůli velkému počtu řádků. Zmenšete prosím rozsah dat nebo kontaktujte podporu.',\n 1033: 'The calculation exceeded the maximum limit due to a large number of rows. Please reduce the data range or contact support for assistance.'\n }\n};\n\n"],"names":[],"mappings":"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"}