@talxis/base-controls 1.2410.5 → 1.2411.1
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/dist/components/DatasetControl/DatasetControl.js +5 -3
- package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
- package/dist/components/Grid/Grid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/AgGrid.d.ts +2 -0
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +141 -27
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js +3 -4
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +19 -7
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.d.ts +3 -3
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js +32 -96
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/Notifications.js +23 -22
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/Notifications.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js +41 -36
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.d.ts +5 -0
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.js +21 -3
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.js.map +1 -1
- package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +2 -0
- package/dist/components/Grid/core/components/ColumnHeader/styles.js +2 -0
- package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +1 -1
- package/dist/components/Grid/core/components/Component/Component.d.ts +2 -2
- package/dist/components/Grid/core/components/Component/Component.js.map +1 -1
- package/dist/components/Grid/core/components/Component/model/Component.d.ts +1 -0
- package/dist/components/Grid/core/components/Component/model/Component.js +57 -20
- package/dist/components/Grid/core/components/Component/model/Component.js.map +1 -1
- package/dist/components/Grid/core/components/Save/Save.js +33 -20
- package/dist/components/Grid/core/components/Save/Save.js.map +1 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +5 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +46 -15
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +1 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +10 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +187 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +39 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +45 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +1 -0
- package/dist/components/Grid/core/components/Save/styles.d.ts +2 -4
- package/dist/components/Grid/core/components/Save/styles.js +2 -4
- package/dist/components/Grid/core/components/Save/styles.js.map +1 -1
- package/dist/components/Grid/core/controllers/useGridController.js +2 -2
- package/dist/components/Grid/core/controllers/useGridController.js.map +1 -1
- package/dist/components/Grid/core/model/Grid.d.ts +1 -2
- package/dist/components/Grid/core/model/Grid.js +11 -9
- package/dist/components/Grid/core/model/Grid.js.map +1 -1
- package/dist/components/Grid/core/services/KeyListener.d.ts +2 -0
- package/dist/components/Grid/core/services/KeyListener.js +6 -0
- package/dist/components/Grid/core/services/KeyListener.js.map +1 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +0 -2
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +1 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +45 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +1 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +4 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +1 -1
- package/dist/components/Grid/filtering/model/Condition.js +19 -4
- package/dist/components/Grid/filtering/model/Condition.js.map +1 -1
- package/dist/components/Grid/interfaces.d.ts +4 -1
- package/dist/components/Grid/paging/components/Paging/Paging.js +6 -5
- package/dist/components/Grid/paging/components/Paging/Paging.js.map +1 -1
- package/dist/components/Grid/translations.d.ts +36 -0
- package/dist/components/Grid/translations.js +11 -2
- package/dist/components/Grid/translations.js.map +1 -1
- package/dist/components/TextField/TextField.js +14 -5
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/hooks/useControl.js +2 -2
- package/dist/hooks/useControl.js.map +1 -1
- package/dist/hooks/useRerender.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/package.json +4 -4
- package/dist/components/DatasetControl/hooks/useRerender.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/styles.d.ts +0 -44
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/styles.js +0 -82
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/styles.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.d.ts +0 -20
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.js +0 -173
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.d.ts +0 -7
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.js +0 -144
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.d.ts +0 -48
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.js +0 -54
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Save/hooks/useSave.d.ts +0 -12
- package/dist/components/Grid/core/components/Save/hooks/useSave.js +0 -45
- package/dist/components/Grid/core/components/Save/hooks/useSave.js.map +0 -1
- package/dist/components/Grid/core/constants.d.ts +0 -1
- package/dist/components/Grid/core/constants.js +0 -4
- package/dist/components/Grid/core/constants.js.map +0 -1
- package/dist/components/Grid/core/hooks/useRerender.d.ts +0 -1
- package/dist/components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.d.ts +0 -14
- package/dist/components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.js +0 -25
- package/dist/components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.js.map +0 -1
- package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.d.ts +0 -30
- package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js +0 -186
- package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js.map +0 -1
- package/dist/components/Grid/validation/controllers/useRecordValidationController.d.ts +0 -8
- package/dist/components/Grid/validation/controllers/useRecordValidationController.js +0 -25
- package/dist/components/Grid/validation/controllers/useRecordValidationController.js.map +0 -1
- package/dist/components/Grid/validation/model/ColumnValidation.d.ts +0 -11
- package/dist/components/Grid/validation/model/ColumnValidation.js +0 -90
- package/dist/components/Grid/validation/model/ColumnValidation.js.map +0 -1
- /package/dist/{components/DatasetControl/hooks → hooks}/useRerender.d.ts +0 -0
- /package/dist/{components/DatasetControl/hooks → hooks}/useRerender.js +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export declare class KeyHoldListener {
|
|
2
2
|
private _currentlyHeldKey;
|
|
3
|
+
private _keyDownHandlers;
|
|
3
4
|
constructor();
|
|
4
5
|
getHeldKey(): string | null;
|
|
6
|
+
addOnKeyDownHandler(handler: (e: KeyboardEvent) => void): void;
|
|
5
7
|
private _onKeyDown;
|
|
6
8
|
private _onKeyUp;
|
|
7
9
|
destroy(): void;
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
class KeyHoldListener {
|
|
2
2
|
constructor() {
|
|
3
3
|
this._currentlyHeldKey = null;
|
|
4
|
+
this._keyDownHandlers = new Set();
|
|
4
5
|
window.addEventListener('keydown', this._onKeyDown.bind(this));
|
|
5
6
|
window.addEventListener('keyup', this._onKeyUp.bind(this));
|
|
6
7
|
}
|
|
7
8
|
getHeldKey() {
|
|
8
9
|
return this._currentlyHeldKey;
|
|
9
10
|
}
|
|
11
|
+
addOnKeyDownHandler(handler) {
|
|
12
|
+
this._keyDownHandlers.add(handler);
|
|
13
|
+
}
|
|
10
14
|
_onKeyDown(e) {
|
|
11
15
|
this._currentlyHeldKey = e.key;
|
|
16
|
+
[...this._keyDownHandlers.values()].map(handler => handler(e));
|
|
12
17
|
}
|
|
13
18
|
_onKeyUp(e) {
|
|
14
19
|
this._currentlyHeldKey = null;
|
|
15
20
|
}
|
|
16
21
|
destroy() {
|
|
22
|
+
this._keyDownHandlers.clear();
|
|
17
23
|
window.removeEventListener('keydown', this._onKeyDown);
|
|
18
24
|
}
|
|
19
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyListener.js","sources":["../../../../../src/components/Grid/core/services/KeyListener.ts"],"sourcesContent":["export class KeyHoldListener {\n private _currentlyHeldKey: string | null = null;\n constructor() {\n window.addEventListener('keydown', this._onKeyDown.bind(this));\n window.addEventListener('keyup', this._onKeyUp.bind(this));\n }\n public getHeldKey(): string | null {\n return this._currentlyHeldKey;\n }\n private _onKeyDown(e: KeyboardEvent) {\n this._currentlyHeldKey = e.key;\n }\n private _onKeyUp(e: KeyboardEvent) {\n this._currentlyHeldKey = null;\n }\n destroy() {\n window.removeEventListener('keydown', this._onKeyDown);\n }\n}"],"names":[],"mappings":"MAAa,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"KeyListener.js","sources":["../../../../../src/components/Grid/core/services/KeyListener.ts"],"sourcesContent":["export class KeyHoldListener {\n private _currentlyHeldKey: string | null = null;\n private _keyDownHandlers: Set<(e: KeyboardEvent) => void> = new Set();\n constructor() {\n window.addEventListener('keydown', this._onKeyDown.bind(this));\n window.addEventListener('keyup', this._onKeyUp.bind(this));\n }\n public getHeldKey(): string | null {\n return this._currentlyHeldKey;\n }\n public addOnKeyDownHandler(handler: (e: KeyboardEvent) => void) {\n this._keyDownHandlers.add(handler);\n }\n private _onKeyDown(e: KeyboardEvent) {\n this._currentlyHeldKey = e.key;\n [...this._keyDownHandlers.values()].map(handler => handler(e));\n }\n private _onKeyUp(e: KeyboardEvent) {\n this._currentlyHeldKey = null;\n }\n destroy() {\n this._keyDownHandlers.clear();\n window.removeEventListener('keydown', this._onKeyDown);\n }\n}"],"names":[],"mappings":"MAAa,eAAe,CAAA;AAGxB,IAAA,WAAA,GAAA;QAFQ,IAAiB,CAAA,iBAAA,GAAkB,IAAI,CAAC;AACxC,QAAA,IAAA,CAAA,gBAAgB,GAAoC,IAAI,GAAG,EAAE,CAAC;AAElE,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,QAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9D;IACM,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;AACM,IAAA,mBAAmB,CAAC,OAAmC,EAAA;AAC1D,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACtC;AACO,IAAA,UAAU,CAAC,CAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC;QAC/B,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAClE;AACO,IAAA,QAAQ,CAAC,CAAgB,EAAA;AAC7B,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;KACjC;IACD,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAC1D;AACJ;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { ComboBox } from '@talxis/react-components';
|
|
3
3
|
import { DataType } from '../../../../../core/enums/DataType.js';
|
|
4
|
-
import { useTheme } from '@fluentui/react';
|
|
5
4
|
import { FilteringUtils } from '../../../../utils/FilteringUtilts.js';
|
|
6
5
|
import { useGridInstance } from '../../../../../core/hooks/useGridInstance.js';
|
|
7
6
|
import { useColumnFilterConditionController } from '../../../../controller/useColumnFilterConditionController.js';
|
|
@@ -11,7 +10,6 @@ const ConditionOperator = (props) => {
|
|
|
11
10
|
const operatorUtils = FilteringUtils.condition().operator();
|
|
12
11
|
const grid = useGridInstance();
|
|
13
12
|
const condition = useColumnFilterConditionController(column);
|
|
14
|
-
useTheme();
|
|
15
13
|
//TODO: add missing text operator (begins with, ends with)
|
|
16
14
|
const getOptions = () => {
|
|
17
15
|
let operators = operatorUtils.textFieldOperators;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionOperator.js","sources":["../../../../../../../../src/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.tsx"],"sourcesContent":["import { ComboBox } from \"@talxis/react-components\";\nimport { DataType } from '../../../../../core/enums/DataType';\nimport { IComboBoxOption, useTheme } from '@fluentui/react';\nimport { FilteringUtils } from '../../../../utils/FilteringUtilts';\nimport { useGridInstance } from '../../../../../core/hooks/useGridInstance';\nimport { useColumnFilterConditionController } from '../../../../controller/useColumnFilterConditionController';\nimport { IGridColumn } from '../../../../../core/interfaces/IGridColumn';\nimport { DatasetConditionOperator } from '../../../../../core/enums/ConditionOperator';\nimport React from 'react';\nimport { ITheme } from \"../../../../../../../interfaces/theme\";\n\ninterface IConditionOperator {\n column: IGridColumn;\n}\nexport const ConditionOperator = (props: IConditionOperator) => {\n const { column } = { ...props };\n const operatorUtils = FilteringUtils.condition().operator();\n const grid = useGridInstance();\n const condition = useColumnFilterConditionController(column);\n
|
|
1
|
+
{"version":3,"file":"ConditionOperator.js","sources":["../../../../../../../../src/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.tsx"],"sourcesContent":["import { ComboBox } from \"@talxis/react-components\";\nimport { DataType } from '../../../../../core/enums/DataType';\nimport { IComboBoxOption, useTheme } from '@fluentui/react';\nimport { FilteringUtils } from '../../../../utils/FilteringUtilts';\nimport { useGridInstance } from '../../../../../core/hooks/useGridInstance';\nimport { useColumnFilterConditionController } from '../../../../controller/useColumnFilterConditionController';\nimport { IGridColumn } from '../../../../../core/interfaces/IGridColumn';\nimport { DatasetConditionOperator } from '../../../../../core/enums/ConditionOperator';\nimport React from 'react';\nimport { ITheme } from \"../../../../../../../interfaces/theme\";\n\ninterface IConditionOperator {\n column: IGridColumn;\n}\nexport const ConditionOperator = (props: IConditionOperator) => {\n const { column } = { ...props };\n const operatorUtils = FilteringUtils.condition().operator();\n const grid = useGridInstance();\n const condition = useColumnFilterConditionController(column);\n\n //TODO: add missing text operator (begins with, ends with)\n const getOptions = (): IComboBoxOption[] => {\n let operators = operatorUtils.textFieldOperators;\n switch (column.dataType) {\n case DataType.WHOLE_NONE:\n case DataType.DECIMAL:\n case DataType.FP:\n case DataType.WHOLE_DURATION:\n case DataType.CURRENCY:\n operators = operatorUtils.numberOperators;\n break;\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY:\n operators = operatorUtils.dateOperators;\n break;\n case DataType.MULTI_SELECT_OPTIONSET:\n operators = operatorUtils.multipleOptionSetOperators;\n break;\n case DataType.FILE:\n case DataType.IMAGE: {\n operators = operatorUtils.fileOperators;\n }\n }\n return operators.map(operator => {\n return {\n key: operator.type,\n text: grid.labels[operator.key]()\n };\n });\n };\n if(!condition) {\n return <></>\n }\n return <ComboBox\n {...props}\n selectedKey={condition.operator.get()}\n shouldRestoreFocus={false}\n options={getOptions()}\n useComboBoxAsMenuWidth\n styles={{\n callout: {\n maxHeight: '300px !important'\n }\n }}\n onChange={(e, option) => {\n condition.operator.set(option!.key as DatasetConditionOperator)\n }} />;\n}"],"names":["_jsx"],"mappings":";;;;;;;AAca,MAAA,iBAAiB,GAAG,CAAC,KAAyB,KAAI;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAChC,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC5D,IAAA,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAC/B,IAAA,MAAM,SAAS,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;;IAG7D,MAAM,UAAU,GAAG,MAAwB;AACvC,QAAA,IAAI,SAAS,GAAG,aAAa,CAAC,kBAAkB,CAAC;QACjD,QAAQ,MAAM,CAAC,QAAQ;YACnB,KAAK,QAAQ,CAAC,UAAU,CAAC;YACzB,KAAK,QAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,QAAQ,CAAC,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,cAAc,CAAC;YAC7B,KAAK,QAAQ,CAAC,QAAQ;AAClB,gBAAA,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC;gBAC1C,MAAM;YACV,KAAK,QAAQ,CAAC,2BAA2B,CAAC;YAC1C,KAAK,QAAQ,CAAC,uBAAuB;AACjC,gBAAA,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC;gBACxC,MAAM;YACV,KAAK,QAAQ,CAAC,sBAAsB;AAChC,gBAAA,SAAS,GAAG,aAAa,CAAC,0BAA0B,CAAC;gBACrD,MAAM;YACV,KAAK,QAAQ,CAAC,IAAI,CAAC;AACnB,YAAA,KAAK,QAAQ,CAAC,KAAK,EAAE;AACjB,gBAAA,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC;AAC3C,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAG;YAC5B,OAAO;gBACH,GAAG,EAAE,QAAQ,CAAC,IAAI;gBAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;aACpC,CAAC;AACN,SAAC,CAAC,CAAC;AACP,KAAC,CAAC;IACF,IAAG,CAAC,SAAS,EAAE;AACX,QAAA,OAAOA,iBAAK,CAAA;AACf,KAAA;IACD,OAAOA,GAAA,CAAC,QAAQ,EAAA,EAAA,GACR,KAAK,EACT,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,EACrC,kBAAkB,EAAE,KAAK,EACzB,OAAO,EAAE,UAAU,EAAE,EACrB,sBAAsB,EACtB,IAAA,EAAA,MAAM,EAAE;AACJ,YAAA,OAAO,EAAE;AACL,gBAAA,SAAS,EAAE,kBAAkB;AAChC,aAAA;AACJ,SAAA,EACD,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAI;YACpB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAO,CAAC,GAA+B,CAAC,CAAA;AACnE,SAAC,GAAI,CAAC;AACd;;;;"}
|
|
@@ -3,6 +3,8 @@ import { useRef, useMemo, useEffect } from 'react';
|
|
|
3
3
|
import { Component } from '../../../../../core/components/Component/Component.js';
|
|
4
4
|
import { useColumnFilterConditionController } from '../../../../controller/useColumnFilterConditionController.js';
|
|
5
5
|
import { ConditionComponentValue } from './model/ConditionComponentValue.js';
|
|
6
|
+
import { MemoryDataProvider, DataTypes } from '@talxis/client-libraries';
|
|
7
|
+
import { useRerender } from '../../../../../../../hooks/useRerender.js';
|
|
6
8
|
|
|
7
9
|
const ConditionValue = (props) => {
|
|
8
10
|
const condition = useColumnFilterConditionController(props.column);
|
|
@@ -14,16 +16,58 @@ const ConditionValue = (props) => {
|
|
|
14
16
|
const InternalConditionValue = (controller) => {
|
|
15
17
|
const componentContainerRef = useRef(null);
|
|
16
18
|
const controllerRef = useRef(controller);
|
|
19
|
+
const firstRenderRef = useRef(true);
|
|
17
20
|
controllerRef.current = controller;
|
|
18
21
|
const conditionComponentValue = useMemo(() => new ConditionComponentValue(controllerRef), []);
|
|
19
22
|
const column = conditionComponentValue.column;
|
|
23
|
+
const rerender = useRerender();
|
|
24
|
+
const record = useMemo(() => {
|
|
25
|
+
const memoryProvider = new MemoryDataProvider([
|
|
26
|
+
{
|
|
27
|
+
[column.name]: conditionComponentValue.get() ?? undefined,
|
|
28
|
+
id: "id",
|
|
29
|
+
},
|
|
30
|
+
], [
|
|
31
|
+
{
|
|
32
|
+
...column,
|
|
33
|
+
metadata: { ...column.metadata, RequiredLevel: 0 },
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "id",
|
|
37
|
+
displayName: "",
|
|
38
|
+
dataType: DataTypes.SingleLineText,
|
|
39
|
+
alias: "id",
|
|
40
|
+
order: 0,
|
|
41
|
+
visualSizeFactor: 0,
|
|
42
|
+
},
|
|
43
|
+
], {
|
|
44
|
+
entityMetadata: {
|
|
45
|
+
PrimaryIdAttribute: "id",
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const record = memoryProvider.refresh()[0];
|
|
49
|
+
return record;
|
|
50
|
+
}, []);
|
|
51
|
+
record.setValue(column.name, conditionComponentValue.get());
|
|
20
52
|
useEffect(() => {
|
|
21
53
|
if (conditionComponentValue.get() === null) {
|
|
22
54
|
const input = componentContainerRef.current?.querySelector('input');
|
|
23
55
|
input?.focus();
|
|
24
56
|
}
|
|
57
|
+
if (!firstRenderRef.current) {
|
|
58
|
+
record.expressions?.setRequiredLevelExpression(column.name, () => 'required');
|
|
59
|
+
}
|
|
60
|
+
if (firstRenderRef.current) {
|
|
61
|
+
firstRenderRef.current = false;
|
|
62
|
+
}
|
|
25
63
|
}, [conditionComponentValue.get()]);
|
|
26
|
-
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (!controller.value.valid) {
|
|
66
|
+
record?.expressions?.setRequiredLevelExpression(column.name, () => 'required');
|
|
67
|
+
rerender();
|
|
68
|
+
}
|
|
69
|
+
}, [controller.value.valid]);
|
|
70
|
+
return (jsx("div", { ref: componentContainerRef, children: jsx(Component, { column: column, record: record, onNotifyOutputChanged: (value) => conditionComponentValue.set(value), onOverrideControlProps: (props) => {
|
|
27
71
|
return {
|
|
28
72
|
...props,
|
|
29
73
|
parameters: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionValue.js","sources":["../../../../../../../../src/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { Component } from \"../../../../../core/components/Component/Component\";\nimport { IGridColumn } from \"../../../../../core/interfaces/IGridColumn\";\nimport { IColumnFilterConditionController, useColumnFilterConditionController } from \"../../../../controller/useColumnFilterConditionController\";\nimport { ConditionComponentValue } from \"./model/ConditionComponentValue\";\nimport
|
|
1
|
+
{"version":3,"file":"ConditionValue.js","sources":["../../../../../../../../src/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { Component } from \"../../../../../core/components/Component/Component\";\nimport { IGridColumn } from \"../../../../../core/interfaces/IGridColumn\";\nimport { IColumnFilterConditionController, useColumnFilterConditionController } from \"../../../../controller/useColumnFilterConditionController\";\nimport { ConditionComponentValue } from \"./model/ConditionComponentValue\";\nimport { DataTypes, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { useRerender } from \"../../../../../../../hooks/useRerender\";\n\ninterface IConditionValue {\n column: IGridColumn;\n}\n\nexport const ConditionValue = (props: IConditionValue) => {\n const condition = useColumnFilterConditionController(props.column);\n if (!condition) {\n return <></>\n }\n return <InternalConditionValue {...condition} />\n}\n\nconst InternalConditionValue = (controller: IColumnFilterConditionController) => {\n const componentContainerRef = useRef<HTMLDivElement>(null);\n const controllerRef = useRef<IColumnFilterConditionController>(controller);\n const firstRenderRef = useRef(true);\n controllerRef.current = controller;\n const conditionComponentValue = useMemo(() => new ConditionComponentValue(controllerRef), []);\n const column = conditionComponentValue.column;\n const rerender = useRerender();\n\n const record = useMemo(() => {\n const memoryProvider = new MemoryDataProvider(\n [\n {\n [column.name]: conditionComponentValue.get() ?? undefined,\n id: \"id\",\n },\n ],\n [\n {\n ...column,\n metadata: { ...(column.metadata as any), RequiredLevel: 0 },\n },\n {\n name: \"id\",\n displayName: \"\",\n dataType: DataTypes.SingleLineText,\n alias: \"id\",\n order: 0,\n visualSizeFactor: 0,\n },\n ],\n {\n entityMetadata: {\n PrimaryIdAttribute: \"id\",\n },\n }\n );\n const record = memoryProvider.refresh()[0];\n return record;\n }, []);\n\n record.setValue(column.name, conditionComponentValue.get())\n\n useEffect(() => {\n if (conditionComponentValue.get() === null) {\n const input = componentContainerRef.current?.querySelector('input')\n input?.focus()\n }\n if (!firstRenderRef.current) {\n record.expressions?.setRequiredLevelExpression(column.name, () => 'required');\n }\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n }\n }, [conditionComponentValue.get()])\n\n useEffect(() => {\n if (!controller.value.valid) {\n record?.expressions?.setRequiredLevelExpression(column.name, () => 'required');\n rerender();\n }\n }, [controller.value.valid])\n\n\n return (\n <div ref={componentContainerRef}>\n <Component\n column={column}\n record={record}\n onNotifyOutputChanged={(value) => conditionComponentValue.set(value)}\n onOverrideControlProps={(props) => {\n return {\n ...props,\n parameters: {\n ...props.parameters,\n MultipleEnabled: {\n raw: true\n },\n IsInlineNewEnabled: {\n raw: false\n },\n ShowErrorMessage: {\n raw: true\n },\n value: {\n ...props.parameters.value,\n getAllViews: async (entityName: string) => {\n return props.parameters.value.getAllViews(entityName, 1);\n }\n }\n }\n }\n }}\n />\n </div>\n )\n}\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -23,7 +23,10 @@ class ConditionComponentValue {
|
|
|
23
23
|
}
|
|
24
24
|
//skip this validation because operators like contains should not fail on regexes
|
|
25
25
|
case DataType.SINGLE_LINE_EMAIL:
|
|
26
|
-
case DataType.SINGLE_LINE_URL:
|
|
26
|
+
case DataType.SINGLE_LINE_URL:
|
|
27
|
+
//use single line text field for filters on multiple
|
|
28
|
+
case DataType.MULTIPLE:
|
|
29
|
+
case DataType.SINGLE_LINE_TEXT_AREA: {
|
|
27
30
|
_column.dataType = DataType.SINGLE_LINE_TEXT;
|
|
28
31
|
break;
|
|
29
32
|
}
|
|
@@ -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 _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(value instanceof Date) {\n\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":";;;;;MAMa,uBAAuB,CAAA;AAKhC,IAAA,WAAA,CAAY,kCAA4F,EAAA;AAFhG,QAAA,IAAA,CAAA,eAAe,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;AAGjD,QAAA,IAAI,CAAC,mCAAmC,GAAG,kCAAkC,CAAC;KACjF;AAED,IAAA,IAAW,MAAM,GAAA;QACb,MAAM,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAC,CAAC;AAClE,QAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;;QAE3B,IAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,KAAK,EAAE;AACnD,YAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AAC7B,SAAA;AACD,QAAA,QAAQ,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,QAAQ;YACzD,KAAK,QAAQ,CAAC,SAAS,CAAC;AACxB,YAAA,KAAK,QAAQ,CAAC,WAAW,EAAE;AACvB,gBAAA,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,CAAC;gBACnD,MAAM;AACT,aAAA;;YAED,KAAK,QAAQ,CAAC,iBAAiB,CAAC;
|
|
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(value instanceof Date) {\n\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":";;;;;MAMa,uBAAuB,CAAA;AAKhC,IAAA,WAAA,CAAY,kCAA4F,EAAA;AAFhG,QAAA,IAAA,CAAA,eAAe,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;AAGjD,QAAA,IAAI,CAAC,mCAAmC,GAAG,kCAAkC,CAAC;KACjF;AAED,IAAA,IAAW,MAAM,GAAA;QACb,MAAM,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAC,CAAC;AAClE,QAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;;QAE3B,IAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,KAAK,EAAE;AACnD,YAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AAC7B,SAAA;AACD,QAAA,QAAQ,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,QAAQ;YACzD,KAAK,QAAQ,CAAC,SAAS,CAAC;AACxB,YAAA,KAAK,QAAQ,CAAC,WAAW,EAAE;AACvB,gBAAA,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,CAAC;gBACnD,MAAM;AACT,aAAA;;YAED,KAAK,QAAQ,CAAC,iBAAiB,CAAC;YAChC,KAAK,QAAQ,CAAC,eAAe,CAAC;;YAE9B,KAAK,QAAQ,CAAC,QAAQ,CAAC;AACvB,YAAA,KAAK,QAAQ,CAAC,qBAAqB,EAAE;AACjC,gBAAA,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBAC7C,MAAM;AACT,aAAA;;AAED,YAAA,KAAK,QAAQ,CAAC,2BAA2B,EAAE;AACvC,gBAAA,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,uBAAuB,CAAC;gBACpD,MAAM;AACT,aAAA;AACJ,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAA;AACpE,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,gBAAgB,EAAE;AACtE,YAAA,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,kBAAkB,EAAE;AACxE,YAAA,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AAChD,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;IACM,GAAG,GAAA;QACN,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;AACxB,YAAA,KAAK,QAAQ,CAAC,sBAAsB,EAAE;AAClC,gBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,oBAAA,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,iBAAA;AACD,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,aAAA;YACD,KAAK,QAAQ,CAAC,YAAY,CAAC;YAC3B,KAAK,QAAQ,CAAC,aAAa,CAAC;AAC5B,YAAA,KAAK,QAAQ,CAAC,eAAe,EAAE;AAC3B,gBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,oBAAA,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,iBAAA;AACD,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,KAAI;oBAC3B,OAAO;AACH,wBAAA,UAAU,EAAE,EAAE;AACd,wBAAA,IAAI,EAAE,EAAE;AACR,wBAAA,EAAE,EAAE,CAAC;qBAC0B,CAAC;AACxC,iBAAC,CAAC,CAAA;AACL,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;AACM,IAAA,GAAG,CAAC,KAAU,EAAA;AACjB,QAAA,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;YACxB,KAAK,QAAQ,CAAC,2BAA2B,CAAC;AAC1C,YAAA,KAAK,QAAQ,CAAC,uBAAuB,EAAE;gBACnC,IAAG,KAAK,YAAY,IAAI,EAAE;;oBAGrB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9C,iBAAA;gBACD,MAAM;AACT,aAAA;AACD,YAAA,KAAK,QAAQ,CAAC,sBAAsB,EAAE;AAClC,gBAAA,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBACxB,KAAK,wBAAwB,CAAC,KAAK,CAAC;AACpC,oBAAA,KAAK,wBAAwB,CAAC,QAAQ,EAAE;AACpC,wBAAA,IAAI,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE;4BACrB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5B,4BAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACvB,OAAO;AACV,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACD,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AACjC,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO;AACV,aAAA;YACD,KAAK,QAAQ,CAAC,YAAY,CAAC;YAC3B,KAAK,QAAQ,CAAC,aAAa,CAAC;AAC5B,YAAA,KAAK,QAAQ,CAAC,eAAe,EAAE;AAC3B,gBAAA,IAAG,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAClB,oBAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAiC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/D,MAAM;AACT,iBAAA;AACD,gBAAA,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxB,aAAA;AAEJ,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC1B;AACD,IAAA,IAAY,gCAAgC,GAAA;AACxC,QAAA,OAAO,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC;KAC3D;AACD,IAAA,IAAY,MAAM,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC;KACtD;AACD,IAAA,IAAY,SAAS,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC;KACzD;AACJ;;;;"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Attribute } from '@talxis/client-libraries';
|
|
1
|
+
import { MemoryDataProvider, Attribute } from '@talxis/client-libraries';
|
|
2
2
|
import { DatasetConditionOperator } from '../../core/enums/ConditionOperator.js';
|
|
3
3
|
import { DataType } from '../../core/enums/DataType.js';
|
|
4
4
|
import { GridDependency } from '../../core/model/GridDependency.js';
|
|
5
|
-
import { ColumnValidation } from '../../validation/model/ColumnValidation.js';
|
|
6
5
|
import { FilteringUtils } from '../utils/FilteringUtilts.js';
|
|
7
6
|
|
|
8
7
|
class Condition extends GridDependency {
|
|
@@ -137,8 +136,24 @@ class Condition extends GridDependency {
|
|
|
137
136
|
if (this._conditionUtils.operator(this.operator.get()).doesNotAllowValue) {
|
|
138
137
|
return true;
|
|
139
138
|
}
|
|
140
|
-
const
|
|
141
|
-
|
|
139
|
+
const memoryProvider = new MemoryDataProvider([{
|
|
140
|
+
id: 'id',
|
|
141
|
+
[this._column.name]: await this.value.get() ?? undefined
|
|
142
|
+
}], [{ ...this._column, metadata: { ...this._column.metadata, RequiredLevel: 0 } }, {
|
|
143
|
+
name: 'id',
|
|
144
|
+
displayName: '',
|
|
145
|
+
dataType: DataType.SINGLE_LINE_TEXT,
|
|
146
|
+
alias: 'id',
|
|
147
|
+
order: 0,
|
|
148
|
+
visualSizeFactor: 0
|
|
149
|
+
}], {
|
|
150
|
+
entityMetadata: {
|
|
151
|
+
PrimaryIdAttribute: 'id'
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
const record = memoryProvider.refresh()[0];
|
|
155
|
+
record.expressions?.setRequiredLevelExpression(this._column.name, () => 'required');
|
|
156
|
+
return !record.getColumnInfo(this._column.name).error;
|
|
142
157
|
}
|
|
143
158
|
};
|
|
144
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Condition.js","sources":["../../../../../src/components/Grid/filtering/model/Condition.ts"],"sourcesContent":["import { Attribute } from \"@talxis/client-libraries\";\nimport { DatasetConditionOperator } from \"../../core/enums/ConditionOperator\";\nimport { DataType } from \"../../core/enums/DataType\";\nimport { IGridColumn } from \"../../core/interfaces/IGridColumn\";\nimport { Grid } from \"../../core/model/Grid\";\nimport { GridDependency } from \"../../core/model/GridDependency\";\nimport { ColumnValidation } from \"../../validation/model/ColumnValidation\";\nimport { FilteringUtils } from \"../utils/FilteringUtilts\";\n\nexport class Condition extends GridDependency {\n private _column: IGridColumn;\n private _isAppliedToDataset: boolean = false;\n private _conditionExpression: ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression = {} as any;\n private _isRemoved?: boolean;\n private _conditionUtils = FilteringUtils.condition();\n private _isValid: boolean = true;\n private _inicializationPromise: Promise<boolean> | undefined;\n private _initialized: boolean = false;\n\n constructor(grid: Grid, column: IGridColumn) {\n super(grid);\n this._column = {...column};\n switch(this._column.dataType) {\n //this will skip regex validation since it is not desirable during filtering (we have contains and stuff)\n case DataType.SINGLE_LINE_EMAIL:\n case DataType.SINGLE_LINE_URL: {\n this._column.dataType = DataType.SINGLE_LINE_TEXT;\n }\n }\n return new Proxy(this, {\n get: (target, prop) => {\n if(prop !== 'init') {\n if(!target._initialized) {\n throw new Error('Condition has not been initialized. Make sure to call the init() method on the condition object before any operations.')\n }\n }\n //@ts-ignore\n if (typeof target[prop] === 'function') {\n //@ts-ignore\n return target[prop].bind(target);\n }\n //@ts-ignore\n return target[prop];\n }\n })\n }\n public async init() {\n if (!this._inicializationPromise) {\n this._inicializationPromise = new Promise(async (resolve) => {\n const [map, key] = await this._getConditionFromFilterExpression();\n if(!key) {\n this._conditionExpression = this._getDefault();\n }\n else {\n this._isAppliedToDataset = true;\n this._conditionExpression = map.get(key)!;\n }\n this._conditionExpression.conditionOperator = this._operatorDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value, true) as any;\n this._conditionExpression.value = this._valueDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value, true);\n this._conditionExpression.attributeName = await this._attributeNameDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.attributeName, true);\n resolve(true);\n this._initialized = true;\n })\n }\n return this._inicializationPromise;\n }\n public get isRemoved() {\n return this._isRemoved;\n }\n\n public get column() {\n return this._column;\n }\n\n public get isAppliedToDataset() {\n return this._isAppliedToDataset;\n }\n\n public get isValid() {\n return this._isValid;\n }\n\n public async getExpression() {\n const result = { ...this._conditionExpression };\n result.conditionOperator = this._operatorDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value) as any;\n result.value = this._valueDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value);\n result.attributeName = await this._attributeNameDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.attributeName);\n return result;\n\n }\n public async save(): Promise<boolean> {\n if (!await this.value.isValid()) {\n this._isValid = false;\n this._triggerRefreshCallbacks();\n return false;\n }\n const filterExpression = this._filterExpression;\n if (this._isAppliedToDataset || this._isRemoved) {\n const [map, key] = await this._getConditionFromFilterExpression();\n map.delete(key);\n filterExpression.conditions = [...map.values()];\n }\n if (!this._isRemoved) {\n filterExpression.conditions.push(await this.getExpression());\n }\n this._dataset.filtering.setFilter(filterExpression);\n return true;\n\n }\n public remove() {\n this._isRemoved = true;\n }\n public clear() {\n this._inicializationPromise = undefined;\n }\n public get operator() {\n return {\n get: () => this._get('operator') as DatasetConditionOperator,\n set: (conditionOperator: DatasetConditionOperator) => {\n const previousOperator = this._conditionExpression.conditionOperator\n this._set(\"operator\", conditionOperator, null);\n const isCurrentEditable = this._conditionUtils.value(conditionOperator).isManuallyEditable;\n const isPreviousEditable = this._conditionUtils.value(previousOperator).isManuallyEditable;\n\n if (isCurrentEditable !== isPreviousEditable) {\n // we are transitioning between editable and non-editable operators and the value of these data types needs to be set to null\n // to prevent type incompability\n switch (this._column.dataType) {\n case DataType.MULTI_SELECT_OPTIONSET:\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_CUSTOMER:\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n this._conditionExpression!.value = \"\"\n break;\n }\n }\n }\n },\n }\n }\n\n public get value() {\n return {\n get: () => this._get('value') as any,\n set: (value: any) => this._set(\"value\", undefined, value),\n isValid: async () => {\n if(this._conditionUtils.operator(this.operator.get()).doesNotAllowValue) {\n return true;\n }\n const [result, errorMessage] = await new ColumnValidation(this._grid, this._column, true).validate(await this.value.get());\n return result;\n }\n }\n }\n private _get(type: 'operator' | 'value'): DatasetConditionOperator | any {\n if (type === 'operator') {\n return this._conditionExpression.conditionOperator;\n }\n return this._conditionExpression.value;\n }\n private _set(type: 'operator' | 'value', conditionOperator?: DatasetConditionOperator, value?: any) {\n this._isValid = true;\n if (type === 'operator') {\n this._conditionExpression.conditionOperator = conditionOperator as any;\n }\n else {\n this._conditionExpression.value = value;\n }\n this._triggerRefreshCallbacks();\n }\n\n private async _attributeNameDecorator(conditionOperator: DatasetConditionOperator, attributeName: string, undecorate?: boolean) {\n if (!this._conditionUtils.value(conditionOperator).isManuallyEditable) {\n return attributeName;\n }\n switch (this._column.dataType) {\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n if (undecorate) {\n if (attributeName.endsWith('name')) {\n return attributeName.slice(0, -4);\n }\n return attributeName;\n }\n if (attributeName.endsWith('name')) {\n return attributeName;\n }\n return `${attributeName}name`\n }\n default: {\n return attributeName;\n }\n }\n }\n private _valueDecorator(conditionOperator: DatasetConditionOperator, value: any, undecorate?: boolean) {\n switch (conditionOperator) {\n case DatasetConditionOperator.BeginWith:\n case DatasetConditionOperator.DoesNotBeginWith: {\n if (undecorate) {\n return value.slice(0, -1);\n }\n return `${value}%`;\n }\n case DatasetConditionOperator.EndsWith:\n case DatasetConditionOperator.DoesNotEndWith: {\n if (undecorate) {\n return value.slice(1)\n }\n return `%${value}`;\n }\n case DatasetConditionOperator.Like:\n case DatasetConditionOperator.NotLike: {\n if (undecorate) {\n return value.slice(1, -1)\n }\n return `%${value}%`;\n }\n default: {\n return value;\n }\n }\n }\n\n private _operatorDecorator(conditionOperator: DatasetConditionOperator, value: any, undecorate?: boolean): DatasetConditionOperator {\n switch (this._column.dataType) {\n case DataType.MULTI_SELECT_OPTIONSET:\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n //we need to switch the operators based on the number of selected options\n if (typeof value !== 'string') {\n if(undecorate) {\n switch(conditionOperator) {\n case DatasetConditionOperator.In: {\n return DatasetConditionOperator.Equal\n }\n case DatasetConditionOperator.NotIn: {\n return DatasetConditionOperator.NotEqual;\n }\n }\n }\n switch (conditionOperator) {\n case DatasetConditionOperator.Equal: {\n return DatasetConditionOperator.In;\n }\n case DatasetConditionOperator.NotEqual: {\n return DatasetConditionOperator.NotIn;\n }\n }\n }\n else {\n switch (conditionOperator) {\n case DatasetConditionOperator.In: {\n return DatasetConditionOperator.Equal;\n }\n case DatasetConditionOperator.NotIn: {\n return DatasetConditionOperator.NotEqual;\n }\n }\n }\n }\n }\n return conditionOperator;\n }\n\n private _getDefault(): ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression {\n const entityAliasName = Attribute.GetLinkedEntityAlias(this._column.name);\n const attributeName = Attribute.GetNameFromAlias(this._column.name);\n const cond: ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression = {\n attributeName: attributeName,\n conditionOperator: DatasetConditionOperator.Equal,\n entityAliasName: entityAliasName ?? \"\",\n value: \"\"\n }\n switch (this._column.dataType) {\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n cond.conditionOperator = DatasetConditionOperator.On;\n break;\n }\n case DataType.IMAGE:\n case DataType.FILE: {\n cond.conditionOperator = DatasetConditionOperator.NotNull as any;\n break;\n }\n }\n return cond;\n }\n private get _filterExpression() {\n return structuredClone(this._dataset.filtering.getFilter()) ?? {\n conditions: [],\n filterOperator: 0\n }\n }\n private async _getConditionFromFilterExpression(): Promise<[Map<string, ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression>, string]> {\n const map = new Map<string, ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression>(this._filterExpression.conditions.map(x => [x.attributeName, x]));\n const attributeName = Attribute.GetNameFromAlias(this._column.name);\n for (const cond of map.values()) {\n const conditionAttributeName = await this._attributeNameDecorator(cond.conditionOperator, cond.attributeName, true);\n if(conditionAttributeName === attributeName) {\n return [map, cond.attributeName]\n }\n }\n return [map, \"\"];\n }\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Condition.js","sources":["../../../../../src/components/Grid/filtering/model/Condition.ts"],"sourcesContent":["import { Attribute, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { DatasetConditionOperator } from \"../../core/enums/ConditionOperator\";\nimport { DataType } from \"../../core/enums/DataType\";\nimport { IGridColumn } from \"../../core/interfaces/IGridColumn\";\nimport { Grid } from \"../../core/model/Grid\";\nimport { GridDependency } from \"../../core/model/GridDependency\";\nimport { FilteringUtils } from \"../utils/FilteringUtilts\";\n\nexport class Condition extends GridDependency {\n private _column: IGridColumn;\n private _isAppliedToDataset: boolean = false;\n private _conditionExpression: ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression = {} as any;\n private _isRemoved?: boolean;\n private _conditionUtils = FilteringUtils.condition();\n private _isValid: boolean = true;\n private _inicializationPromise: Promise<boolean> | undefined;\n private _initialized: boolean = false;\n\n constructor(grid: Grid, column: IGridColumn) {\n super(grid);\n this._column = {...column};\n switch(this._column.dataType) {\n //this will skip regex validation since it is not desirable during filtering (we have contains and stuff)\n case DataType.SINGLE_LINE_EMAIL:\n case DataType.SINGLE_LINE_URL: {\n this._column.dataType = DataType.SINGLE_LINE_TEXT;\n }\n }\n return new Proxy(this, {\n get: (target, prop) => {\n if(prop !== 'init') {\n if(!target._initialized) {\n throw new Error('Condition has not been initialized. Make sure to call the init() method on the condition object before any operations.')\n }\n }\n //@ts-ignore\n if (typeof target[prop] === 'function') {\n //@ts-ignore\n return target[prop].bind(target);\n }\n //@ts-ignore\n return target[prop];\n }\n })\n }\n public async init() {\n if (!this._inicializationPromise) {\n this._inicializationPromise = new Promise(async (resolve) => {\n const [map, key] = await this._getConditionFromFilterExpression();\n if(!key) {\n this._conditionExpression = this._getDefault();\n }\n else {\n this._isAppliedToDataset = true;\n this._conditionExpression = map.get(key)!;\n }\n this._conditionExpression.conditionOperator = this._operatorDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value, true) as any;\n this._conditionExpression.value = this._valueDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value, true);\n this._conditionExpression.attributeName = await this._attributeNameDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.attributeName, true);\n resolve(true);\n this._initialized = true;\n })\n }\n return this._inicializationPromise;\n }\n public get isRemoved() {\n return this._isRemoved;\n }\n\n public get column() {\n return this._column;\n }\n\n public get isAppliedToDataset() {\n return this._isAppliedToDataset;\n }\n\n public get isValid() {\n return this._isValid;\n }\n\n public async getExpression() {\n const result = { ...this._conditionExpression };\n result.conditionOperator = this._operatorDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value) as any;\n result.value = this._valueDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.value);\n result.attributeName = await this._attributeNameDecorator(this._conditionExpression.conditionOperator, this._conditionExpression.attributeName);\n return result;\n\n }\n public async save(): Promise<boolean> {\n if (!await this.value.isValid()) {\n this._isValid = false;\n this._triggerRefreshCallbacks();\n return false;\n }\n const filterExpression = this._filterExpression;\n if (this._isAppliedToDataset || this._isRemoved) {\n const [map, key] = await this._getConditionFromFilterExpression();\n map.delete(key);\n filterExpression.conditions = [...map.values()];\n }\n if (!this._isRemoved) {\n filterExpression.conditions.push(await this.getExpression());\n }\n this._dataset.filtering.setFilter(filterExpression);\n return true;\n\n }\n public remove() {\n this._isRemoved = true;\n }\n public clear() {\n this._inicializationPromise = undefined;\n }\n public get operator() {\n return {\n get: () => this._get('operator') as DatasetConditionOperator,\n set: (conditionOperator: DatasetConditionOperator) => {\n const previousOperator = this._conditionExpression.conditionOperator\n this._set(\"operator\", conditionOperator, null);\n const isCurrentEditable = this._conditionUtils.value(conditionOperator).isManuallyEditable;\n const isPreviousEditable = this._conditionUtils.value(previousOperator).isManuallyEditable;\n\n if (isCurrentEditable !== isPreviousEditable) {\n // we are transitioning between editable and non-editable operators and the value of these data types needs to be set to null\n // to prevent type incompability\n switch (this._column.dataType) {\n case DataType.MULTI_SELECT_OPTIONSET:\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_CUSTOMER:\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n this._conditionExpression!.value = \"\"\n break;\n }\n }\n }\n },\n }\n }\n\n public get value() {\n return {\n get: () => this._get('value') as any,\n set: (value: any) => this._set(\"value\", undefined, value),\n isValid: async () => {\n if(this._conditionUtils.operator(this.operator.get()).doesNotAllowValue) {\n return true;\n }\n const memoryProvider = new MemoryDataProvider([{\n id: 'id',\n [this._column.name]: await this.value.get() ?? undefined\n }], [{...this._column, metadata: {...this._column.metadata as any, RequiredLevel: 0}}, {\n name: 'id',\n displayName: '',\n dataType: DataType.SINGLE_LINE_TEXT,\n alias: 'id',\n order: 0,\n visualSizeFactor: 0\n }], {\n entityMetadata: {\n PrimaryIdAttribute: 'id'\n }\n });\n const record = memoryProvider.refresh()[0];\n record.expressions?.setRequiredLevelExpression(this._column.name, () => 'required');\n return !record.getColumnInfo(this._column.name).error\n }\n }\n }\n private _get(type: 'operator' | 'value'): DatasetConditionOperator | any {\n if (type === 'operator') {\n return this._conditionExpression.conditionOperator;\n }\n return this._conditionExpression.value;\n }\n private _set(type: 'operator' | 'value', conditionOperator?: DatasetConditionOperator, value?: any) {\n this._isValid = true;\n if (type === 'operator') {\n this._conditionExpression.conditionOperator = conditionOperator as any;\n }\n else {\n this._conditionExpression.value = value;\n }\n this._triggerRefreshCallbacks();\n }\n\n private async _attributeNameDecorator(conditionOperator: DatasetConditionOperator, attributeName: string, undecorate?: boolean) {\n if (!this._conditionUtils.value(conditionOperator).isManuallyEditable) {\n return attributeName;\n }\n switch (this._column.dataType) {\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n if (undecorate) {\n if (attributeName.endsWith('name')) {\n return attributeName.slice(0, -4);\n }\n return attributeName;\n }\n if (attributeName.endsWith('name')) {\n return attributeName;\n }\n return `${attributeName}name`\n }\n default: {\n return attributeName;\n }\n }\n }\n private _valueDecorator(conditionOperator: DatasetConditionOperator, value: any, undecorate?: boolean) {\n switch (conditionOperator) {\n case DatasetConditionOperator.BeginWith:\n case DatasetConditionOperator.DoesNotBeginWith: {\n if (undecorate) {\n return value.slice(0, -1);\n }\n return `${value}%`;\n }\n case DatasetConditionOperator.EndsWith:\n case DatasetConditionOperator.DoesNotEndWith: {\n if (undecorate) {\n return value.slice(1)\n }\n return `%${value}`;\n }\n case DatasetConditionOperator.Like:\n case DatasetConditionOperator.NotLike: {\n if (undecorate) {\n return value.slice(1, -1)\n }\n return `%${value}%`;\n }\n default: {\n return value;\n }\n }\n }\n\n private _operatorDecorator(conditionOperator: DatasetConditionOperator, value: any, undecorate?: boolean): DatasetConditionOperator {\n switch (this._column.dataType) {\n case DataType.MULTI_SELECT_OPTIONSET:\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER: {\n //we need to switch the operators based on the number of selected options\n if (typeof value !== 'string') {\n if(undecorate) {\n switch(conditionOperator) {\n case DatasetConditionOperator.In: {\n return DatasetConditionOperator.Equal\n }\n case DatasetConditionOperator.NotIn: {\n return DatasetConditionOperator.NotEqual;\n }\n }\n }\n switch (conditionOperator) {\n case DatasetConditionOperator.Equal: {\n return DatasetConditionOperator.In;\n }\n case DatasetConditionOperator.NotEqual: {\n return DatasetConditionOperator.NotIn;\n }\n }\n }\n else {\n switch (conditionOperator) {\n case DatasetConditionOperator.In: {\n return DatasetConditionOperator.Equal;\n }\n case DatasetConditionOperator.NotIn: {\n return DatasetConditionOperator.NotEqual;\n }\n }\n }\n }\n }\n return conditionOperator;\n }\n\n private _getDefault(): ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression {\n const entityAliasName = Attribute.GetLinkedEntityAlias(this._column.name);\n const attributeName = Attribute.GetNameFromAlias(this._column.name);\n const cond: ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression = {\n attributeName: attributeName,\n conditionOperator: DatasetConditionOperator.Equal,\n entityAliasName: entityAliasName ?? \"\",\n value: \"\"\n }\n switch (this._column.dataType) {\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY: {\n cond.conditionOperator = DatasetConditionOperator.On;\n break;\n }\n case DataType.IMAGE:\n case DataType.FILE: {\n cond.conditionOperator = DatasetConditionOperator.NotNull as any;\n break;\n }\n }\n return cond;\n }\n private get _filterExpression() {\n return structuredClone(this._dataset.filtering.getFilter()) ?? {\n conditions: [],\n filterOperator: 0\n }\n }\n private async _getConditionFromFilterExpression(): Promise<[Map<string, ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression>, string]> {\n const map = new Map<string, ComponentFramework.PropertyHelper.DataSetApi.ConditionExpression>(this._filterExpression.conditions.map(x => [x.attributeName, x]));\n const attributeName = Attribute.GetNameFromAlias(this._column.name);\n for (const cond of map.values()) {\n const conditionAttributeName = await this._attributeNameDecorator(cond.conditionOperator, cond.attributeName, true);\n if(conditionAttributeName === attributeName) {\n return [map, cond.attributeName]\n }\n }\n return [map, \"\"];\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="powerapps-component-framework" />
|
|
2
2
|
import { AgGridReactProps } from "@ag-grid-community/react";
|
|
3
3
|
import { ITranslation } from "../../hooks";
|
|
4
|
-
import { IParameters, IStringProperty, ITwoOptionsProperty } from "../../interfaces";
|
|
4
|
+
import { IParameters, IStringProperty, ITwoOptionsProperty, IWholeNumberProperty } from "../../interfaces";
|
|
5
5
|
import { IControl, IOutputs } from "../../interfaces/context";
|
|
6
6
|
import { gridTranslations } from "./translations";
|
|
7
7
|
import { IDataset } from "@talxis/client-libraries";
|
|
@@ -14,6 +14,9 @@ export interface IGridParameters extends IParameters {
|
|
|
14
14
|
EnableSorting?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
15
15
|
EnableNavigation?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
16
16
|
EnableOptionSetColors?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
17
|
+
EnableChangeEditor?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
18
|
+
EnableMultiEdit?: Omit<ITwoOptionsProperty, 'attributes'>;
|
|
19
|
+
RowHeight?: Omit<IWholeNumberProperty, 'attributes'>;
|
|
17
20
|
Height?: IStringProperty;
|
|
18
21
|
InlineRibbonButtonIds?: IStringProperty;
|
|
19
22
|
SelectableRows?: Omit<ComponentFramework.PropertyTypes.EnumProperty<"none" | "single" | "multiple">, 'type'>;
|
|
@@ -5,7 +5,8 @@ import { usePagingController } from '../../controllers/usePagingController.js';
|
|
|
5
5
|
import { getPagingStyles } from './styles.js';
|
|
6
6
|
|
|
7
7
|
const Paging = () => {
|
|
8
|
-
const
|
|
8
|
+
const grid = useGridInstance();
|
|
9
|
+
const labels = grid.labels;
|
|
9
10
|
const paging = usePagingController();
|
|
10
11
|
const styles = getPagingStyles(useTheme());
|
|
11
12
|
const getPageSizeOptions = () => {
|
|
@@ -26,7 +27,7 @@ const Paging = () => {
|
|
|
26
27
|
}
|
|
27
28
|
return `${labels['paging-pages']({ start: paging.pageFirstRecordOrder, end: paging.pageLastRecordOrder })} ${labels['paging-pages-totalcount']({ recordcount: paging.formattedTotalResultCount })}`;
|
|
28
29
|
};
|
|
29
|
-
return (jsxs("div", { className: styles.root, children: [jsx("div", { className: styles.pageSizeBtnWrapper, children: jsx(CommandBarButton, { text: getPagingLabel(), menuProps: {
|
|
30
|
+
return (jsxs("div", { className: styles.root, children: [jsx("div", { className: styles.pageSizeBtnWrapper, children: jsx(CommandBarButton, { disabled: grid.dataset.loading, text: getPagingLabel(), menuProps: {
|
|
30
31
|
items: [
|
|
31
32
|
{
|
|
32
33
|
key: 'header',
|
|
@@ -43,13 +44,13 @@ const Paging = () => {
|
|
|
43
44
|
key: 'FirstPage',
|
|
44
45
|
iconOnly: true,
|
|
45
46
|
iconProps: { iconName: 'DoubleChevronLeft' },
|
|
46
|
-
disabled: !paging.hasPreviousPage,
|
|
47
|
+
disabled: !paging.hasPreviousPage || grid.dataset.loading,
|
|
47
48
|
onClick: () => paging.reset()
|
|
48
49
|
}, {
|
|
49
50
|
key: 'PreviousPage',
|
|
50
51
|
iconOnly: true,
|
|
51
52
|
iconProps: { iconName: 'Back' },
|
|
52
|
-
disabled: !paging.hasPreviousPage,
|
|
53
|
+
disabled: !paging.hasPreviousPage || grid.dataset.loading,
|
|
53
54
|
onClick: () => paging.loadPreviousPage()
|
|
54
55
|
}, {
|
|
55
56
|
key: 'CurrentPage',
|
|
@@ -60,7 +61,7 @@ const Paging = () => {
|
|
|
60
61
|
key: 'NextPage',
|
|
61
62
|
iconOnly: true,
|
|
62
63
|
iconProps: { iconName: 'Forward' },
|
|
63
|
-
disabled: !paging.hasNextPage,
|
|
64
|
+
disabled: !paging.hasNextPage || grid.dataset.loading,
|
|
64
65
|
onClick: () => paging.loadNextPage()
|
|
65
66
|
}] })] }));
|
|
66
67
|
};
|
|
@@ -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
|
|
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 grid = useGridInstance();\n const labels = grid.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 disabled={grid.dataset.loading}\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 || grid.dataset.loading,\n onClick: () => paging.reset()\n }, {\n key: 'PreviousPage',\n iconOnly: true,\n iconProps: { iconName: 'Back' },\n disabled: !paging.hasPreviousPage || grid.dataset.loading,\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 || grid.dataset.loading,\n onClick: () => paging.loadNextPage()\n }]}\n />\n </div>\n )\n}"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -263,6 +263,10 @@ export declare const gridTranslations: {
|
|
|
263
263
|
1029: string;
|
|
264
264
|
1033: string;
|
|
265
265
|
};
|
|
266
|
+
"saving-clickreview": {
|
|
267
|
+
1029: string;
|
|
268
|
+
1033: string;
|
|
269
|
+
};
|
|
266
270
|
"saving-save": {
|
|
267
271
|
1029: string;
|
|
268
272
|
1033: string;
|
|
@@ -279,6 +283,30 @@ export declare const gridTranslations: {
|
|
|
279
283
|
1029: string;
|
|
280
284
|
1033: string;
|
|
281
285
|
};
|
|
286
|
+
"saving-save-all": {
|
|
287
|
+
1029: string;
|
|
288
|
+
1033: string;
|
|
289
|
+
};
|
|
290
|
+
"saving-discard-all": {
|
|
291
|
+
1029: string;
|
|
292
|
+
1033: string;
|
|
293
|
+
};
|
|
294
|
+
"saving-discard": {
|
|
295
|
+
1029: string;
|
|
296
|
+
1033: string;
|
|
297
|
+
};
|
|
298
|
+
"saving-discard-changes": {
|
|
299
|
+
1029: string;
|
|
300
|
+
1033: string;
|
|
301
|
+
};
|
|
302
|
+
"saving-save-changes": {
|
|
303
|
+
1029: string;
|
|
304
|
+
1033: string;
|
|
305
|
+
};
|
|
306
|
+
"saving-discard-all-confirmation": {
|
|
307
|
+
1029: string;
|
|
308
|
+
1033: string;
|
|
309
|
+
};
|
|
282
310
|
"validation-input-value": {
|
|
283
311
|
1029: string;
|
|
284
312
|
1033: string;
|
|
@@ -311,4 +339,12 @@ export declare const gridTranslations: {
|
|
|
311
339
|
1029: string;
|
|
312
340
|
1033: string;
|
|
313
341
|
};
|
|
342
|
+
"original-value": {
|
|
343
|
+
1029: string;
|
|
344
|
+
1033: string;
|
|
345
|
+
};
|
|
346
|
+
"new-value": {
|
|
347
|
+
1029: string;
|
|
348
|
+
1033: string;
|
|
349
|
+
};
|
|
314
350
|
};
|
|
@@ -64,11 +64,18 @@ const gridTranslations = {
|
|
|
64
64
|
"paging-pages": { 1029: "{{start}} - {{end}}", 1033: "{{start}} - {{end}}" },
|
|
65
65
|
"paging-pages-totalcount": { 1029: "z {{recordcount}}", 1033: "of {{recordcount}}" },
|
|
66
66
|
"norecordsfound": { 1029: 'Nenašli jsme nic, co by se zde dalo zobrazit.', 1033: 'No records found.' },
|
|
67
|
-
"saving-changenotification": { 1029: "Počet upravených záznamů: <b>{{numOfChanges}}</b>.
|
|
67
|
+
"saving-changenotification": { 1029: "Počet upravených záznamů: <b>{{numOfChanges}}</b>.", 1033: "Number of updated records: <b>{{numOfChanges}}</b>." },
|
|
68
|
+
"saving-clickreview": { 1029: "Klikněte <u>zde</u> pro jejich zobrazení.", 1033: "Click <u>here</u> to review" },
|
|
68
69
|
"saving-save": { 1029: "Uložit", 1033: "Save" },
|
|
69
70
|
"saving-saving": { 1029: "Ukládání...", 1033: "Saving..." },
|
|
70
71
|
"saving-changepreview-title": { 1033: 'Number of updated rows: {{numOfChanges}}', 1029: 'Počet upravených záznamů: {{numOfChanges}}' },
|
|
71
72
|
"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>' },
|
|
73
|
+
"saving-save-all": { 1029: "Uložit všechny změny", 1033: "Save All Changes" },
|
|
74
|
+
"saving-discard-all": { 1029: "Zrušit všechny změny", 1033: "Discard All Changes" },
|
|
75
|
+
"saving-discard": { 1029: "Zrušit změnu", 1033: "Discard Change" },
|
|
76
|
+
"saving-discard-changes": { 1029: "Zrušit změny", 1033: "Discard Changes" },
|
|
77
|
+
"saving-save-changes": { 1029: "Uložit změny", 1033: "Save Changes" },
|
|
78
|
+
"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." },
|
|
72
79
|
"validation-input-value": { 1029: 'Zadejte hodnotu', 1033: 'Please enter value.' },
|
|
73
80
|
"validation-email": { 1029: 'Neplatný formát emailové adresy.', 1033: 'Invalid Email address format.' },
|
|
74
81
|
"validation-url": { 1029: 'Neplatný formát webové adresy.', 1033: 'Invalid URL format.' },
|
|
@@ -76,7 +83,9 @@ const gridTranslations = {
|
|
|
76
83
|
"validation-number": { 1029: 'Neplatný formát čísla.', 1033: 'Invalid Number format.' },
|
|
77
84
|
"no-name": { 1029: '(Bez názvu)', 1033: '(No Name)' },
|
|
78
85
|
"download": { 1029: 'Stáhnout', 1033: 'Download' },
|
|
79
|
-
"value-not-editable": { 1029: 'Tuto hodnotu nelze upravit.', 1033: 'This value cannot be edited.' }
|
|
86
|
+
"value-not-editable": { 1029: 'Tuto hodnotu nelze upravit.', 1033: 'This value cannot be edited.' },
|
|
87
|
+
"original-value": { 1029: 'Původní hodnota', 1033: 'Previous value' },
|
|
88
|
+
"new-value": { 1029: 'Nová hodnota', 1033: 'New value' }
|
|
80
89
|
};
|
|
81
90
|
|
|
82
91
|
export { gridTranslations };
|