@talxis/base-controls 1.2410.3 → 1.2410.4
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.
- package/README.md +20 -11
- package/dist/components/DatasetControl/DatasetControl.d.ts +3 -0
- package/dist/components/DatasetControl/DatasetControl.js +63 -0
- package/dist/components/DatasetControl/DatasetControl.js.map +1 -0
- package/dist/components/DatasetControl/hooks/useRerender.d.ts +1 -0
- package/dist/components/DatasetControl/hooks/useRerender.js +9 -0
- package/dist/components/DatasetControl/hooks/useRerender.js.map +1 -0
- package/dist/components/DatasetControl/index.d.ts +2 -0
- package/dist/components/DatasetControl/index.js +2 -0
- package/dist/components/DatasetControl/index.js.map +1 -0
- package/dist/components/DatasetControl/interfaces.d.ts +10 -0
- package/dist/components/DatasetControl/styles.d.ts +8 -0
- package/dist/components/DatasetControl/styles.js +17 -0
- package/dist/components/DatasetControl/styles.js.map +1 -0
- package/dist/components/DatasetControl/translations.d.ts +10 -0
- package/dist/components/DatasetControl/translations.js +7 -0
- package/dist/components/DatasetControl/translations.js.map +1 -0
- package/dist/components/Decimal/Decimal.js +1 -1
- package/dist/components/Decimal/Decimal.js.map +1 -1
- package/dist/components/Duration/Duration.js +1 -1
- package/dist/components/Duration/Duration.js.map +1 -1
- package/dist/components/Grid/Grid.js +9 -2
- package/dist/components/Grid/Grid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +21 -46
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.d.ts +0 -1
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.js +7 -7
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +0 -2
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +0 -7
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/styles.d.ts +1 -4
- package/dist/components/Grid/core/components/AgGrid/styles.js +6 -9
- package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js +0 -2
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js +16 -4
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js.map +1 -1
- package/dist/components/Grid/core/components/Component/model/Component.js +7 -2
- package/dist/components/Grid/core/components/Component/model/Component.js.map +1 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.js +3 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.js.map +1 -1
- package/dist/components/Grid/core/constants.d.ts +1 -0
- package/dist/components/Grid/core/constants.js +4 -0
- package/dist/components/Grid/core/constants.js.map +1 -0
- package/dist/components/Grid/core/controllers/useGridController.d.ts +0 -2
- package/dist/components/Grid/core/controllers/useGridController.js +1 -17
- package/dist/components/Grid/core/controllers/useGridController.js.map +1 -1
- package/dist/components/Grid/core/model/Grid.d.ts +10 -3
- package/dist/components/Grid/core/model/Grid.js +45 -16
- package/dist/components/Grid/core/model/Grid.js.map +1 -1
- package/dist/components/Grid/core/services/KeyListener.d.ts +8 -0
- package/dist/components/Grid/core/services/KeyListener.js +22 -0
- package/dist/components/Grid/core/services/KeyListener.js.map +1 -0
- package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js +2 -2
- package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js.map +1 -1
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +1 -1
- package/dist/components/Grid/interfaces.d.ts +2 -2
- package/dist/components/Grid/paging/components/Paging/Paging.js +7 -1
- package/dist/components/Grid/paging/components/Paging/Paging.js.map +1 -1
- package/dist/components/Grid/paging/controllers/usePagingController.d.ts +2 -1
- package/dist/components/Grid/paging/controllers/usePagingController.js +1 -0
- package/dist/components/Grid/paging/controllers/usePagingController.js.map +1 -1
- package/dist/components/Grid/paging/model/Paging.d.ts +2 -1
- package/dist/components/Grid/paging/model/Paging.js +22 -4
- package/dist/components/Grid/paging/model/Paging.js.map +1 -1
- package/dist/components/Grid/selection/controllers/useSelectionController.js +7 -3
- package/dist/components/Grid/selection/controllers/useSelectionController.js.map +1 -1
- package/dist/components/Grid/selection/model/Selection.d.ts +1 -1
- package/dist/components/Grid/selection/model/Selection.js +7 -4
- package/dist/components/Grid/selection/model/Selection.js.map +1 -1
- package/dist/components/Grid/sorting/Sorting.js +2 -3
- package/dist/components/Grid/sorting/Sorting.js.map +1 -1
- package/dist/components/Grid/translations.d.ts +4 -0
- package/dist/components/Grid/translations.js +2 -1
- package/dist/components/Grid/translations.js.map +1 -1
- package/dist/index.d.ts +24 -7
- package/dist/index.js +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/components/Grid/core/hooks/useRerender.js +0 -13
- package/dist/components/Grid/core/hooks/useRerender.js.map +0 -1
- package/dist/utils/Numeral.d.ts +0 -6
- package/dist/utils/Numeral.js +0 -64
- package/dist/utils/Numeral.js.map +0 -1
package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordUpdateService.js","sources":["../../../../../../../src/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.ts"],"sourcesContent":["import equal from \"fast-deep-equal/es6\";\nimport { cloneDeep } from \"lodash\";\nimport numeral from \"numeral\";\nimport { Numeral } from \"../../../../../../utils/Numeral\";\nimport { IEntityColumn, IEntityRecord } from \"../../../../interfaces\";\nimport { ColumnValidation } from \"../../../../validation/model/ColumnValidation\";\nimport { DataType } from \"../../../enums/DataType\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\n\nexport interface IUpdatedRecord extends Omit<IEntityRecord, 'save'> {\n columns: Map<string, IEntityColumn>,\n isValid: (columnKey: string) => boolean,\n getOriginalValue: (columnKey: string) => any;\n getOriginalFormattedValue: (columnKey: string) => any;\n getOriginalFormattedPrimaryNameValue: () => any;\n save: () => Promise<boolean>,\n clear: () => void;\n}\n\nexport class RecordUpdateService extends GridDependency {\n private _updatedRecords: Map<string, IUpdatedRecord> = new Map();\n private _internalRecordMap: Map<string, IEntityRecord> = new Map();\n\n constructor(grid: Grid) {\n super(grid);\n const updatedRecordsFromState: IUpdatedRecord[] | undefined = this._grid.state?.['__updatedRecords'];\n //@ts-ignore - getRecordId could be undefined if it comes from serialized state\n if(updatedRecordsFromState && updatedRecordsFromState?.length > 0 && updatedRecordsFromState[0].getRecordId) {\n this._updatedRecords = new Map(updatedRecordsFromState.map(x => {\n const originalClear = x.clear;\n const originalSetValue = x.setValue;\n const originalSave = x.save;\n x.clear = () => {\n this._updatedRecords.delete(x.getRecordId());\n originalClear();\n this._pcfContext.factory.requestRender();\n }\n x.save = async () => {\n const result = await originalSave();\n if(result) {\n this._updatedRecords.delete(x.getRecordId());\n }\n [...x.columns.values()].map(col => {\n this._internalRecordMap.get(x.getRecordId())?.setValue(col.name, x.getValue(col.name));\n })\n return result;\n }\n x.setValue = (columnName: string, value: any) => {\n originalSetValue(columnName, value);\n this._pcfContext.factory.requestRender();\n }\n return [x.getRecordId(), x]\n }))\n }\n }\n\n public get updatedRecords() {\n if (this._isReadOnlyChangeEditor() && this._updatedRecords.size === 0) {\n const record = this._grid.records[0];\n for (const column of this._grid.columns) {\n this.record(record.getRecordId()).setValue(column.key, record.getValue(column.key), true);\n }\n }\n return [...this._updatedRecords.values()];\n }\n\n public get isDirty() {\n return this._updatedRecords.size > 0;\n }\n\n public get hasInvalidRecords() {\n return [...this._updatedRecords.values()].find(x => {\n for(const column of x.columns.values()) {\n if(!x.isValid(column.name)) {\n return true;\n }\n }\n return false;\n }) ? true : false;\n }\n\n public record(recordId: string) {\n return {\n get: () => this._updatedRecords.get(recordId),\n setValue: (columnKey: string, value: any, doNotPropagateToDatasetRecord?: boolean) => {\n if(!doNotPropagateToDatasetRecord && this._isEqual(columnKey, this._internalRecordMap.get(recordId)!.getValue(columnKey), value)) {\n return;\n }\n const updatedRecord = this._updatedRecords.get(recordId);\n if (!updatedRecord) {\n const deepCopiedRecord = cloneDeep(this._internalRecordMap.get(recordId)!);\n this._updatedRecords.set(recordId, {\n columns: new Map([[columnKey, this._getEntityColumnByKey(columnKey)]]),\n getRecordId: () => recordId,\n getValue: (columnKey: string) => this._internalRecordMap.get(recordId)?.getValue(columnKey)!,\n getFormattedValue: (columnKey: string) => this._internalRecordMap.get(recordId)?.getFormattedValue(columnKey)!,\n getNamedReference: () => deepCopiedRecord.getNamedReference(),\n getOriginalValue: (columnKey: string) => deepCopiedRecord.getValue(columnKey),\n getOriginalFormattedValue: (columnKey: string) => deepCopiedRecord.getFormattedValue(columnKey),\n getOriginalFormattedPrimaryNameValue: () => {\n let primaryColumn = this._dataset.columns.find(x => x.isPrimary);\n if(!primaryColumn) {\n primaryColumn = this._dataset.columns[0];\n }\n let value = deepCopiedRecord.getFormattedValue(primaryColumn.name);\n if(!value) {\n value = this._grid.labels[\"no-name\"]();\n }\n return value;\n },\n setValue: (columnKey: string, value: any) => {\n this._internalRecordMap.get(recordId)?.setValue(columnKey, value);\n },\n isValid: (columnKey: string) => {\n const column = this._grid.columns.find(x => x.key === columnKey);\n if(!column) {\n return true;\n }\n const [result, message] = new ColumnValidation(this._grid, column).validate(this._internalRecordMap.get(recordId)?.getValue(columnKey)!)\n return result;\n },\n clear: () => {\n const updatedRecord = this._updatedRecords.get(recordId);\n const columns = [...updatedRecord!.columns.values()];\n this._updatedRecords.delete(recordId);\n for(const column of columns) {\n this._internalRecordMap.get(recordId)?.setValue(column.name, deepCopiedRecord.getValue(column.name));\n }\n },\n save: async () => {\n try {\n await this._internalRecordMap.get(recordId)?.save();\n this._updatedRecords.delete(recordId);\n }\n catch (err) {\n this._grid.pcfContext.navigation.openErrorDialog({\n message: 'An error occurred during saving. Some of you changes might now have been saved.',\n //@ts-ignore\n details: err.message\n })\n return false;\n }\n return true;\n }\n })\n }\n else {\n updatedRecord.columns.set(columnKey, this._getEntityColumnByKey(columnKey))\n }\n if (!doNotPropagateToDatasetRecord) {\n const updatedRecord = this._updatedRecords.get(recordId);\n updatedRecord?.setValue(columnKey, value);\n }\n }\n }\n }\n\n public async saveAll(): Promise<boolean> {\n const savePromises: Promise<boolean>[] = [];\n for (const record of this._updatedRecords.values()) {\n savePromises.push(record.save());\n }\n const result = await Promise.all(savePromises);\n return !result.find(x => x === false)\n }\n public async clearAll() {\n for (const record of this._updatedRecords.values()) {\n record.clear();\n }\n }\n\n public onDependenciesUpdated(): void {\n for (const [recordId, record] of Object.entries(this._grid.dataset.records)) {\n this._internalRecordMap.set(recordId, record);\n }\n }\n private _getEntityColumnByKey(columnKey: string) {\n const gridColumn = this._grid.columns.find(x => x.key === columnKey)!;\n return this._dataset.columns.find(x => {\n if (!gridColumn.entityAliasName) {\n return x.name === gridColumn.attributeName;\n }\n return x.name === gridColumn.attributeName && x.alias === gridColumn.entityAliasName;\n })!;\n }\n private _isReadOnlyChangeEditor() {\n return this._grid.props.parameters.ChangeEditorMode?.raw === 'read';\n }\n private _isEqual(columnKey: string, oldValue: any, newValue: any) {\n const column = this._grid.columns.find(x => x.key === columnKey);\n //skip in special case for currency\n //PCF has no info about the currency, which sometimes make it to ouput change\n if(column?.dataType === DataType.CURRENCY) {\n Numeral.currency(this._grid.pcfContext.userSettings.numberFormattingInfo);\n newValue = numeral(newValue).value();\n if(newValue === oldValue) {\n return true\n }\n\n }\n if(oldValue == newValue) {\n return true;\n }\n return equal(oldValue, newValue);\n }\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RecordUpdateService.js","sources":["../../../../../../../src/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.ts"],"sourcesContent":["import equal from \"fast-deep-equal/es6\";\nimport { cloneDeep } from \"lodash\";\nimport numeral from \"numeral\";\nimport { IEntityColumn, IEntityRecord } from \"../../../../interfaces\";\nimport { ColumnValidation } from \"../../../../validation/model/ColumnValidation\";\nimport { DataType } from \"../../../enums/DataType\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { Numeral } from \"@talxis/client-libraries\";\n\nexport interface IUpdatedRecord extends Omit<IEntityRecord, 'save'> {\n columns: Map<string, IEntityColumn>,\n isValid: (columnKey: string) => boolean,\n getOriginalValue: (columnKey: string) => any;\n getOriginalFormattedValue: (columnKey: string) => any;\n getOriginalFormattedPrimaryNameValue: () => any;\n save: () => Promise<boolean>,\n clear: () => void;\n}\n\nexport class RecordUpdateService extends GridDependency {\n private _updatedRecords: Map<string, IUpdatedRecord> = new Map();\n private _internalRecordMap: Map<string, IEntityRecord> = new Map();\n\n constructor(grid: Grid) {\n super(grid);\n const updatedRecordsFromState: IUpdatedRecord[] | undefined = this._grid.state?.['__updatedRecords'];\n //@ts-ignore - getRecordId could be undefined if it comes from serialized state\n if(updatedRecordsFromState && updatedRecordsFromState?.length > 0 && updatedRecordsFromState[0].getRecordId) {\n this._updatedRecords = new Map(updatedRecordsFromState.map(x => {\n const originalClear = x.clear;\n const originalSetValue = x.setValue;\n const originalSave = x.save;\n x.clear = () => {\n this._updatedRecords.delete(x.getRecordId());\n originalClear();\n this._pcfContext.factory.requestRender();\n }\n x.save = async () => {\n const result = await originalSave();\n if(result) {\n this._updatedRecords.delete(x.getRecordId());\n }\n [...x.columns.values()].map(col => {\n this._internalRecordMap.get(x.getRecordId())?.setValue(col.name, x.getValue(col.name));\n })\n return result;\n }\n x.setValue = (columnName: string, value: any) => {\n originalSetValue(columnName, value);\n this._pcfContext.factory.requestRender();\n }\n return [x.getRecordId(), x]\n }))\n }\n }\n\n public get updatedRecords() {\n if (this._isReadOnlyChangeEditor() && this._updatedRecords.size === 0) {\n const record = this._grid.records[0];\n for (const column of this._grid.columns) {\n this.record(record.getRecordId()).setValue(column.key, record.getValue(column.key), true);\n }\n }\n return [...this._updatedRecords.values()];\n }\n\n public get isDirty() {\n return this._updatedRecords.size > 0;\n }\n\n public get hasInvalidRecords() {\n return [...this._updatedRecords.values()].find(x => {\n for(const column of x.columns.values()) {\n if(!x.isValid(column.name)) {\n return true;\n }\n }\n return false;\n }) ? true : false;\n }\n\n public record(recordId: string) {\n return {\n get: () => this._updatedRecords.get(recordId),\n setValue: (columnKey: string, value: any, doNotPropagateToDatasetRecord?: boolean) => {\n if(!doNotPropagateToDatasetRecord && this._isEqual(columnKey, this._internalRecordMap.get(recordId)!.getValue(columnKey), value)) {\n return;\n }\n const updatedRecord = this._updatedRecords.get(recordId);\n if (!updatedRecord) {\n const deepCopiedRecord = cloneDeep(this._internalRecordMap.get(recordId)!);\n this._updatedRecords.set(recordId, {\n columns: new Map([[columnKey, this._getEntityColumnByKey(columnKey)]]),\n getRecordId: () => recordId,\n getValue: (columnKey: string) => this._internalRecordMap.get(recordId)?.getValue(columnKey)!,\n getFormattedValue: (columnKey: string) => this._internalRecordMap.get(recordId)?.getFormattedValue(columnKey)!,\n getNamedReference: () => deepCopiedRecord.getNamedReference(),\n getOriginalValue: (columnKey: string) => deepCopiedRecord.getValue(columnKey),\n getOriginalFormattedValue: (columnKey: string) => deepCopiedRecord.getFormattedValue(columnKey),\n getOriginalFormattedPrimaryNameValue: () => {\n let primaryColumn = this._dataset.columns.find(x => x.isPrimary);\n if(!primaryColumn) {\n primaryColumn = this._dataset.columns[0];\n }\n let value = deepCopiedRecord.getFormattedValue(primaryColumn.name);\n if(!value) {\n value = this._grid.labels[\"no-name\"]();\n }\n return value;\n },\n setValue: (columnKey: string, value: any) => {\n this._internalRecordMap.get(recordId)?.setValue(columnKey, value);\n },\n isValid: (columnKey: string) => {\n const column = this._grid.columns.find(x => x.key === columnKey);\n if(!column) {\n return true;\n }\n const [result, message] = new ColumnValidation(this._grid, column).validate(this._internalRecordMap.get(recordId)?.getValue(columnKey)!)\n return result;\n },\n clear: () => {\n const updatedRecord = this._updatedRecords.get(recordId);\n const columns = [...updatedRecord!.columns.values()];\n this._updatedRecords.delete(recordId);\n for(const column of columns) {\n this._internalRecordMap.get(recordId)?.setValue(column.name, deepCopiedRecord.getValue(column.name));\n }\n },\n save: async () => {\n try {\n await this._internalRecordMap.get(recordId)?.save();\n this._updatedRecords.delete(recordId);\n }\n catch (err) {\n this._grid.pcfContext.navigation.openErrorDialog({\n message: 'An error occurred during saving. Some of you changes might now have been saved.',\n //@ts-ignore\n details: err.message\n })\n return false;\n }\n return true;\n }\n })\n }\n else {\n updatedRecord.columns.set(columnKey, this._getEntityColumnByKey(columnKey))\n }\n if (!doNotPropagateToDatasetRecord) {\n const updatedRecord = this._updatedRecords.get(recordId);\n updatedRecord?.setValue(columnKey, value);\n }\n }\n }\n }\n\n public async saveAll(): Promise<boolean> {\n const savePromises: Promise<boolean>[] = [];\n for (const record of this._updatedRecords.values()) {\n savePromises.push(record.save());\n }\n const result = await Promise.all(savePromises);\n return !result.find(x => x === false)\n }\n public async clearAll() {\n for (const record of this._updatedRecords.values()) {\n record.clear();\n }\n }\n\n public onDependenciesUpdated(): void {\n for (const [recordId, record] of Object.entries(this._grid.dataset.records)) {\n this._internalRecordMap.set(recordId, record);\n }\n }\n private _getEntityColumnByKey(columnKey: string) {\n const gridColumn = this._grid.columns.find(x => x.key === columnKey)!;\n return this._dataset.columns.find(x => {\n if (!gridColumn.entityAliasName) {\n return x.name === gridColumn.attributeName;\n }\n return x.name === gridColumn.key;\n })!;\n }\n private _isReadOnlyChangeEditor() {\n return this._grid.props.parameters.ChangeEditorMode?.raw === 'read';\n }\n private _isEqual(columnKey: string, oldValue: any, newValue: any) {\n const column = this._grid.columns.find(x => x.key === columnKey);\n //skip in special case for currency\n //PCF has no info about the currency, which sometimes make it to ouput change\n if(column?.dataType === DataType.CURRENCY) {\n Numeral.currency(this._grid.pcfContext.userSettings.numberFormattingInfo);\n newValue = numeral(newValue).value();\n if(newValue === oldValue) {\n return true\n }\n\n }\n if(oldValue == newValue) {\n return true;\n }\n return equal(oldValue, newValue);\n }\n}"],"names":[],"mappings":";;;;;;;;AAoBM,MAAO,mBAAoB,SAAQ,cAAc,CAAA;AAInD,IAAA,WAAA,CAAY,IAAU,EAAA;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC;AAJR,QAAA,IAAA,CAAA,eAAe,GAAgC,IAAI,GAAG,EAAE,CAAC;AACzD,QAAA,IAAA,CAAA,kBAAkB,GAA+B,IAAI,GAAG,EAAE,CAAC;QAI/D,MAAM,uBAAuB,GAAiC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,CAAC;;AAErG,QAAA,IAAG,uBAAuB,IAAI,uBAAuB,EAAE,MAAM,GAAG,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzG,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAG;AAC3D,gBAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;AAC9B,gBAAA,MAAM,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CAAC;AACpC,gBAAA,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;AAC5B,gBAAA,CAAC,CAAC,KAAK,GAAG,MAAK;oBACX,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,oBAAA,aAAa,EAAE,CAAC;AAChB,oBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC7C,iBAAC,CAAA;AACD,gBAAA,CAAC,CAAC,IAAI,GAAG,YAAW;AAChB,oBAAA,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;AACpC,oBAAA,IAAG,MAAM,EAAE;wBACP,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAChD,qBAAA;AACD,oBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAG;wBAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,qBAAC,CAAC,CAAA;AACF,oBAAA,OAAO,MAAM,CAAC;AAClB,iBAAC,CAAA;gBACD,CAAC,CAAC,QAAQ,GAAG,CAAC,UAAkB,EAAE,KAAU,KAAI;AAC5C,oBAAA,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACpC,oBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC7C,iBAAC,CAAA;gBACD,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;aAC9B,CAAC,CAAC,CAAA;AACN,SAAA;KACJ;AAED,IAAA,IAAW,cAAc,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE;YACnE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7F,aAAA;AACJ,SAAA;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;KAC7C;AAED,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;KACxC;AAED,IAAA,IAAW,iBAAiB,GAAA;AACxB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAG;YAC/C,KAAI,MAAM,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;gBACpC,IAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACxB,oBAAA,OAAO,IAAI,CAAC;AACf,iBAAA;AACJ,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;SAChB,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;KACrB;AAEM,IAAA,MAAM,CAAC,QAAgB,EAAA;QAC1B,OAAO;YACH,GAAG,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC7C,QAAQ,EAAE,CAAC,SAAiB,EAAE,KAAU,EAAE,6BAAuC,KAAI;gBACjF,IAAG,CAAC,6BAA6B,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE;oBAC9H,OAAO;AACV,iBAAA;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACzD,IAAI,CAAC,aAAa,EAAE;AAChB,oBAAA,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC;AAC3E,oBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE;AAC/B,wBAAA,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACtE,wBAAA,WAAW,EAAE,MAAM,QAAQ;AAC3B,wBAAA,QAAQ,EAAE,CAAC,SAAiB,KAAK,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAE;AAC5F,wBAAA,iBAAiB,EAAE,CAAC,SAAiB,KAAK,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAE;AAC9G,wBAAA,iBAAiB,EAAE,MAAM,gBAAgB,CAAC,iBAAiB,EAAE;wBAC7D,gBAAgB,EAAE,CAAC,SAAiB,KAAK,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC7E,yBAAyB,EAAE,CAAC,SAAiB,KAAK,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC;wBAC/F,oCAAoC,EAAE,MAAK;AACvC,4BAAA,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;4BACjE,IAAG,CAAC,aAAa,EAAE;gCACf,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5C,6BAAA;4BACD,IAAI,KAAK,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;4BACnE,IAAG,CAAC,KAAK,EAAE;gCACP,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;AAC1C,6BAAA;AACD,4BAAA,OAAO,KAAK,CAAC;yBAChB;AACD,wBAAA,QAAQ,EAAE,CAAC,SAAiB,EAAE,KAAU,KAAI;AACxC,4BAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;yBACrE;AACD,wBAAA,OAAO,EAAE,CAAC,SAAiB,KAAI;4BAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;4BACjE,IAAG,CAAC,MAAM,EAAE;AACR,gCAAA,OAAO,IAAI,CAAC;AACf,6BAAA;AACD,4BAAA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAE,CAAC,CAAA;AACxI,4BAAA,OAAO,MAAM,CAAC;yBACjB;wBACD,KAAK,EAAE,MAAK;4BACR,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACzD,MAAM,OAAO,GAAG,CAAC,GAAG,aAAc,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACrD,4BAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtC,4BAAA,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE;gCACzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxG,6BAAA;yBACJ;wBACD,IAAI,EAAE,YAAW;4BACb,IAAI;gCACA,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;AACpD,gCAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzC,6BAAA;AACD,4BAAA,OAAO,GAAG,EAAE;gCACR,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC;AAC7C,oCAAA,OAAO,EAAE,iFAAiF;;oCAE1F,OAAO,EAAE,GAAG,CAAC,OAAO;AACvB,iCAAA,CAAC,CAAA;AACF,gCAAA,OAAO,KAAK,CAAC;AAChB,6BAAA;AACD,4BAAA,OAAO,IAAI,CAAC;yBACf;AACJ,qBAAA,CAAC,CAAA;AACL,iBAAA;AACI,qBAAA;AACD,oBAAA,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAA;AAC9E,iBAAA;gBACD,IAAI,CAAC,6BAA6B,EAAE;oBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzD,oBAAA,aAAa,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC7C,iBAAA;aACJ;SACJ,CAAA;KACJ;AAEM,IAAA,MAAM,OAAO,GAAA;QAChB,MAAM,YAAY,GAAuB,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE;YAChD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACpC,SAAA;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC/C,QAAA,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;KACxC;AACM,IAAA,MAAM,QAAQ,GAAA;QACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE;YAChD,MAAM,CAAC,KAAK,EAAE,CAAC;AAClB,SAAA;KACJ;IAEM,qBAAqB,GAAA;AACxB,QAAA,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjD,SAAA;KACJ;AACO,IAAA,qBAAqB,CAAC,SAAiB,EAAA;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAE,CAAC;QACtE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAG;AAClC,YAAA,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;AAC7B,gBAAA,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa,CAAC;AAC9C,aAAA;AACD,YAAA,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,GAAG,CAAC;AACrC,SAAC,CAAE,CAAC;KACP;IACO,uBAAuB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,KAAK,MAAM,CAAC;KACvE;AACO,IAAA,QAAQ,CAAC,SAAiB,EAAE,QAAa,EAAE,QAAa,EAAA;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;;;AAGjE,QAAA,IAAG,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;AACvC,YAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAC1E,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,IAAG,QAAQ,KAAK,QAAQ,EAAE;AACtB,gBAAA,OAAO,IAAI,CAAA;AACd,aAAA;AAEJ,SAAA;QACD,IAAG,QAAQ,IAAI,QAAQ,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,OAAO,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACpC;AACJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColumnFilterConditionController.js","sources":["../../../../../src/components/Grid/filtering/controller/useColumnFilterConditionController.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { DatasetConditionOperator } from \"../../core/enums/ConditionOperator\";\nimport { useGridInstance } from \"../../core/hooks/useGridInstance\"\nimport { useRefreshCallback } from \"../../core/hooks/useRefreshCallback\";\nimport {
|
|
1
|
+
{"version":3,"file":"useColumnFilterConditionController.js","sources":["../../../../../src/components/Grid/filtering/controller/useColumnFilterConditionController.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { DatasetConditionOperator } from \"../../core/enums/ConditionOperator\";\nimport { useGridInstance } from \"../../core/hooks/useGridInstance\"\nimport { useRefreshCallback } from \"../../core/hooks/useRefreshCallback\";\nimport { IGridColumn } from \"../../core/interfaces/IGridColumn\";\n\nexport interface IColumnFilterConditionController {\n isAppliedToDataset: boolean,\n column: IGridColumn,\n value: {\n valid: boolean;\n get: () => any;\n set: (value: any) => void;\n }\n operator: {\n get: () => DatasetConditionOperator | undefined;\n set: (operator: DatasetConditionOperator) => void;\n },\n remove: () => void;\n save: () => Promise<boolean>;\n clear: () => void;\n}\n\nexport const useColumnFilterConditionController = (column: IGridColumn): IColumnFilterConditionController | null => {\n const filtering = useGridInstance().filtering;\n const conditionPromise = useMemo(() => filtering.condition(column), []);\n const [controller, setController] = useState<IColumnFilterConditionController>();\n \n const refresh = async () => {\n const condition = await conditionPromise;\n setController(prevState => ({\n ...prevState,\n isAppliedToDataset: condition.isAppliedToDataset,\n column: condition?.column,\n operator: {\n get: () => condition.operator.get(),\n set: (operator) => condition.operator.set(operator)\n },\n value: {\n valid: condition.isValid,\n get: () => condition.value.get(),\n set: (value) => condition.value.set(value)\n },\n remove: () => condition?.remove(),\n save: () => condition?.save(),\n clear: () => condition?.clear()\n }))\n }\n useRefreshCallback(conditionPromise, refresh);\n useEffect(() => {\n (async () => {\n refresh();\n })();\n }, []);\n\n\n if(!controller) {\n return null;\n }\n return controller;\n}"],"names":[],"mappings":";;;;AAuBa,MAAA,kCAAkC,GAAG,CAAC,MAAmB,KAA6C;AAC/G,IAAA,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,SAAS,CAAC;AAC9C,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAoC,CAAC;AAEjF,IAAA,MAAM,OAAO,GAAG,YAAW;AACvB,QAAA,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;AACzC,QAAA,aAAa,CAAC,SAAS,KAAK;AACxB,YAAA,GAAG,SAAS;YACZ,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,MAAM,EAAE,SAAS,EAAE,MAAM;AACzB,YAAA,QAAQ,EAAE;gBACN,GAAG,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE;AACnC,gBAAA,GAAG,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AACtD,aAAA;AACD,YAAA,KAAK,EAAE;gBACH,KAAK,EAAE,SAAS,CAAC,OAAO;gBACxB,GAAG,EAAE,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;AAChC,gBAAA,GAAG,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7C,aAAA;AACD,YAAA,MAAM,EAAE,MAAM,SAAS,EAAE,MAAM,EAAE;AACjC,YAAA,IAAI,EAAE,MAAM,SAAS,EAAE,IAAI,EAAE;AAC7B,YAAA,KAAK,EAAE,MAAM,SAAS,EAAE,KAAK,EAAE;AAClC,SAAA,CAAC,CAAC,CAAA;AACP,KAAC,CAAA;AACD,IAAA,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,MAAK;QACX,CAAC,YAAW;AACR,YAAA,OAAO,EAAE,CAAC;SACb,GAAG,CAAC;KACR,EAAE,EAAE,CAAC,CAAC;IAGP,IAAG,CAAC,UAAU,EAAE;AACZ,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AACD,IAAA,OAAO,UAAU,CAAC;AACtB;;;;"}
|
|
@@ -23,9 +23,9 @@ export interface IGridParameters extends IParameters {
|
|
|
23
23
|
EnableSorting?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
24
24
|
EnableNavigation?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
25
25
|
EnableOptionSetColors?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
26
|
-
|
|
26
|
+
Height?: IStringProperty;
|
|
27
27
|
InlineRibbonButtonIds?: IStringProperty;
|
|
28
|
-
SelectableRows?: ComponentFramework.PropertyTypes.EnumProperty<"none" | "single" | "multiple">;
|
|
28
|
+
SelectableRows?: Omit<ComponentFramework.PropertyTypes.EnumProperty<"none" | "single" | "multiple">, 'type'>;
|
|
29
29
|
Grid: IDatasetProperty;
|
|
30
30
|
}
|
|
31
31
|
export interface IGridOutputs extends IOutputs {
|
|
@@ -20,7 +20,13 @@ const Paging = () => {
|
|
|
20
20
|
};
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
const getPagingLabel = () => {
|
|
24
|
+
if (paging.totalResultCount === undefined) {
|
|
25
|
+
return labels['paging-pages']({ start: paging.pageFirstRecordOrder, end: paging.pageLastRecordOrder });
|
|
26
|
+
}
|
|
27
|
+
return `${labels['paging-pages']({ start: paging.pageFirstRecordOrder, end: paging.pageLastRecordOrder })} ${labels['paging-pages-totalcount']({ recordcount: paging.formattedTotalResultCount })}`;
|
|
28
|
+
};
|
|
29
|
+
return (jsxs("div", { className: styles.root, children: [jsx("div", { className: styles.pageSizeBtnWrapper, children: jsx(CommandBarButton, { text: getPagingLabel(), menuProps: {
|
|
24
30
|
items: [
|
|
25
31
|
{
|
|
26
32
|
key: 'header',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paging.js","sources":["../../../../../../src/components/Grid/paging/components/Paging/Paging.tsx"],"sourcesContent":["import { ComboBox, CommandBarButton, ContextualMenuItemType, IComboBoxOption, IContextualMenuItem, useTheme } from '@fluentui/react';\nimport { CommandBar } from '@fluentui/react';\nimport React from 'react';\nimport { useGridInstance } from '../../../core/hooks/useGridInstance';\nimport { usePagingController } from '../../controllers/usePagingController';\nimport { getPagingStyles } from './styles';\n\nexport const Paging = () => {\n const labels = useGridInstance().labels;\n const paging = usePagingController();\n const styles = getPagingStyles(useTheme());\n\n const getPageSizeOptions = (): IContextualMenuItem[] => {\n const sizes = ['25', '50', '75', '100', '250'];\n return sizes.map(size => {\n return {\n key: size,\n text: size,\n checked: parseInt(size) === paging.pageSize,\n className: styles.pageSizeOption,\n onClick: () => paging.setPageSize(parseInt(size))\n }\n })\n }\n
|
|
1
|
+
{"version":3,"file":"Paging.js","sources":["../../../../../../src/components/Grid/paging/components/Paging/Paging.tsx"],"sourcesContent":["import { ComboBox, CommandBarButton, ContextualMenuItemType, IComboBoxOption, IContextualMenuItem, useTheme } from '@fluentui/react';\nimport { CommandBar } from '@fluentui/react';\nimport React from 'react';\nimport { useGridInstance } from '../../../core/hooks/useGridInstance';\nimport { usePagingController } from '../../controllers/usePagingController';\nimport { getPagingStyles } from './styles';\n\nexport const Paging = () => {\n const labels = useGridInstance().labels;\n const paging = usePagingController();\n const styles = getPagingStyles(useTheme());\n\n const getPageSizeOptions = (): IContextualMenuItem[] => {\n const sizes = ['25', '50', '75', '100', '250'];\n return sizes.map(size => {\n return {\n key: size,\n text: size,\n checked: parseInt(size) === paging.pageSize,\n className: styles.pageSizeOption,\n onClick: () => paging.setPageSize(parseInt(size))\n }\n })\n }\n const getPagingLabel = () => {\n if(paging.totalResultCount === undefined) {\n return labels['paging-pages']({ start: paging.pageFirstRecordOrder, end: paging.pageLastRecordOrder})\n }\n return `${labels['paging-pages']({ start: paging.pageFirstRecordOrder, end: paging.pageLastRecordOrder})} ${labels['paging-pages-totalcount']({recordcount: paging.formattedTotalResultCount})}`\n }\n return (\n <div className={styles.root}>\n <div className={styles.pageSizeBtnWrapper}>\n <CommandBarButton\n text={getPagingLabel()}\n menuProps={{\n items: [\n {\n key: 'header',\n itemType: ContextualMenuItemType.Header,\n text: 'Počet záznamů na stránce',\n },\n {\n key: 'divider',\n itemType: ContextualMenuItemType.Divider,\n },\n ...getPageSizeOptions()\n ]\n }}\n />\n </div>\n <CommandBar\n className={styles.pagination}\n items={[]}\n farItems={[{\n key: 'FirstPage',\n iconOnly: true,\n iconProps: { iconName: 'DoubleChevronLeft' },\n disabled: !paging.hasPreviousPage,\n onClick: () => paging.reset()\n }, {\n key: 'PreviousPage',\n iconOnly: true,\n iconProps: { iconName: 'Back' },\n disabled: !paging.hasPreviousPage,\n onClick: () => paging.loadPreviousPage()\n }, {\n key: 'CurrentPage',\n text: `${labels['paging-page']()} ${paging.pageNumber.toString()}`,\n className: styles.currentPageBtn,\n disabled: true,\n }, {\n key: 'NextPage',\n iconOnly: true,\n iconProps: { iconName: 'Forward' },\n disabled: !paging.hasNextPage,\n onClick: () => paging.loadNextPage()\n }]}\n />\n </div>\n )\n}"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@ interface IPagingController {
|
|
|
6
6
|
hasPreviousPage: boolean;
|
|
7
7
|
hasNextPage: boolean;
|
|
8
8
|
pageFirstRecordOrder: number;
|
|
9
|
-
pageLastRecordOrder:
|
|
9
|
+
pageLastRecordOrder: string;
|
|
10
|
+
formattedTotalResultCount: string;
|
|
10
11
|
loadNextPage: () => void;
|
|
11
12
|
loadPreviousPage: () => void;
|
|
12
13
|
loadExactPage: (pageNumber: number) => void;
|
|
@@ -6,6 +6,7 @@ const usePagingController = () => {
|
|
|
6
6
|
pageNumber: paging.pageNumber,
|
|
7
7
|
pageSize: paging.pageSize,
|
|
8
8
|
totalResultCount: paging.totalResultCount,
|
|
9
|
+
formattedTotalResultCount: paging.formattedTotalResultCount,
|
|
9
10
|
hasPreviousPage: paging.hasPreviousPage,
|
|
10
11
|
hasNextPage: paging.hasNextPage,
|
|
11
12
|
pageFirstRecordOrder: paging.pageFirstRecordOrder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePagingController.js","sources":["../../../../../src/components/Grid/paging/controllers/usePagingController.ts"],"sourcesContent":["import { useGridInstance } from \"../../core/hooks/useGridInstance\"\n\ninterface IPagingController {\n isEnabled: boolean,\n pageNumber: number,\n pageSize: number,\n totalResultCount: number,\n hasPreviousPage: boolean,\n hasNextPage: boolean,\n pageFirstRecordOrder: number,\n pageLastRecordOrder:
|
|
1
|
+
{"version":3,"file":"usePagingController.js","sources":["../../../../../src/components/Grid/paging/controllers/usePagingController.ts"],"sourcesContent":["import { useGridInstance } from \"../../core/hooks/useGridInstance\"\n\ninterface IPagingController {\n isEnabled: boolean,\n pageNumber: number,\n pageSize: number,\n totalResultCount: number,\n hasPreviousPage: boolean,\n hasNextPage: boolean,\n pageFirstRecordOrder: number,\n pageLastRecordOrder: string\n formattedTotalResultCount: string,\n loadNextPage: () => void,\n loadPreviousPage: () => void,\n loadExactPage: (pageNumber: number) => void,\n setPageSize: (pageSize: number) => void,\n reset: () => void\n}\n\nexport const usePagingController = (): IPagingController => {\n const paging = useGridInstance().paging;\n return {\n pageNumber: paging.pageNumber,\n pageSize: paging.pageSize,\n totalResultCount: paging.totalResultCount,\n formattedTotalResultCount: paging.formattedTotalResultCount,\n hasPreviousPage: paging.hasPreviousPage,\n hasNextPage: paging.hasNextPage,\n pageFirstRecordOrder: paging.pageFirstRecordOrder,\n pageLastRecordOrder: paging.pageLastRecordOrder,\n isEnabled: paging.isEnabled,\n loadExactPage: (pageNumber: number) => paging.loadExactPage(pageNumber),\n loadNextPage: () => paging.loadNextPage(),\n loadPreviousPage: () => paging.loadPreviousPage(),\n setPageSize: (pageSize) => paging.setPageSize(pageSize),\n reset: () => paging.reset()\n }\n}"],"names":[],"mappings":";;AAmBO,MAAM,mBAAmB,GAAG,MAAwB;AACvD,IAAA,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC;IACxC,OAAO;QACH,UAAU,EAAE,MAAM,CAAC,UAAU;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;QAC3D,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa,EAAE,CAAC,UAAkB,KAAK,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;AACvE,QAAA,YAAY,EAAE,MAAM,MAAM,CAAC,YAAY,EAAE;AACzC,QAAA,gBAAgB,EAAE,MAAM,MAAM,CAAC,gBAAgB,EAAE;QACjD,WAAW,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;AACvD,QAAA,KAAK,EAAE,MAAM,MAAM,CAAC,KAAK,EAAE;KAClC,CAAA;AACL;;;;"}
|
|
@@ -6,7 +6,8 @@ export declare class Paging extends GridDependency {
|
|
|
6
6
|
get hasPreviousPage(): boolean;
|
|
7
7
|
get hasNextPage(): boolean;
|
|
8
8
|
get pageFirstRecordOrder(): number;
|
|
9
|
-
get
|
|
9
|
+
get formattedTotalResultCount(): string;
|
|
10
|
+
get pageLastRecordOrder(): string;
|
|
10
11
|
get isEnabled(): boolean;
|
|
11
12
|
loadNextPage(): void;
|
|
12
13
|
loadPreviousPage(): void;
|
|
@@ -17,14 +17,32 @@ class Paging extends GridDependency {
|
|
|
17
17
|
return this._dataset.paging.hasNextPage;
|
|
18
18
|
}
|
|
19
19
|
get pageFirstRecordOrder() {
|
|
20
|
+
if (this._dataset.sortedRecordIds.length === 0) {
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
20
23
|
return (this.pageNumber - 1) * this.pageSize + (this.totalResultCount === 0 ? 0 : 1);
|
|
21
24
|
}
|
|
25
|
+
get formattedTotalResultCount() {
|
|
26
|
+
if (this.totalResultCount === undefined) {
|
|
27
|
+
return '';
|
|
28
|
+
}
|
|
29
|
+
if (this.totalResultCount === -1) {
|
|
30
|
+
return '5000+';
|
|
31
|
+
}
|
|
32
|
+
return this.totalResultCount.toString();
|
|
33
|
+
}
|
|
22
34
|
get pageLastRecordOrder() {
|
|
23
|
-
const
|
|
24
|
-
if (
|
|
25
|
-
|
|
35
|
+
const count = this.pageNumber * this.pageSize;
|
|
36
|
+
if (this.totalResultCount === undefined) {
|
|
37
|
+
if (this.hasNextPage) {
|
|
38
|
+
return `${count}+`;
|
|
39
|
+
}
|
|
40
|
+
return `${count - this.pageSize + this._dataset.sortedRecordIds.length}`;
|
|
41
|
+
}
|
|
42
|
+
if (count > this.totalResultCount && this.totalResultCount !== -1) {
|
|
43
|
+
return this.totalResultCount.toString();
|
|
26
44
|
}
|
|
27
|
-
return
|
|
45
|
+
return count.toString();
|
|
28
46
|
}
|
|
29
47
|
get isEnabled() {
|
|
30
48
|
return this._grid.parameters.EnablePagination?.raw !== false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paging.js","sources":["../../../../../src/components/Grid/paging/model/Paging.ts"],"sourcesContent":["import { GridDependency } from \"../../core/model/GridDependency\";\n\nexport class Paging extends GridDependency {\n\n public get pageNumber() {\n return this._dataset.paging.pageNumber;\n }\n public get pageSize() {\n return this._dataset.paging.pageSize;\n }\n public get totalResultCount() {\n return this._dataset.paging.totalResultCount;\n }\n public get hasPreviousPage() {\n return this._dataset.paging.hasPreviousPage;\n }\n public get hasNextPage() {\n return this._dataset.paging.hasNextPage;\n }\n public get pageFirstRecordOrder() {\n return (this.pageNumber - 1) * this.pageSize + (this.totalResultCount === 0 ? 0 : 1);\n }\n\n public get pageLastRecordOrder() {\n const
|
|
1
|
+
{"version":3,"file":"Paging.js","sources":["../../../../../src/components/Grid/paging/model/Paging.ts"],"sourcesContent":["import { GridDependency } from \"../../core/model/GridDependency\";\n\nexport class Paging extends GridDependency {\n\n public get pageNumber() {\n return this._dataset.paging.pageNumber;\n }\n public get pageSize() {\n return this._dataset.paging.pageSize;\n }\n public get totalResultCount() {\n return this._dataset.paging.totalResultCount;\n }\n public get hasPreviousPage() {\n return this._dataset.paging.hasPreviousPage;\n }\n public get hasNextPage() {\n return this._dataset.paging.hasNextPage;\n }\n public get pageFirstRecordOrder() {\n if(this._dataset.sortedRecordIds.length === 0) {\n return 0;\n }\n return (this.pageNumber - 1) * this.pageSize + (this.totalResultCount === 0 ? 0 : 1);\n }\n public get formattedTotalResultCount(): string {\n if(this.totalResultCount === undefined) {\n return '';\n }\n if(this.totalResultCount === -1) {\n return '5000+';\n }\n return this.totalResultCount.toString();\n }\n public get pageLastRecordOrder(): string {\n const count = this.pageNumber * this.pageSize;\n if(this.totalResultCount === undefined) {\n if(this.hasNextPage) {\n return `${count}+`;\n }\n return `${count - this.pageSize + this._dataset.sortedRecordIds.length}`\n\n }\n if(count > this.totalResultCount && this.totalResultCount !== -1) {\n return this.totalResultCount.toString();\n } \n return count.toString();\n }\n\n public get isEnabled() {\n return this._grid.parameters.EnablePagination?.raw !== false\n }\n\n public loadNextPage() {\n this.loadExactPage(this.pageNumber + 1)\n }\n public loadPreviousPage() {\n this.loadExactPage(this.pageNumber - 1);\n }\n public loadExactPage(pageNumber: number) {\n this._dataset.paging.loadExactPage(pageNumber);\n }\n public setPageSize(pageSize: number) {\n this._dataset.paging.setPageSize(pageSize);\n this._dataset.refresh();\n //in Power Apps the new page size can sometimes come only after second refresh #smh\n //@ts-ignore - Portal types\n if (!window.TALXIS?.Portal) {\n this._dataset.refresh()\n }\n }\n public reset() {\n this._dataset.paging.reset();\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,17 @@ import { useGridInstance } from '../../core/hooks/useGridInstance.js';
|
|
|
3
3
|
const useSelectionController = () => {
|
|
4
4
|
const grid = useGridInstance();
|
|
5
5
|
const selection = grid.selection;
|
|
6
|
+
const renderDecorator = async (fn) => {
|
|
7
|
+
await fn();
|
|
8
|
+
grid.pcfContext.factory.requestRender();
|
|
9
|
+
};
|
|
6
10
|
return {
|
|
7
11
|
type: selection.type,
|
|
8
12
|
selectedRecordIds: selection.selectedRecordIds,
|
|
9
13
|
allRecordsSelected: selection.allRecordsSelected,
|
|
10
|
-
toggle: (record, state) => selection.toggle(record, state),
|
|
11
|
-
clear: () => selection.clear(),
|
|
12
|
-
selectAll: () => selection.selectAll()
|
|
14
|
+
toggle: (record, state) => renderDecorator(() => selection.toggle(record, state)),
|
|
15
|
+
clear: () => renderDecorator(() => selection.clear()),
|
|
16
|
+
selectAll: () => renderDecorator(() => selection.selectAll()),
|
|
13
17
|
};
|
|
14
18
|
};
|
|
15
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectionController.js","sources":["../../../../../src/components/Grid/selection/controllers/useSelectionController.ts"],"sourcesContent":["import { useGridInstance } from \"../../core/hooks/useGridInstance\";\nimport { IEntityRecord } from \"../../interfaces\";\n\ninterface ISelectionController {\n type: \"multiple\" | \"single\" | undefined;\n selectedRecordIds: string[]
|
|
1
|
+
{"version":3,"file":"useSelectionController.js","sources":["../../../../../src/components/Grid/selection/controllers/useSelectionController.ts"],"sourcesContent":["import { useGridInstance } from \"../../core/hooks/useGridInstance\";\nimport { IEntityRecord } from \"../../interfaces\";\n\ninterface ISelectionController {\n type: \"multiple\" | \"single\" | undefined;\n selectedRecordIds: string[];\n allRecordsSelected: boolean;\n toggle: (record: IEntityRecord, state: boolean) => void;\n clear: () => void;\n selectAll: () => void;\n}\n\nexport const useSelectionController = (): ISelectionController => {\n const grid = useGridInstance();\n const selection = grid.selection;\n\n const renderDecorator = async (fn: () => void | Promise<void>) => {\n await fn();\n grid.pcfContext.factory.requestRender();\n };\n\n return {\n type: selection.type,\n selectedRecordIds: selection.selectedRecordIds,\n allRecordsSelected: selection.allRecordsSelected,\n toggle: (record: IEntityRecord, state: boolean) => renderDecorator(() => selection.toggle(record, state)),\n clear: () => renderDecorator(() => selection.clear()),\n selectAll: () => renderDecorator(() => selection.selectAll()),\n };\n};\n"],"names":[],"mappings":";;AAYO,MAAM,sBAAsB,GAAG,MAA2B;AAC7D,IAAA,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAC/B,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAEjC,IAAA,MAAM,eAAe,GAAG,OAAO,EAA8B,KAAI;QAC7D,MAAM,EAAE,EAAE,CAAC;AACX,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5C,KAAC,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;QAC9C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,MAAM,EAAE,CAAC,MAAqB,EAAE,KAAc,KAAK,eAAe,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzG,QAAA,KAAK,EAAE,MAAM,eAAe,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;AACrD,QAAA,SAAS,EAAE,MAAM,eAAe,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;KAChE,CAAC;AACN;;;;"}
|
|
@@ -3,7 +3,7 @@ import { GridDependency } from "../../core/model/GridDependency";
|
|
|
3
3
|
export declare class Selection extends GridDependency {
|
|
4
4
|
private _selectedRecordIdsSet;
|
|
5
5
|
private debounceTimer;
|
|
6
|
-
toggle(record: ComponentFramework.PropertyHelper.DataSetApi.EntityRecord, newState: boolean, clearExistingSelection?: boolean, disableDebounce?: boolean): void
|
|
6
|
+
toggle(record: ComponentFramework.PropertyHelper.DataSetApi.EntityRecord, newState: boolean, clearExistingSelection?: boolean, disableDebounce?: boolean): Promise<void>;
|
|
7
7
|
get selectedRecordIds(): string[];
|
|
8
8
|
get allRecordsSelected(): boolean;
|
|
9
9
|
get type(): "single" | "multiple" | undefined;
|
|
@@ -6,7 +6,7 @@ class Selection extends GridDependency {
|
|
|
6
6
|
this._selectedRecordIdsSet = new Set();
|
|
7
7
|
this.debounceTimer = null;
|
|
8
8
|
}
|
|
9
|
-
toggle(record, newState, clearExistingSelection, disableDebounce) {
|
|
9
|
+
async toggle(record, newState, clearExistingSelection, disableDebounce) {
|
|
10
10
|
const recordId = record.getRecordId();
|
|
11
11
|
if (!this.debounceTimer) {
|
|
12
12
|
this._selectedRecordIdsSet = new Set(this.selectedRecordIds);
|
|
@@ -30,9 +30,12 @@ class Selection extends GridDependency {
|
|
|
30
30
|
this._setSelectedRecords();
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
this.
|
|
35
|
-
|
|
33
|
+
return new Promise((resolve) => {
|
|
34
|
+
this.debounceTimer = setTimeout(() => {
|
|
35
|
+
this._setSelectedRecords();
|
|
36
|
+
resolve();
|
|
37
|
+
}, 0);
|
|
38
|
+
});
|
|
36
39
|
}
|
|
37
40
|
get selectedRecordIds() {
|
|
38
41
|
return this._dataset.getSelectedRecordIds();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selection.js","sources":["../../../../../src/components/Grid/selection/model/Selection.ts"],"sourcesContent":["import { GridDependency } from \"../../core/model/GridDependency\";\n\nexport class Selection extends GridDependency {\n private _selectedRecordIdsSet: Set<string> = new Set<string>();\n private debounceTimer: ReturnType<typeof setTimeout> | null = null;\n\n public toggle(record: ComponentFramework.PropertyHelper.DataSetApi.EntityRecord, newState: boolean, clearExistingSelection?: boolean, disableDebounce?: boolean) {\n const recordId = record.getRecordId();\n if(!this.debounceTimer) {\n this._selectedRecordIdsSet = new Set(this.selectedRecordIds);\n }\n if (clearExistingSelection) {\n this._selectedRecordIdsSet.clear();\n }\n if (newState === false) {\n this._selectedRecordIdsSet.delete(recordId);\n }\n else {\n if (this.type === 'single') {\n this._selectedRecordIdsSet.clear();\n }\n this._selectedRecordIdsSet.add(recordId);\n }\n\n if (this.debounceTimer !== null) {\n clearTimeout(this.debounceTimer);\n }\n if(disableDebounce) {\n this._setSelectedRecords();\n return;\n }\n this.debounceTimer = setTimeout(() => {\n
|
|
1
|
+
{"version":3,"file":"Selection.js","sources":["../../../../../src/components/Grid/selection/model/Selection.ts"],"sourcesContent":["import { GridDependency } from \"../../core/model/GridDependency\";\n\nexport class Selection extends GridDependency {\n private _selectedRecordIdsSet: Set<string> = new Set<string>();\n private debounceTimer: ReturnType<typeof setTimeout> | null = null;\n\n public async toggle(record: ComponentFramework.PropertyHelper.DataSetApi.EntityRecord, newState: boolean, clearExistingSelection?: boolean, disableDebounce?: boolean): Promise<void> {\n const recordId = record.getRecordId();\n if(!this.debounceTimer) {\n this._selectedRecordIdsSet = new Set(this.selectedRecordIds);\n }\n if (clearExistingSelection) {\n this._selectedRecordIdsSet.clear();\n }\n if (newState === false) {\n this._selectedRecordIdsSet.delete(recordId);\n }\n else {\n if (this.type === 'single') {\n this._selectedRecordIdsSet.clear();\n }\n this._selectedRecordIdsSet.add(recordId);\n }\n\n if (this.debounceTimer !== null) {\n clearTimeout(this.debounceTimer);\n }\n if(disableDebounce) {\n this._setSelectedRecords();\n return;\n }\n return new Promise((resolve) => {\n this.debounceTimer = setTimeout(() => {\n this._setSelectedRecords();\n resolve();\n }, 0);\n })\n }\n public get selectedRecordIds() {\n return this._dataset.getSelectedRecordIds();\n }\n public get allRecordsSelected() {\n return this.selectedRecordIds.length === this._dataset.sortedRecordIds.length;\n }\n public get type() {\n switch(this._grid.props.parameters.SelectableRows?.raw) {\n case undefined:\n case null: {\n return 'multiple'\n }\n case 'none': {\n return undefined;\n }\n default: return this._grid.props.parameters.SelectableRows?.raw;\n }\n }\n\n public clear() {\n this._grid.dataset.setSelectedRecordIds([]);\n }\n public selectAll() {\n this._grid.dataset.setSelectedRecordIds(this._dataset.sortedRecordIds)\n }\n private _setSelectedRecords() {\n this._grid.dataset.setSelectedRecordIds([...this._selectedRecordIdsSet.values()]);\n this.debounceTimer = null; // Reset debounce timer after execution\n this._selectedRecordIdsSet = new Set();\n }\n}"],"names":[],"mappings":";;AAEM,MAAO,SAAU,SAAQ,cAAc,CAAA;AAA7C,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,qBAAqB,GAAgB,IAAI,GAAG,EAAU,CAAC;QACvD,IAAa,CAAA,aAAA,GAAyC,IAAI,CAAC;KAgEtE;IA9DU,MAAM,MAAM,CAAC,MAAiE,EAAE,QAAiB,EAAE,sBAAgC,EAAE,eAAyB,EAAA;AACjK,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AACtC,QAAA,IAAG,CAAC,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAChE,SAAA;AACD,QAAA,IAAI,sBAAsB,EAAE;AACxB,YAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;AACtC,SAAA;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/C,SAAA;AACI,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACxB,gBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;AACtC,aAAA;AACD,YAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5C,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC7B,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,SAAA;AACD,QAAA,IAAG,eAAe,EAAE;YAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO;AACV,SAAA;AACD,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3B,YAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;gBACjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,gBAAA,OAAO,EAAE,CAAC;aACb,EAAE,CAAC,CAAC,CAAC;AACV,SAAC,CAAC,CAAA;KACL;AACD,IAAA,IAAW,iBAAiB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAC/C;AACD,IAAA,IAAW,kBAAkB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;KACjF;AACD,IAAA,IAAW,IAAI,GAAA;QACX,QAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG;AAClD,YAAA,KAAK,SAAS,CAAC;YACf,KAAK,IAAI,EAAE;AACP,gBAAA,OAAO,UAAU,CAAA;AACpB,aAAA;YACD,KAAK,MAAM,EAAE;AACT,gBAAA,OAAO,SAAS,CAAC;AACpB,aAAA;AACD,YAAA,SAAS,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;AACnE,SAAA;KACJ;IAEM,KAAK,GAAA;QACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;KAC/C;IACM,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;KACzE;IACO,mBAAmB,GAAA;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAE,CAAC;KAC1C;AACJ;;;;"}
|
|
@@ -6,9 +6,8 @@ class Sorting extends GridDependency {
|
|
|
6
6
|
value: this._dataset.sorting.find(x => x.name === column.key),
|
|
7
7
|
sort: (direction) => {
|
|
8
8
|
const sortMap = new Map(this._dataset.sorting.map(x => [x.name, x]));
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
if (window.TALXIS?.Portal) {
|
|
9
|
+
//TODO: have explicit parameter to always do multisort?
|
|
10
|
+
if (this._grid.keyHoldListener.getHeldKey() !== 'Shift') {
|
|
12
11
|
sortMap.clear();
|
|
13
12
|
}
|
|
14
13
|
sortMap.set(column.key, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sorting.js","sources":["../../../../src/components/Grid/sorting/Sorting.ts"],"sourcesContent":["import { IGridColumn } from \"../core/interfaces/IGridColumn\";\nimport { GridDependency } from \"../core/model/GridDependency\";\nexport class Sorting extends GridDependency {\n public get(column: IGridColumn) {\n return {\n value: this._dataset.sorting.find(x => x.name === column.key),\n sort: (direction: ComponentFramework.PropertyHelper.DataSetApi.Types.SortDirection) => {\n const sortMap: Map<string, ComponentFramework.PropertyHelper.DataSetApi.SortStatus> = new Map(this._dataset.sorting.map(x => [x.name, x]));\n //
|
|
1
|
+
{"version":3,"file":"Sorting.js","sources":["../../../../src/components/Grid/sorting/Sorting.ts"],"sourcesContent":["import { IGridColumn } from \"../core/interfaces/IGridColumn\";\nimport { GridDependency } from \"../core/model/GridDependency\";\nexport class Sorting extends GridDependency {\n public get(column: IGridColumn) {\n return {\n value: this._dataset.sorting.find(x => x.name === column.key),\n sort: (direction: ComponentFramework.PropertyHelper.DataSetApi.Types.SortDirection) => {\n const sortMap: Map<string, ComponentFramework.PropertyHelper.DataSetApi.SortStatus> = new Map(this._dataset.sorting.map(x => [x.name, x]));\n //TODO: have explicit parameter to always do multisort?\n if(this._grid.keyHoldListener.getHeldKey() !== 'Shift') {\n sortMap.clear();\n }\n sortMap.set(column.key, {\n name: column.key,\n sortDirection: direction\n })\n //Power Apps only allows setting of sorting like this - https://stackoverflow.com/questions/1232040/how-do-i-empty-an-array-in-javascript\n //this is so stupid\n while (this._dataset.sorting.length) {\n this._dataset.sorting.pop()\n }\n for (const sort of sortMap.values()) {\n this._dataset.sorting.push(sort);\n }\n this._dataset.refresh();\n }\n }\n }\n}"],"names":[],"mappings":";;AAEM,MAAO,OAAQ,SAAQ,cAAc,CAAA;AAChC,IAAA,GAAG,CAAC,MAAmB,EAAA;QAC1B,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC;AAC7D,YAAA,IAAI,EAAE,CAAC,SAA2E,KAAI;gBAClF,MAAM,OAAO,GAAyE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE3I,IAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,OAAO,EAAE;oBACpD,OAAO,CAAC,KAAK,EAAE,CAAC;AACnB,iBAAA;AACD,gBAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;oBACpB,IAAI,EAAE,MAAM,CAAC,GAAG;AAChB,oBAAA,aAAa,EAAE,SAAS;AAC3B,iBAAA,CAAC,CAAA;;;AAGF,gBAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;AACjC,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AAC9B,iBAAA;AACD,gBAAA,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE;oBACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,iBAAA;AACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC3B;SACJ,CAAA;KACJ;AACJ;;;;"}
|
|
@@ -61,7 +61,8 @@ const gridTranslations = {
|
|
|
61
61
|
"paging-page": { 1029: "Strana", 1033: "Page" },
|
|
62
62
|
"paging-nextpage": { 1029: "Další", 1033: "Next" },
|
|
63
63
|
"paging-lastpage": { 1029: "Poslední strana", 1033: "Last page" },
|
|
64
|
-
"paging-pages": { 1029: "{{start}} - {{end}}
|
|
64
|
+
"paging-pages": { 1029: "{{start}} - {{end}}", 1033: "{{start}} - {{end}}" },
|
|
65
|
+
"paging-pages-totalcount": { 1029: "z {{recordcount}}", 1033: "of {{recordcount}}" },
|
|
65
66
|
"norecordsfound": { 1029: 'Nenašli jsme nic, co by se zde dalo zobrazit.', 1033: 'No records found.' },
|
|
66
67
|
"saving-changenotification": { 1029: "Počet upravených záznamů: <b>{{numOfChanges}}</b>. Klikněte <u>zde</u> pro jejich zobrazení.", 1033: "Number of updated records: <b>{{numOfChanges}}</b>. Click <u>here</u> to review." },
|
|
67
68
|
"saving-save": { 1029: "Uložit", 1033: "Save" },
|
|
@@ -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 \"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 \"paging-of\": { 1029: \"z\", 1033: \"of\" },\n \"paging-firstpage\": { 1029: \"První strana\", 1033: \"First page\" },\n \"paging-previouspage\": { 1029: \"Předchozí\", 1033: \"Previous\" },\n \"paging-page\": { 1029: \"Strana\", 1033: \"Page\" },\n \"paging-nextpage\": { 1029: \"Další\", 1033: \"Next\" },\n \"paging-lastpage\": { 1029: \"Poslední strana\", 1033: \"Last page\" },\n \"paging-pages\": {1029: \"{{start}} - {{end}} z {{recordcount}}\", 1033: \"{{start}} - {{end}} of {{recordcount}}\"},\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>. Klikněte <u>zde</u> pro jejich zobrazení.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>. 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 \"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};\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 \"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 \"paging-of\": { 1029: \"z\", 1033: \"of\" },\n \"paging-firstpage\": { 1029: \"První strana\", 1033: \"First page\" },\n \"paging-previouspage\": { 1029: \"Předchozí\", 1033: \"Previous\" },\n \"paging-page\": { 1029: \"Strana\", 1033: \"Page\" },\n \"paging-nextpage\": { 1029: \"Další\", 1033: \"Next\" },\n \"paging-lastpage\": { 1029: \"Poslední strana\", 1033: \"Last page\" },\n \"paging-pages\": {1029: \"{{start}} - {{end}}\", 1033: \"{{start}} - {{end}}\"},\n \"paging-pages-totalcount\": {1029: \"z {{recordcount}}\", 1033: \"of {{recordcount}}\"},\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>. Klikněte <u>zde</u> pro jejich zobrazení.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>. 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 \"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};\n \n"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -279,6 +279,10 @@ declare const gridTranslations: {
|
|
|
279
279
|
1029: string;
|
|
280
280
|
1033: string;
|
|
281
281
|
};
|
|
282
|
+
"paging-pages-totalcount": {
|
|
283
|
+
1029: string;
|
|
284
|
+
1033: string;
|
|
285
|
+
};
|
|
282
286
|
norecordsfound: {
|
|
283
287
|
1029: string;
|
|
284
288
|
1033: string;
|
|
@@ -352,9 +356,9 @@ interface IGridParameters extends IParameters$1 {
|
|
|
352
356
|
EnableSorting?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
353
357
|
EnableNavigation?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
354
358
|
EnableOptionSetColors?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
355
|
-
|
|
359
|
+
Height?: IStringProperty;
|
|
356
360
|
InlineRibbonButtonIds?: IStringProperty;
|
|
357
|
-
SelectableRows?: ComponentFramework.PropertyTypes.EnumProperty<"none" | "single" | "multiple">;
|
|
361
|
+
SelectableRows?: Omit<ComponentFramework.PropertyTypes.EnumProperty<"none" | "single" | "multiple">, 'type'>;
|
|
358
362
|
Grid: IDatasetProperty;
|
|
359
363
|
}
|
|
360
364
|
interface IGridOutputs extends IOutputs$1 {
|
|
@@ -856,10 +860,23 @@ interface ITwoOptionsOutputs extends IOutputs$1 {
|
|
|
856
860
|
|
|
857
861
|
declare const TwoOptions: (props: ITwoOptions) => JSX.Element;
|
|
858
862
|
|
|
859
|
-
declare
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
+
declare const datasetControlTranslations: {
|
|
864
|
+
search: {
|
|
865
|
+
1029: string;
|
|
866
|
+
1033: string;
|
|
867
|
+
};
|
|
868
|
+
records: {
|
|
869
|
+
1029: string;
|
|
870
|
+
1033: string;
|
|
871
|
+
};
|
|
872
|
+
};
|
|
873
|
+
|
|
874
|
+
interface IDatasetControl extends IControl<IGridParameters, IGridOutputs, Partial<ITranslation<typeof datasetControlTranslations & typeof gridTranslations>>, any & {
|
|
875
|
+
onDatasetInit: () => void;
|
|
876
|
+
}> {
|
|
877
|
+
EnableQuickFind?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
863
878
|
}
|
|
864
879
|
|
|
865
|
-
|
|
880
|
+
declare const DatasetControl: (props: IDatasetControl) => JSX.Element;
|
|
881
|
+
|
|
882
|
+
export { DatasetControl, DateTime, Decimal, Duration, Grid, IControl, IControlController, IDatasetControl, IDatasetProperty, IDateTime, IDateTimeOutputs, IDateTimeParameters, IDateTimeProperty, IDecimal, IDecimalNumberProperty, IDecimalOutputs, IDecimalParameters, IDefaultTranslations, IDuration, IDurationOutputs, IDurationParameters, IEntity, IEntityColumn, IEntityRecord, IGrid, IGridOutputs, IGridParameters, ILayout, ILookup, ILookupOutputs, ILookupParameters, ILookupProperty, IMetadata, IMultiSelectOptionSet, IMultiSelectOptionSetOutputs, IMultiSelectOptionSetParameters, IMultiSelectOptionSetProperty, IOptionSet, IOptionSetOutputs, IOptionSetParameters, IOptionSetProperty, IOutputs, IParameters$1 as IParameters, IProperty, IStringProperty, ITextField, ITextFieldOutputs, ITextFieldParameters, ITranslation, ITranslations, ITwoOptions, ITwoOptionsOutputs, ITwoOptionsParameters, ITwoOptionsProperty, IWholeNumberProperty, Lookup, MultiSelectOptionSet, OptionSet, TextField, TwoOptions, useControl, useControlSizing, useControlTheme, useDateTime, useFocusIn, useInputBasedControl, useLookup, useMouseOver };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { Numeral } from './utils/Numeral.js';
|
|
2
1
|
export { useControl } from './hooks/useControl.js';
|
|
3
2
|
export { useControlSizing } from './hooks/useControlSizing.js';
|
|
4
3
|
export { useFocusIn } from './hooks/useFocusIn.js';
|
|
@@ -16,4 +15,5 @@ export { MultiSelectOptionSet } from './components/MultiSelectOptionSet/MultiSel
|
|
|
16
15
|
export { OptionSet } from './components/OptionSet/OptionSet.js';
|
|
17
16
|
export { TextField } from './components/TextField/TextField.js';
|
|
18
17
|
export { TwoOptions } from './components/TwoOptions/TwoOptions.js';
|
|
18
|
+
export { DatasetControl } from './components/DatasetControl/DatasetControl.js';
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|