@talxis/base-controls 1.2605.2-alpha → 1.2606.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/components/Grid/cells/cell/Cell.js +2 -6
  2. package/dist/components/Grid/cells/cell/Cell.js.map +1 -1
  3. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +1 -1
  4. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -1
  5. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +1 -1
  6. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -1
  7. package/dist/components/Lookup/components/TargetSelector.js +1 -1
  8. package/dist/components/Lookup/components/TargetSelector.js.map +1 -1
  9. package/dist/components/Lookup/hooks/useLookup.d.ts +4 -0
  10. package/dist/components/Lookup/translations.d.ts +4 -0
  11. package/dist/components/Lookup/translations.js +4 -0
  12. package/dist/components/Lookup/translations.js.map +1 -1
  13. package/dist/components/TaskGrid/TaskGrid.js +2 -2
  14. package/dist/components/TaskGrid/TaskGrid.js.map +1 -1
  15. package/dist/components/TaskGrid/TaskGridDatasetControl.d.ts +2 -0
  16. package/dist/components/TaskGrid/TaskGridDatasetControl.js +42 -28
  17. package/dist/components/TaskGrid/TaskGridDatasetControl.js.map +1 -1
  18. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js +3 -0
  19. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js.map +1 -1
  20. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js +6 -3
  21. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js.map +1 -1
  22. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js +2 -4
  23. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js.map +1 -1
  24. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.d.ts +0 -6
  25. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js +0 -6
  26. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js.map +1 -1
  27. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js +10 -5
  28. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js.map +1 -1
  29. package/dist/components/TaskGrid/components/grid/group-cell/styles.d.ts +3 -0
  30. package/dist/components/TaskGrid/components/grid/group-cell/styles.js +3 -0
  31. package/dist/components/TaskGrid/components/grid/group-cell/styles.js.map +1 -1
  32. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.d.ts +1 -1
  33. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js +3 -1
  34. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js.map +1 -1
  35. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.d.ts +1 -1
  36. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js +1 -1
  37. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js.map +1 -1
  38. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.d.ts +11 -0
  39. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js +17 -0
  40. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js.map +1 -0
  41. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.d.ts +1 -10
  42. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js +1 -14
  43. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js.map +1 -1
  44. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.d.ts +3 -0
  45. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js +10 -0
  46. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js.map +1 -0
  47. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.d.ts +1 -0
  48. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js +2 -0
  49. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js.map +1 -0
  50. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.d.ts +5 -1
  51. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js +3 -2
  52. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -1
  53. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js +1 -1
  54. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js.map +1 -1
  55. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.d.ts +2 -0
  56. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js +15 -0
  57. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js.map +1 -0
  58. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.d.ts +1 -2
  59. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js +1 -12
  60. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js.map +1 -1
  61. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  62. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js +12 -0
  63. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
  64. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.d.ts +1 -0
  65. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js +2 -0
  66. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js.map +1 -0
  67. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.d.ts +9 -0
  68. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js +18 -0
  69. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js.map +1 -0
  70. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js +1 -1
  71. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -1
  72. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.d.ts +1 -1
  73. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js +3 -2
  74. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js.map +1 -1
  75. package/dist/components/TaskGrid/components/header/Header.d.ts +1 -1
  76. package/dist/components/TaskGrid/components/header/Header.js +58 -44
  77. package/dist/components/TaskGrid/components/header/Header.js.map +1 -1
  78. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.d.ts +12 -6
  79. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.js +23 -20
  80. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.js.map +1 -1
  81. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.d.ts +3 -3
  82. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js +4 -5
  83. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js.map +1 -1
  84. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.js +15 -15
  85. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.js.map +1 -1
  86. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.d.ts +27 -25
  87. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js +68 -29
  88. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js.map +1 -1
  89. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.d.ts +19 -17
  90. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js +119 -74
  91. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js.map +1 -1
  92. package/dist/components/TaskGrid/extensions/dataverse/index.js +1 -1
  93. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.d.ts +18 -2
  94. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js +80 -17
  95. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js.map +1 -1
  96. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js +10 -4
  97. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js.map +1 -1
  98. package/dist/components/TaskGrid/interfaces.d.ts +36 -22
  99. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.d.ts +7 -1
  100. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.js +3 -0
  101. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.js.map +1 -1
  102. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.d.ts +1 -1
  103. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.js +9 -26
  104. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.js.map +1 -1
  105. package/dist/components/TaskGrid/providers/task/TaskDataProvider.d.ts +13 -20
  106. package/dist/components/TaskGrid/providers/task/TaskDataProvider.js +30 -22
  107. package/dist/components/TaskGrid/providers/task/TaskDataProvider.js.map +1 -1
  108. package/dist/components/TaskGrid/providers/task/record-tree/RecordTree.d.ts +8 -0
  109. package/dist/components/TaskGrid/providers/task/record-tree/RecordTree.js.map +1 -1
  110. package/dist/index.d.ts +68 -42
  111. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  112. package/package.json +4 -4
  113. package/dist/components/TaskGrid/extensions/LexoRank.d.ts +0 -7
@@ -70,11 +70,13 @@ export declare class TaskGridDatasetControl extends EventEmitter<IDatasetControl
70
70
  isTaskEditingEnabled(): boolean;
71
71
  isTaskCreatingEnabled(): boolean;
72
72
  isTaskDeletingEnabled(): boolean;
73
+ isNavigationEnabled(): boolean;
73
74
  getParameters(): IDatasetControlParameters;
74
75
  loadCommands(ids: string[]): Promise<void>;
75
76
  retrieveRecordCommands(): ICommand[];
76
77
  areCommandsLoaded(): boolean;
77
78
  isEditColumnsVisible(): boolean;
79
+ isViewSwitcherEnabled(): boolean;
78
80
  isViewSwitcherVisible(): boolean;
79
81
  isEditFiltersVisible(): boolean;
80
82
  requestEditColumns(): void;
@@ -60,10 +60,10 @@ class TaskGridDatasetControl extends EventEmitter {
60
60
  return this._controlId;
61
61
  }
62
62
  isRowDraggingEnabled() {
63
- return this._gridParameters.enableRowDragging ?? true;
63
+ return this._gridParameters.enableRowDragging ?? false;
64
64
  }
65
65
  isEditColumnsScopeSelectorEnabled() {
66
- return this._gridParameters.enableEditColumnsScopeSelector ?? true;
66
+ return this._gridParameters.enableEditColumnsScopeSelector ?? false;
67
67
  }
68
68
  isTemplatingEnabled() {
69
69
  return !!this._templateDataProvider;
@@ -72,22 +72,22 @@ class TaskGridDatasetControl extends EventEmitter {
72
72
  return !!this._customColumnsDataProvider;
73
73
  }
74
74
  isHideInactiveTasksToggleVisible() {
75
- return this._gridParameters.enableHideInactiveTasksToggle ?? true;
75
+ return this._gridParameters.enableHideInactiveTasksToggle ?? false;
76
76
  }
77
77
  isCustomColumnCreationEnabled() {
78
- return this._gridParameters.enableCustomColumnCreation ?? true;
78
+ return this._gridParameters.enableCustomColumnCreation ?? false;
79
79
  }
80
80
  isCustomColumnEditingEnabled() {
81
- return this._gridParameters.enableCustomColumnEditing ?? true;
81
+ return this._gridParameters.enableCustomColumnEditing ?? false;
82
82
  }
83
83
  isCustomColumnDeletionEnabled() {
84
- return this._gridParameters.enableCustomColumnDeletion ?? true;
84
+ return this._gridParameters.enableCustomColumnDeletion ?? false;
85
85
  }
86
86
  isInlineCreateEnabled() {
87
- return this._gridParameters.enableInlineCreation ?? true;
87
+ return this._gridParameters.enableInlineCreation ?? false;
88
88
  }
89
89
  isShowHierarchyToggleVisible() {
90
- return this._gridParameters.enableShowHierarchyToggle ?? true;
90
+ return this._gridParameters.enableShowHierarchyToggle ?? false;
91
91
  }
92
92
  getInactiveTasksVisibility() {
93
93
  const stateCodeCondition = this._dataProvider.getFiltering()?.conditions?.find(condition => condition.attributeName === this.getNativeColumns().stateCode);
@@ -102,16 +102,16 @@ class TaskGridDatasetControl extends EventEmitter {
102
102
  }
103
103
  }
104
104
  isViewManagerEnabled() {
105
- return this._gridParameters.enableQueryManager ?? true;
105
+ return this._gridParameters.enableQueryManager ?? false;
106
106
  }
107
107
  isSaveQueryAsNewEnabled() {
108
- return this._gridParameters.enableSaveAsNewQuery ?? true;
108
+ return this._gridParameters.enableSaveAsNewQuery ?? false;
109
109
  }
110
110
  isSaveQueryChangesEnabled() {
111
- return this._gridParameters.enableSaveQueryChanges ?? true;
111
+ return this._gridParameters.enableSaveQueryChanges ?? false;
112
112
  }
113
113
  isUserQueriesFeatureEnabled() {
114
- return this._gridParameters.enableUserQueries ?? true;
114
+ return this._gridParameters.enableUserQueries ?? false;
115
115
  }
116
116
  getSavedQueryDataProvider() {
117
117
  return this._savedQueryDataProvider;
@@ -150,7 +150,7 @@ class TaskGridDatasetControl extends EventEmitter {
150
150
  if (hide) {
151
151
  const condition = stateCodeFilter.addCondition();
152
152
  condition.setOperator(Operators.Equal.Value);
153
- condition.setValue([STATE_CODE_ACTIVE]);
153
+ condition.setValue(STATE_CODE_ACTIVE);
154
154
  }
155
155
  const filterExpression = filtering.getFilterExpression(Type.And.Value);
156
156
  if (filterExpression) {
@@ -176,7 +176,7 @@ class TaskGridDatasetControl extends EventEmitter {
176
176
  return false;
177
177
  }
178
178
  isQuickFindVisible() {
179
- return this._gridParameters.enableQuickFind ?? true;
179
+ return this._gridParameters.enableQuickFind ?? false;
180
180
  }
181
181
  isAutoSaveEnabled() {
182
182
  return true;
@@ -185,7 +185,7 @@ class TaskGridDatasetControl extends EventEmitter {
185
185
  return true;
186
186
  }
187
187
  getHeight() {
188
- return this._gridParameters.height ?? null;
188
+ return this._descriptor.onGetHeight?.() ?? null;
189
189
  }
190
190
  getDataset() {
191
191
  return this._dataset;
@@ -197,17 +197,16 @@ class TaskGridDatasetControl extends EventEmitter {
197
197
  return this._getPcfContext();
198
198
  }
199
199
  isTaskEditingEnabled() {
200
- return this._gridParameters.enableTaskEditing ?? true;
200
+ return this._gridParameters.enableTaskEditing ?? false;
201
201
  }
202
202
  isTaskCreatingEnabled() {
203
- if (!this.isTaskEditingEnabled())
204
- return false;
205
- return this._gridParameters.enableTaskCreation ?? true;
203
+ return this._gridParameters.enableTaskCreation ?? false;
206
204
  }
207
205
  isTaskDeletingEnabled() {
208
- if (!this.isTaskEditingEnabled())
209
- return false;
210
- return this._gridParameters.enableTaskDeletion ?? true;
206
+ return this._gridParameters.enableTaskDeletion ?? false;
207
+ }
208
+ isNavigationEnabled() {
209
+ return this._gridParameters.enableNavigation ?? false;
211
210
  }
212
211
  getParameters() {
213
212
  return {
@@ -219,7 +218,7 @@ class TaskGridDatasetControl extends EventEmitter {
219
218
  raw: true
220
219
  },
221
220
  EnableEditColumns: {
222
- raw: this._gridParameters.enableEditColumns ?? true
221
+ raw: this.isEditColumnsVisible()
223
222
  },
224
223
  EnableZebra: {
225
224
  raw: false
@@ -227,8 +226,20 @@ class TaskGridDatasetControl extends EventEmitter {
227
226
  EnableOptionSetColors: {
228
227
  raw: true
229
228
  },
229
+ EnableNavigation: {
230
+ raw: this.isNavigationEnabled()
231
+ },
230
232
  Height: {
231
233
  raw: this.getHeight()
234
+ },
235
+ EnableSorting: {
236
+ raw: this._gridParameters.enableSorting ?? false
237
+ },
238
+ EnableFiltering: {
239
+ raw: this._gridParameters.enableFiltering ?? false
240
+ },
241
+ RowHeight: {
242
+ raw: this._gridParameters.rowHeight ?? null
232
243
  }
233
244
  };
234
245
  }
@@ -246,8 +257,13 @@ class TaskGridDatasetControl extends EventEmitter {
246
257
  return true;
247
258
  }
248
259
  isEditColumnsVisible() {
249
- return true;
260
+ return this._gridParameters.enableEditColumns ?? false;
261
+ }
262
+ //required like this since task grid is using its own view switcher
263
+ isViewSwitcherEnabled() {
264
+ return this._gridParameters.enableViewSwitcher ?? false;
250
265
  }
266
+ //hide the native one
251
267
  isViewSwitcherVisible() {
252
268
  return false;
253
269
  }
@@ -336,15 +352,13 @@ class TaskGridDatasetControl extends EventEmitter {
336
352
  this._dataProvider.taskEvents.addEventListener('onBeforeTasksDeleted', () => this._dataProvider.setLoading(true));
337
353
  this._dataProvider.taskEvents.addEventListener('onAfterTasksDeleted', (result) => this._onAfterTasksDeleted(result));
338
354
  this._dataProvider.taskEvents.addEventListener('onBeforeTaskMoved', () => this._dataProvider.setLoading(true));
339
- this._dataProvider.taskEvents.addEventListener('onBeforeTasksEdited', () => this._dataProvider.setLoading(true));
340
- this._dataProvider.taskEvents.addEventListener('onAfterTasksEdited', () => this._dataProvider.setLoading(false));
341
355
  this._dataProvider.taskEvents.addEventListener('onBeforeTemplateCreated', () => this._dataProvider.setLoading(true));
342
356
  this._dataProvider.taskEvents.addEventListener('onAfterTemplateCreated', () => this._dataProvider.setLoading(false));
343
357
  this._dataProvider.taskEvents.addEventListener('onBeforeTasksCreated', () => this._dataProvider.setLoading(true));
344
358
  this._dataProvider.taskEvents.addEventListener('onAfterTasksCreated', () => this._dataProvider.setLoading(false));
345
359
  this._dataProvider.taskEvents.addEventListener('onAfterTaskMoved', () => this._dataProvider.setLoading(false));
346
- this._dataProvider.taskEvents.addEventListener('onBeforeDatasetItemOpened', () => this._dataProvider.setLoading(true));
347
- this._dataProvider.taskEvents.addEventListener('onAfterDatasetItemOpened', () => this._dataProvider.setLoading(false));
360
+ this._dataProvider.taskEvents.addEventListener('onBeforeDatasetItemsOpened', () => this._dataProvider.setLoading(true));
361
+ this._dataProvider.taskEvents.addEventListener('onAfterDatasetItemsOpened', () => this._dataProvider.setLoading(false));
348
362
  this._savedQueryDataProvider.queryEvents.addEventListener('onAfterUserQueryCreated', (result) => this._onAfterUserQueryCreated(result));
349
363
  this._savedQueryDataProvider.queryEvents.addEventListener('onAfterUserQueryUpdated', (result) => this._dataProvider.setLoading(false));
350
364
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TaskGridDatasetControl.js","sources":["../../../src/components/TaskGrid/TaskGridDatasetControl.ts"],"sourcesContent":["import { IDatasetControlParameters } from \"../DatasetControl\";\nimport { IDatasetControlEvents } from \"../../utils/dataset-control\";\nimport { EditColumns, IEditColumns } from \"../../utils/dataset-control/EditColumns\";\nimport { IDataset, ICommand, EventEmitter, IDataProvider, Operators, Filtering } from \"@talxis/client-libraries\";\nimport { IDeleteTasksResult, ITaskDataProvider } from \"./providers/task\";\nimport { ILocalizationService } from \"../../utils\";\nimport { ITaskGridLabels } from \"./labels\";\nimport { ISavedQueryDataProvider, PATH_COLUMN_NAME } from \"./providers/saved-query\";\nimport { ITaskGridState } from \"./TaskGridDatasetControlFactory\";\nimport { Type } from \"@talxis/client-libraries/dist/utils/fetch-xml/filter/Type\";\nimport { ICustomColumnsDataProvider } from \"./providers/custom-columns/CustomColumnsDataProvider\";\nimport { ITaskGridDatasetControl, ITaskGridDescriptor, ITaskGridParameters, ITaskGridDatasetControlParameters } from \"./interfaces\";\nimport { ErrorHelper } from \"../../utils/error-handling\";\n\nconst STATE_CODE_ACTIVE = 0;\n\nexport class TaskGridDatasetControl extends EventEmitter<IDatasetControlEvents> implements ITaskGridDatasetControl {\n private _dataset: IDataset;\n private _descriptor: ITaskGridDescriptor;\n private _dataProvider: ITaskDataProvider;\n private _templateDataProvider?: IDataProvider;\n private _localizationService: ILocalizationService<ITaskGridLabels>;\n private _savedQueryDataProvider: ISavedQueryDataProvider;\n private _customColumnsDataProvider?: ICustomColumnsDataProvider;\n private _controlId: string;\n private _state: ITaskGridState;\n private _gridParameters: ITaskGridParameters;\n private _commands: ICommand[] = [];\n private _getPcfContext: () => ComponentFramework.Context<any, any>;\n private _changeToQueryId!: string;\n\n constructor(parameters: ITaskGridDatasetControlParameters) {\n super();\n this._dataset = parameters.dataset;\n this._dataProvider = this._dataset.getDataProvider() as ITaskDataProvider;\n this._descriptor = parameters.taskGridDescriptor;\n this._controlId = this._descriptor.onGetControlId?.() ?? `task-grid-dataset-control-${crypto.randomUUID()}`;\n this._localizationService = parameters.localizationService;\n this._savedQueryDataProvider = parameters.savedQueryDataProvider;\n this._customColumnsDataProvider = parameters.customColumnsDataProvider;\n this._templateDataProvider = parameters.templateDataProvider;\n this._state = parameters.state;\n this._gridParameters = this._descriptor.onGetGridParameters?.() ?? {};\n this._getPcfContext = parameters.onGetPcfContext;\n this._loadState(parameters.state);\n this.loadCommands([]);\n this._registerEventListeners();\n }\n\n public get editColumns(): IEditColumns {\n return new EditColumns({ datasetControl: this });\n }\n\n public getNativeColumns() {\n return {\n ...this._descriptor.onGetFieldMapping(),\n path: PATH_COLUMN_NAME\n }\n }\n\n public getLocalizationService() {\n return this._localizationService;\n }\n\n public getControlId() {\n return this._controlId;\n }\n\n public isRowDraggingEnabled(): boolean {\n return this._gridParameters.enableRowDragging ?? true;\n }\n\n public isEditColumnsScopeSelectorEnabled(): boolean {\n return this._gridParameters.enableEditColumnsScopeSelector ?? true;\n }\n\n public isTemplatingEnabled(): boolean {\n return !!this._templateDataProvider;\n }\n\n public isCustomColumnsEnabled(): boolean {\n return !!this._customColumnsDataProvider;\n }\n\n public isHideInactiveTasksToggleVisible(): boolean {\n return this._gridParameters.enableHideInactiveTasksToggle ?? true;\n }\n\n public isCustomColumnCreationEnabled(): boolean {\n return this._gridParameters.enableCustomColumnCreation ?? true;\n }\n \n public isCustomColumnEditingEnabled(): boolean {\n return this._gridParameters.enableCustomColumnEditing ?? true;\n }\n public isCustomColumnDeletionEnabled(): boolean {\n return this._gridParameters.enableCustomColumnDeletion ?? true;\n }\n\n public isInlineCreateEnabled(): boolean {\n return this._gridParameters.enableInlineCreation ?? true;\n }\n\n public isShowHierarchyToggleVisible(): boolean {\n return this._gridParameters.enableShowHierarchyToggle ?? true;\n }\n\n public getInactiveTasksVisibility() {\n const stateCodeCondition = this._dataProvider.getFiltering()?.conditions?.find(condition => condition.attributeName === this.getNativeColumns().stateCode);\n switch (stateCodeCondition?.conditionOperator) {\n case Operators.In.Value:\n return stateCodeCondition.value?.includes('1') ?? false;\n case Operators.Equal.Value:\n return stateCodeCondition.value === '1';\n default: {\n return true;\n }\n }\n }\n \n public isViewManagerEnabled(): boolean {\n return this._gridParameters.enableQueryManager ?? true;\n }\n\n public isSaveQueryAsNewEnabled(): boolean {\n return this._gridParameters.enableSaveAsNewQuery ?? true;\n }\n\n public isSaveQueryChangesEnabled(): boolean {\n return this._gridParameters.enableSaveQueryChanges ?? true;\n }\n\n public isUserQueriesFeatureEnabled(): boolean {\n return this._gridParameters.enableUserQueries ?? true;\n }\n\n public getSavedQueryDataProvider() {\n return this._savedQueryDataProvider;\n }\n\n public getTemplateDataProvider(): IDataProvider {\n if (!this._templateDataProvider) {\n throw new Error('This TaskGridDatasetControl does not have a template data provider');\n }\n return this._templateDataProvider;\n }\n\n\n public createUserQueryDataProvider(): IDataProvider {\n return this._descriptor.onCreateUserQueryDataProvider();\n }\n\n public getCustomColumnsDataProvider() {\n if (!this._customColumnsDataProvider) {\n throw new Error('This TaskGridDatasetControl does not have a custom columns data provider!');\n }\n return this._customColumnsDataProvider;\n }\n\n public toggleFlatList(enabled: boolean) {\n if (!this._state.savedQuery) {\n throw new Error('Cannot toggle flat list mode when there is no saved query in state');\n }\n this._state.savedQuery.isFlatListEnabled = enabled;\n const pathColumn = this._dataProvider.getColumnsMap()[this.getNativeColumns().path];\n pathColumn.isHidden = !enabled;\n pathColumn.order = -1;\n //update the columns to trigger column sort\n this._dataProvider.setColumns(this._dataProvider.getColumns());\n this._dataProvider.refresh();\n }\n\n public toggleHideInactiveTasks(hide: boolean) {\n const filtering = new Filtering(this._dataProvider);\n const stateCodeFilter = filtering.getColumnFilter(this.getNativeColumns().stateCode);\n stateCodeFilter.clear();\n\n if (hide) {\n const condition = stateCodeFilter.addCondition();\n condition.setOperator(Operators.Equal.Value);\n condition.setValue([STATE_CODE_ACTIVE]);\n }\n const filterExpression = filtering.getFilterExpression(Type.And.Value);\n if (filterExpression) {\n this._dataProvider.setFiltering(filterExpression);\n }\n this._dataProvider.refresh();\n }\n\n //we need to make sure that query gets saved into state\n public changeSavedQuery(queryId: string) {\n this._changeToQueryId = queryId;\n this.requestRemount();\n }\n\n public setInterceptor(event: any, interceptor: any): void {\n throw new Error(\"Method not implemented.\");\n }\n\n public isPaginationVisible(): boolean {\n return false;\n }\n public isRecordCountVisible(): boolean {\n return true\n }\n public isPageSizeSwitcherVisible(): boolean {\n return false;\n }\n public isQuickFindVisible(): boolean {\n return this._gridParameters.enableQuickFind ?? true;\n }\n public isAutoSaveEnabled(): boolean {\n return true;\n }\n public isRibbonVisible(): boolean {\n return true;\n }\n public getHeight(): string | null {\n return this._gridParameters.height ?? null;\n }\n public getDataset(): IDataset {\n return this._dataset;\n }\n public getDataProvider(): ITaskDataProvider {\n return this._dataProvider;\n }\n public getPcfContext(): ComponentFramework.Context<any> {\n return this._getPcfContext();\n }\n\n public isTaskEditingEnabled(): boolean {\n return this._gridParameters.enableTaskEditing ?? true;\n }\n public isTaskCreatingEnabled(): boolean {\n if(!this.isTaskEditingEnabled()) return false;\n return this._gridParameters.enableTaskCreation ?? true;\n }\n public isTaskDeletingEnabled(): boolean {\n if(!this.isTaskEditingEnabled()) return false;\n return this._gridParameters.enableTaskDeletion ?? true;\n }\n\n public getParameters(): IDatasetControlParameters {\n return {\n Grid: this.getDataset(),\n EnableEditing: {\n raw: this.isTaskEditingEnabled()\n },\n EnableAutoSave: {\n raw: true\n },\n EnableEditColumns: {\n raw: this._gridParameters.enableEditColumns ?? true\n },\n EnableZebra: {\n raw: false\n },\n EnableOptionSetColors: {\n raw: true\n },\n Height: {\n raw: this.getHeight()\n }\n }\n }\n public async loadCommands(ids: string[]): Promise<void> {\n this._commands = await this._dataProvider.retrieveRecordCommand({\n recordIds: ids,\n refreshAllRules: true\n });\n this.dispatchEvent('onRecordCommandsLoaded');\n }\n public retrieveRecordCommands(): ICommand[] {\n return this._commands;\n }\n public areCommandsLoaded(): boolean {\n return true;\n }\n public isEditColumnsVisible(): boolean {\n return true;\n }\n public isViewSwitcherVisible(): boolean {\n return false;\n }\n public isEditFiltersVisible(): boolean {\n return false;\n }\n public requestEditColumns(): void {\n throw new Error(\"Method not implemented.\");\n }\n public destroy(): void {\n this.saveState();\n this._dataProvider.destroy();\n this._savedQueryDataProvider.destroy();\n this._customColumnsDataProvider?.destroy();\n this._templateDataProvider?.destroy();\n }\n public requestRemount(): void {\n this.dispatchEvent('onRemountRequested');\n }\n public async init(): Promise<void> {\n return;\n }\n public getState(): ComponentFramework.Dictionary {\n return this._state;\n }\n public saveState(): void {\n if (this._changeToQueryId) {\n this._state.savedQuery = {\n id: this._changeToQueryId\n }\n //@ts-ignore\n if(this._state.AgGridState) {\n //clean up AgGrid state as it might not be compatible with new query\n //@ts-ignore\n delete this._state.AgGridState;\n }\n }\n else {\n const currentQueryId = this._savedQueryDataProvider.getCurrentQuery().id;\n this._state.savedQuery = {\n ...this._savedQueryDataProvider.getSavedQuery(currentQueryId),\n filtering: this._dataProvider.getFiltering() ?? undefined,\n sorting: this._dataProvider.getSorting(),\n columns: this._dataProvider.getColumns(),\n searchQuery: this._dataProvider.getSearchQuery() ?? undefined,\n linking: this._dataProvider.getLinking(),\n isFlatListEnabled: this._dataProvider.isFlatListEnabled(),\n }\n }\n }\n\n private _loadState(state: ITaskGridState) {\n let currentQuery = this._savedQueryDataProvider.getCurrentQuery();\n if (!state.savedQuery) {\n state.savedQuery = currentQuery;\n }\n //at this point current query might be missing required properties\n let { filtering, sorting, columns, searchQuery, linking } = currentQuery;\n this._dataProvider.setColumns(columns);\n\n if (filtering) {\n this._dataProvider.setFiltering(filtering);\n }\n if (sorting) {\n this._dataProvider.setSorting(sorting);\n }\n if (linking) {\n this._dataProvider.setLinking(linking);\n }\n if (searchQuery) {\n this._dataProvider.setSearchQuery(searchQuery);\n }\n }\n\n private _onSelectedRecordsChanged(ids: string[]) {\n this.loadCommands(ids);\n }\n\n private _onAfterUserQueryCreated(result: string | null) {\n this._dataProvider.setLoading(false);\n if (result) {\n this.changeSavedQuery(result);\n }\n }\n\n private _registerEventListeners() {\n this._dataProvider.taskEvents.addEventListener('onError', (error, message) => this._onError(error, message));\n this._customColumnsDataProvider?.events.addEventListener('onError', (error, message) => this._onError(error, message));\n this._savedQueryDataProvider.queryEvents.addEventListener('onError', (error, message) => this._onError(error, message));\n this._dataProvider.addEventListener('onRecordsSelected', (ids) => this._onSelectedRecordsChanged(ids));\n this._dataProvider.taskEvents.addEventListener('onBeforeTasksDeleted', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterTasksDeleted', (result) => this._onAfterTasksDeleted(result));\n this._dataProvider.taskEvents.addEventListener('onBeforeTaskMoved', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onBeforeTasksEdited', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterTasksEdited', () => this._dataProvider.setLoading(false));\n this._dataProvider.taskEvents.addEventListener('onBeforeTemplateCreated', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterTemplateCreated', () => this._dataProvider.setLoading(false));\n this._dataProvider.taskEvents.addEventListener('onBeforeTasksCreated', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterTasksCreated', () => this._dataProvider.setLoading(false));\n this._dataProvider.taskEvents.addEventListener('onAfterTaskMoved', () => this._dataProvider.setLoading(false));\n this._dataProvider.taskEvents.addEventListener('onBeforeDatasetItemOpened', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterDatasetItemOpened', () => this._dataProvider.setLoading(false));\n this._savedQueryDataProvider.queryEvents.addEventListener('onAfterUserQueryCreated', (result) => this._onAfterUserQueryCreated(result));\n this._savedQueryDataProvider.queryEvents.addEventListener('onAfterUserQueryUpdated', (result) => this._dataProvider.setLoading(false));\n }\n\n private _onError = (error: any, message: string) => {\n this._dataProvider.setLoading(false);\n this.getPcfContext().navigation.openErrorDialog({\n message: message,\n details: error\n })\n }\n\n private _onAfterTasksDeleted = (result: IDeleteTasksResult | null) => {\n this._dataProvider.setLoading(false);\n if (!result) return;\n if (!result.success) {\n this.getPcfContext().navigation.openConfirmDialog({\n subtitle: this._localizationService.getLocalizedString('deletingTasksError'),\n text: result.errors.map(e => {\n return `${this._dataProvider.getRecordsMap()[e.id].getNamedReference().name}: ${ErrorHelper.getMessageFromError(e.error)}`\n }).join('\\n'),\n })\n }\n }\n\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskGridDatasetControl.js","sources":["../../../src/components/TaskGrid/TaskGridDatasetControl.ts"],"sourcesContent":["import { IDatasetControlParameters } from \"../DatasetControl\";\nimport { IDatasetControlEvents } from \"../../utils/dataset-control\";\nimport { EditColumns, IEditColumns } from \"../../utils/dataset-control/EditColumns\";\nimport { IDataset, ICommand, EventEmitter, IDataProvider, Operators, Filtering } from \"@talxis/client-libraries\";\nimport { IDeleteTasksResult, ITaskDataProvider } from \"./providers/task\";\nimport { ILocalizationService } from \"../../utils\";\nimport { ITaskGridLabels } from \"./labels\";\nimport { ISavedQueryDataProvider, PATH_COLUMN_NAME } from \"./providers/saved-query\";\nimport { ITaskGridState } from \"./TaskGridDatasetControlFactory\";\nimport { Type } from \"@talxis/client-libraries/dist/utils/fetch-xml/filter/Type\";\nimport { ICustomColumnsDataProvider } from \"./providers/custom-columns/CustomColumnsDataProvider\";\nimport { ITaskGridDatasetControl, ITaskGridDescriptor, ITaskGridParameters, ITaskGridDatasetControlParameters } from \"./interfaces\";\nimport { ErrorHelper } from \"../../utils/error-handling\";\n\nconst STATE_CODE_ACTIVE = 0;\n\nexport class TaskGridDatasetControl extends EventEmitter<IDatasetControlEvents> implements ITaskGridDatasetControl {\n private _dataset: IDataset;\n private _descriptor: ITaskGridDescriptor;\n private _dataProvider: ITaskDataProvider;\n private _templateDataProvider?: IDataProvider;\n private _localizationService: ILocalizationService<ITaskGridLabels>;\n private _savedQueryDataProvider: ISavedQueryDataProvider;\n private _customColumnsDataProvider?: ICustomColumnsDataProvider;\n private _controlId: string;\n private _state: ITaskGridState;\n private _gridParameters: ITaskGridParameters;\n private _commands: ICommand[] = [];\n private _getPcfContext: () => ComponentFramework.Context<any, any>;\n private _changeToQueryId!: string;\n\n constructor(parameters: ITaskGridDatasetControlParameters) {\n super();\n this._dataset = parameters.dataset;\n this._dataProvider = this._dataset.getDataProvider() as ITaskDataProvider;\n this._descriptor = parameters.taskGridDescriptor;\n this._controlId = this._descriptor.onGetControlId?.() ?? `task-grid-dataset-control-${crypto.randomUUID()}`;\n this._localizationService = parameters.localizationService;\n this._savedQueryDataProvider = parameters.savedQueryDataProvider;\n this._customColumnsDataProvider = parameters.customColumnsDataProvider;\n this._templateDataProvider = parameters.templateDataProvider;\n this._state = parameters.state;\n this._gridParameters = this._descriptor.onGetGridParameters?.() ?? {};\n this._getPcfContext = parameters.onGetPcfContext;\n this._loadState(parameters.state);\n this.loadCommands([]);\n this._registerEventListeners();\n }\n\n public get editColumns(): IEditColumns {\n return new EditColumns({ datasetControl: this });\n }\n\n public getNativeColumns() {\n return {\n ...this._descriptor.onGetFieldMapping(),\n path: PATH_COLUMN_NAME\n }\n }\n\n public getLocalizationService() {\n return this._localizationService;\n }\n\n public getControlId() {\n return this._controlId;\n }\n\n public isRowDraggingEnabled(): boolean {\n return this._gridParameters.enableRowDragging ?? false;\n }\n\n public isEditColumnsScopeSelectorEnabled(): boolean {\n return this._gridParameters.enableEditColumnsScopeSelector ?? false;\n }\n\n public isTemplatingEnabled(): boolean {\n return !!this._templateDataProvider;\n }\n\n public isCustomColumnsEnabled(): boolean {\n return !!this._customColumnsDataProvider;\n }\n\n public isHideInactiveTasksToggleVisible(): boolean {\n return this._gridParameters.enableHideInactiveTasksToggle ?? false;\n }\n\n public isCustomColumnCreationEnabled(): boolean {\n return this._gridParameters.enableCustomColumnCreation ?? false;\n }\n \n public isCustomColumnEditingEnabled(): boolean {\n return this._gridParameters.enableCustomColumnEditing ?? false;\n }\n public isCustomColumnDeletionEnabled(): boolean {\n return this._gridParameters.enableCustomColumnDeletion ?? false;\n }\n\n public isInlineCreateEnabled(): boolean {\n return this._gridParameters.enableInlineCreation ?? false;\n }\n\n public isShowHierarchyToggleVisible(): boolean {\n return this._gridParameters.enableShowHierarchyToggle ?? false;\n }\n\n public getInactiveTasksVisibility() {\n const stateCodeCondition = this._dataProvider.getFiltering()?.conditions?.find(condition => condition.attributeName === this.getNativeColumns().stateCode);\n switch (stateCodeCondition?.conditionOperator) {\n case Operators.In.Value:\n return stateCodeCondition.value?.includes('1') ?? false;\n case Operators.Equal.Value:\n return stateCodeCondition.value === '1';\n default: {\n return true;\n }\n }\n }\n \n public isViewManagerEnabled(): boolean {\n return this._gridParameters.enableQueryManager ?? false;\n }\n\n public isSaveQueryAsNewEnabled(): boolean {\n return this._gridParameters.enableSaveAsNewQuery ?? false;\n }\n\n public isSaveQueryChangesEnabled(): boolean {\n return this._gridParameters.enableSaveQueryChanges ?? false;\n }\n\n public isUserQueriesFeatureEnabled(): boolean {\n return this._gridParameters.enableUserQueries ?? false;\n }\n\n public getSavedQueryDataProvider() {\n return this._savedQueryDataProvider;\n }\n\n public getTemplateDataProvider(): IDataProvider {\n if (!this._templateDataProvider) {\n throw new Error('This TaskGridDatasetControl does not have a template data provider');\n }\n return this._templateDataProvider;\n }\n\n\n public createUserQueryDataProvider(): IDataProvider {\n return this._descriptor.onCreateUserQueryDataProvider();\n }\n\n public getCustomColumnsDataProvider() {\n if (!this._customColumnsDataProvider) {\n throw new Error('This TaskGridDatasetControl does not have a custom columns data provider!');\n }\n return this._customColumnsDataProvider;\n }\n\n public toggleFlatList(enabled: boolean) {\n if (!this._state.savedQuery) {\n throw new Error('Cannot toggle flat list mode when there is no saved query in state');\n }\n this._state.savedQuery.isFlatListEnabled = enabled;\n const pathColumn = this._dataProvider.getColumnsMap()[this.getNativeColumns().path];\n pathColumn.isHidden = !enabled;\n pathColumn.order = -1;\n //update the columns to trigger column sort\n this._dataProvider.setColumns(this._dataProvider.getColumns());\n this._dataProvider.refresh();\n }\n\n public toggleHideInactiveTasks(hide: boolean) {\n const filtering = new Filtering(this._dataProvider);\n const stateCodeFilter = filtering.getColumnFilter(this.getNativeColumns().stateCode);\n stateCodeFilter.clear();\n\n if (hide) {\n const condition = stateCodeFilter.addCondition();\n condition.setOperator(Operators.Equal.Value);\n condition.setValue(STATE_CODE_ACTIVE);\n }\n const filterExpression = filtering.getFilterExpression(Type.And.Value);\n if (filterExpression) {\n this._dataProvider.setFiltering(filterExpression);\n }\n this._dataProvider.refresh();\n }\n\n //we need to make sure that query gets saved into state\n public changeSavedQuery(queryId: string) {\n this._changeToQueryId = queryId;\n this.requestRemount();\n }\n\n public setInterceptor(event: any, interceptor: any): void {\n throw new Error(\"Method not implemented.\");\n }\n\n public isPaginationVisible(): boolean {\n return false;\n }\n public isRecordCountVisible(): boolean {\n return true\n }\n public isPageSizeSwitcherVisible(): boolean {\n return false;\n }\n public isQuickFindVisible(): boolean {\n return this._gridParameters.enableQuickFind ?? false;\n }\n public isAutoSaveEnabled(): boolean {\n return true;\n }\n public isRibbonVisible(): boolean {\n return true;\n }\n public getHeight(): string | null {\n return this._descriptor.onGetHeight?.() ?? null;\n }\n public getDataset(): IDataset {\n return this._dataset;\n }\n public getDataProvider(): ITaskDataProvider {\n return this._dataProvider;\n }\n public getPcfContext(): ComponentFramework.Context<any> {\n return this._getPcfContext();\n }\n public isTaskEditingEnabled(): boolean {\n return this._gridParameters.enableTaskEditing ?? false;\n }\n public isTaskCreatingEnabled(): boolean {\n return this._gridParameters.enableTaskCreation ?? false;\n }\n public isTaskDeletingEnabled(): boolean {\n return this._gridParameters.enableTaskDeletion ?? false;\n }\n public isNavigationEnabled(): boolean {\n return this._gridParameters.enableNavigation ?? false;\n }\n\n public getParameters(): IDatasetControlParameters {\n return {\n Grid: this.getDataset(),\n EnableEditing: {\n raw: this.isTaskEditingEnabled()\n },\n EnableAutoSave: {\n raw: true\n },\n EnableEditColumns: {\n raw: this.isEditColumnsVisible()\n },\n EnableZebra: {\n raw: false\n },\n EnableOptionSetColors: {\n raw: true\n },\n EnableNavigation: {\n raw: this.isNavigationEnabled()\n },\n Height: {\n raw: this.getHeight()\n },\n EnableSorting: {\n raw: this._gridParameters.enableSorting ?? false\n },\n EnableFiltering: {\n raw: this._gridParameters.enableFiltering ?? false\n },\n RowHeight: {\n raw: this._gridParameters.rowHeight ?? null\n }\n \n }\n }\n public async loadCommands(ids: string[]): Promise<void> {\n this._commands = await this._dataProvider.retrieveRecordCommand({\n recordIds: ids,\n refreshAllRules: true\n });\n this.dispatchEvent('onRecordCommandsLoaded');\n }\n public retrieveRecordCommands(): ICommand[] {\n return this._commands;\n }\n public areCommandsLoaded(): boolean {\n return true;\n }\n public isEditColumnsVisible(): boolean {\n return this._gridParameters.enableEditColumns ?? false;\n }\n //required like this since task grid is using its own view switcher\n public isViewSwitcherEnabled(): boolean {\n return this._gridParameters.enableViewSwitcher ?? false;\n }\n //hide the native one\n public isViewSwitcherVisible(): boolean {\n return false;\n }\n public isEditFiltersVisible(): boolean {\n return false;\n }\n public requestEditColumns(): void {\n throw new Error(\"Method not implemented.\");\n }\n public destroy(): void {\n this.saveState();\n this._dataProvider.destroy();\n this._savedQueryDataProvider.destroy();\n this._customColumnsDataProvider?.destroy();\n this._templateDataProvider?.destroy();\n }\n public requestRemount(): void {\n this.dispatchEvent('onRemountRequested');\n }\n public async init(): Promise<void> {\n return;\n }\n public getState(): ComponentFramework.Dictionary {\n return this._state;\n }\n public saveState(): void {\n if (this._changeToQueryId) {\n this._state.savedQuery = {\n id: this._changeToQueryId\n }\n //@ts-ignore\n if(this._state.AgGridState) {\n //clean up AgGrid state as it might not be compatible with new query\n //@ts-ignore\n delete this._state.AgGridState;\n }\n }\n else {\n const currentQueryId = this._savedQueryDataProvider.getCurrentQuery().id;\n this._state.savedQuery = {\n ...this._savedQueryDataProvider.getSavedQuery(currentQueryId),\n filtering: this._dataProvider.getFiltering() ?? undefined,\n sorting: this._dataProvider.getSorting(),\n columns: this._dataProvider.getColumns(),\n searchQuery: this._dataProvider.getSearchQuery() ?? undefined,\n linking: this._dataProvider.getLinking(),\n isFlatListEnabled: this._dataProvider.isFlatListEnabled(),\n }\n }\n }\n\n private _loadState(state: ITaskGridState) {\n let currentQuery = this._savedQueryDataProvider.getCurrentQuery();\n if (!state.savedQuery) {\n state.savedQuery = currentQuery;\n }\n //at this point current query might be missing required properties\n let { filtering, sorting, columns, searchQuery, linking } = currentQuery;\n this._dataProvider.setColumns(columns);\n\n if (filtering) {\n this._dataProvider.setFiltering(filtering);\n }\n if (sorting) {\n this._dataProvider.setSorting(sorting);\n }\n if (linking) {\n this._dataProvider.setLinking(linking);\n }\n if (searchQuery) {\n this._dataProvider.setSearchQuery(searchQuery);\n }\n }\n\n private _onSelectedRecordsChanged(ids: string[]) {\n this.loadCommands(ids);\n }\n\n private _onAfterUserQueryCreated(result: string | null) {\n this._dataProvider.setLoading(false);\n if (result) {\n this.changeSavedQuery(result);\n }\n }\n\n private _registerEventListeners() {\n this._dataProvider.taskEvents.addEventListener('onError', (error, message) => this._onError(error, message));\n this._customColumnsDataProvider?.events.addEventListener('onError', (error, message) => this._onError(error, message));\n this._savedQueryDataProvider.queryEvents.addEventListener('onError', (error, message) => this._onError(error, message));\n this._dataProvider.addEventListener('onRecordsSelected', (ids) => this._onSelectedRecordsChanged(ids));\n this._dataProvider.taskEvents.addEventListener('onBeforeTasksDeleted', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterTasksDeleted', (result) => this._onAfterTasksDeleted(result));\n this._dataProvider.taskEvents.addEventListener('onBeforeTaskMoved', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onBeforeTemplateCreated', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterTemplateCreated', () => this._dataProvider.setLoading(false));\n this._dataProvider.taskEvents.addEventListener('onBeforeTasksCreated', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterTasksCreated', () => this._dataProvider.setLoading(false));\n this._dataProvider.taskEvents.addEventListener('onAfterTaskMoved', () => this._dataProvider.setLoading(false));\n this._dataProvider.taskEvents.addEventListener('onBeforeDatasetItemsOpened', () => this._dataProvider.setLoading(true));\n this._dataProvider.taskEvents.addEventListener('onAfterDatasetItemsOpened', () => this._dataProvider.setLoading(false));\n this._savedQueryDataProvider.queryEvents.addEventListener('onAfterUserQueryCreated', (result) => this._onAfterUserQueryCreated(result));\n this._savedQueryDataProvider.queryEvents.addEventListener('onAfterUserQueryUpdated', (result) => this._dataProvider.setLoading(false));\n }\n\n private _onError = (error: any, message: string) => {\n this._dataProvider.setLoading(false);\n this.getPcfContext().navigation.openErrorDialog({\n message: message,\n details: error\n })\n }\n\n private _onAfterTasksDeleted = (result: IDeleteTasksResult | null) => {\n this._dataProvider.setLoading(false);\n if (!result) return;\n if (!result.success) {\n this.getPcfContext().navigation.openConfirmDialog({\n subtitle: this._localizationService.getLocalizedString('deletingTasksError'),\n text: result.errors.map(e => {\n return `${this._dataProvider.getRecordsMap()[e.id].getNamedReference().name}: ${ErrorHelper.getMessageFromError(e.error)}`\n }).join('\\n'),\n })\n }\n }\n\n}"],"names":[],"mappings":"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"}
@@ -27,12 +27,15 @@ class TaskGridDatasetControlFactory {
27
27
  const taskStrategy = parameters.taskGridDescriptor.onCreateTaskStrategy({
28
28
  templateDataProvider: templateDataProvider,
29
29
  customColumnsDataProvider: customColumnsDataProvider,
30
+ enableTaskEditing: parameters.taskGridDescriptor.onGetGridParameters?.()?.enableTaskEditing ?? false,
31
+ enableInlineCreation: parameters.taskGridDescriptor.onGetGridParameters?.()?.enableInlineCreation ?? false,
30
32
  });
31
33
  taskDataProvider = new TaskDataProvider({
32
34
  localizationService: parameters.localizationService,
33
35
  nativeColumns: { ...parameters.taskGridDescriptor.onGetFieldMapping(), path: PATH_COLUMN_NAME },
34
36
  strategy: taskStrategy,
35
37
  savedQueryDataProvider: savedQueryDataProvider,
38
+ customColumnsDataProvider: customColumnsDataProvider,
36
39
  onIsFlatListEnabled: () => TaskGridDatasetControlFactory._getIsFlatlistEnabled(parameters, savedQueryDataProvider)
37
40
  });
38
41
  const dataset = new Dataset(taskDataProvider);
@@ -1 +1 @@
1
- {"version":3,"file":"TaskGridDatasetControlFactory.js","sources":["../../../src/components/TaskGrid/TaskGridDatasetControlFactory.ts"],"sourcesContent":["import { Dataset } from \"@talxis/client-libraries\";\nimport { ITaskDataProvider, TaskDataProvider } from \"./providers/task\";\nimport { ILocalizationService } from \"../../utils\";\nimport { ITaskGridLabels } from \"./labels\";\nimport { ISavedQuery, ISavedQueryDataProvider, PATH_COLUMN_NAME, SavedQueryDataProvider } from \"./providers/saved-query\";\nimport { CustomColumnsDataProvider } from \"./providers/custom-columns/CustomColumnsDataProvider\";\nimport { ITaskGridDatasetControl, ITaskGridDescriptor } from \"./interfaces\";\nimport { TaskGridDatasetControl } from \"./TaskGridDatasetControl\";\n\nexport interface ITaskGridState {\n savedQuery?: Partial<ISavedQuery> & { id: string; linking?: ComponentFramework.PropertyHelper.DataSetApi.LinkEntityExposedExpression[] };\n}\n\ninterface ITaskGridDatasetControlFactoryParameters {\n state: ITaskGridState;\n taskGridDescriptor: ITaskGridDescriptor;\n localizationService: ILocalizationService<ITaskGridLabels>;\n onGetPcfContext: () => ComponentFramework.Context<any>;\n}\n\nexport class TaskGridDatasetControlFactory {\n //makes sure the instance is created after the dependencies are loaded, and handles creation of data providers and dataset\n public static async createInstance(parameters: ITaskGridDatasetControlFactoryParameters): Promise<ITaskGridDatasetControl> {\n let taskDataProvider: ITaskDataProvider;\n await parameters.taskGridDescriptor.onLoadDependencies?.();\n\n const customColumnsStrategy = parameters.taskGridDescriptor.onCreateCustomColumnsStrategy?.();\n let customColumnsDataProvider: CustomColumnsDataProvider | undefined;\n if (customColumnsStrategy) {\n customColumnsDataProvider = new CustomColumnsDataProvider(customColumnsStrategy);\n }\n await customColumnsDataProvider?.refresh();\n\n const savedQueryStrategy = parameters.taskGridDescriptor.onCreateSavedQueryStrategy();\n const savedQueryDataProvider = new SavedQueryDataProvider(savedQueryStrategy, {\n localizationService: parameters.localizationService,\n nativeColumns: { ...parameters.taskGridDescriptor.onGetFieldMapping(), path: PATH_COLUMN_NAME },\n customColumnsDataProvider: customColumnsDataProvider,\n preferredQuery: parameters.state.savedQuery,\n })\n const templateDataProvider = parameters.taskGridDescriptor.onCreateTemplateDataProvider?.();\n await savedQueryDataProvider.refresh();\n\n const taskStrategy = parameters.taskGridDescriptor.onCreateTaskStrategy({\n templateDataProvider: templateDataProvider,\n customColumnsDataProvider: customColumnsDataProvider,\n })\n\n taskDataProvider = new TaskDataProvider({\n localizationService: parameters.localizationService,\n nativeColumns: { ...parameters.taskGridDescriptor.onGetFieldMapping(), path: PATH_COLUMN_NAME },\n strategy: taskStrategy,\n savedQueryDataProvider: savedQueryDataProvider,\n onIsFlatListEnabled: () => TaskGridDatasetControlFactory._getIsFlatlistEnabled(parameters, savedQueryDataProvider)\n });\n\n const dataset = new Dataset(taskDataProvider);\n\n return new TaskGridDatasetControl({\n dataset,\n state: parameters.state,\n taskGridDescriptor: parameters.taskGridDescriptor,\n templateDataProvider: templateDataProvider,\n localizationService: parameters.localizationService,\n savedQueryDataProvider: savedQueryDataProvider,\n customColumnsDataProvider: customColumnsDataProvider,\n onGetPcfContext: () => parameters.onGetPcfContext(),\n });\n }\n\n private static _getIsFlatlistEnabled(parameters: ITaskGridDatasetControlFactoryParameters, savedQueryDataProvider: ISavedQueryDataProvider): boolean {\n const currentQueryId = savedQueryDataProvider.getCurrentQuery().id;\n return parameters.state.savedQuery?.isFlatListEnabled ?? savedQueryDataProvider.getSavedQuery(currentQueryId).isFlatListEnabled ?? false;\n }\n\n}"],"names":[],"mappings":";;;;;;MAoBa,6BAA6B,CAAA;;AAE/B,IAAA,aAAa,cAAc,CAAC,UAAoD,EAAA;AACnF,QAAA,IAAI,gBAAmC,CAAC;AACxC,QAAA,MAAM,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,IAAI,CAAC;QAE3D,MAAM,qBAAqB,GAAG,UAAU,CAAC,kBAAkB,CAAC,6BAA6B,IAAI,CAAC;AAC9F,QAAA,IAAI,yBAAgE,CAAC;AACrE,QAAA,IAAI,qBAAqB,EAAE;AACvB,YAAA,yBAAyB,GAAG,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;AACpF,SAAA;AACD,QAAA,MAAM,yBAAyB,EAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,CAAC;AACtF,QAAA,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,CAAC,kBAAkB,EAAE;YAC1E,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;AACnD,YAAA,aAAa,EAAE,EAAE,GAAG,UAAU,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;AAC/F,YAAA,yBAAyB,EAAE,yBAAyB;AACpD,YAAA,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU;AAC9C,SAAA,CAAC,CAAA;QACF,MAAM,oBAAoB,GAAG,UAAU,CAAC,kBAAkB,CAAC,4BAA4B,IAAI,CAAC;AAC5F,QAAA,MAAM,sBAAsB,CAAC,OAAO,EAAE,CAAC;AAEvC,QAAA,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;AACpE,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,yBAAyB,EAAE,yBAAyB;AACvD,SAAA,CAAC,CAAA;QAEF,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YACpC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;AACnD,YAAA,aAAa,EAAE,EAAE,GAAG,UAAU,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;AAC/F,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,sBAAsB,EAAE,sBAAsB;YAC9C,mBAAmB,EAAE,MAAM,6BAA6B,CAAC,qBAAqB,CAAC,UAAU,EAAE,sBAAsB,CAAC;AACrH,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE9C,OAAO,IAAI,sBAAsB,CAAC;YAC9B,OAAO;YACP,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;AACjD,YAAA,oBAAoB,EAAE,oBAAoB;YAC1C,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;AACnD,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,yBAAyB,EAAE,yBAAyB;AACpD,YAAA,eAAe,EAAE,MAAM,UAAU,CAAC,eAAe,EAAE;AACtD,SAAA,CAAC,CAAC;KACN;AAEO,IAAA,OAAO,qBAAqB,CAAC,UAAoD,EAAE,sBAA+C,EAAA;QACtI,MAAM,cAAc,GAAG,sBAAsB,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;AACnE,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,IAAI,sBAAsB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,iBAAiB,IAAI,KAAK,CAAC;KAC5I;AAEJ;;;;"}
1
+ {"version":3,"file":"TaskGridDatasetControlFactory.js","sources":["../../../src/components/TaskGrid/TaskGridDatasetControlFactory.ts"],"sourcesContent":["import { Dataset } from \"@talxis/client-libraries\";\nimport { ITaskDataProvider, TaskDataProvider } from \"./providers/task\";\nimport { ILocalizationService } from \"../../utils\";\nimport { ITaskGridLabels } from \"./labels\";\nimport { ISavedQuery, ISavedQueryDataProvider, PATH_COLUMN_NAME, SavedQueryDataProvider } from \"./providers/saved-query\";\nimport { CustomColumnsDataProvider } from \"./providers/custom-columns/CustomColumnsDataProvider\";\nimport { ITaskGridDatasetControl, ITaskGridDescriptor } from \"./interfaces\";\nimport { TaskGridDatasetControl } from \"./TaskGridDatasetControl\";\n\nexport interface ITaskGridState {\n savedQuery?: Partial<ISavedQuery> & { id: string; linking?: ComponentFramework.PropertyHelper.DataSetApi.LinkEntityExposedExpression[] };\n}\n\ninterface ITaskGridDatasetControlFactoryParameters {\n state: ITaskGridState;\n taskGridDescriptor: ITaskGridDescriptor;\n localizationService: ILocalizationService<ITaskGridLabels>;\n onGetPcfContext: () => ComponentFramework.Context<any>;\n}\n\nexport class TaskGridDatasetControlFactory {\n //makes sure the instance is created after the dependencies are loaded, and handles creation of data providers and dataset\n public static async createInstance(parameters: ITaskGridDatasetControlFactoryParameters): Promise<ITaskGridDatasetControl> {\n let taskDataProvider: ITaskDataProvider;\n await parameters.taskGridDescriptor.onLoadDependencies?.();\n\n const customColumnsStrategy = parameters.taskGridDescriptor.onCreateCustomColumnsStrategy?.();\n let customColumnsDataProvider: CustomColumnsDataProvider | undefined;\n if (customColumnsStrategy) {\n customColumnsDataProvider = new CustomColumnsDataProvider(customColumnsStrategy);\n }\n await customColumnsDataProvider?.refresh();\n\n const savedQueryStrategy = parameters.taskGridDescriptor.onCreateSavedQueryStrategy();\n const savedQueryDataProvider = new SavedQueryDataProvider(savedQueryStrategy, {\n localizationService: parameters.localizationService,\n nativeColumns: { ...parameters.taskGridDescriptor.onGetFieldMapping(), path: PATH_COLUMN_NAME },\n customColumnsDataProvider: customColumnsDataProvider,\n preferredQuery: parameters.state.savedQuery,\n })\n const templateDataProvider = parameters.taskGridDescriptor.onCreateTemplateDataProvider?.();\n await savedQueryDataProvider.refresh();\n\n const taskStrategy = parameters.taskGridDescriptor.onCreateTaskStrategy({\n templateDataProvider: templateDataProvider,\n customColumnsDataProvider: customColumnsDataProvider,\n enableTaskEditing: parameters.taskGridDescriptor.onGetGridParameters?.()?.enableTaskEditing ?? false,\n enableInlineCreation: parameters.taskGridDescriptor.onGetGridParameters?.()?.enableInlineCreation ?? false,\n })\n\n taskDataProvider = new TaskDataProvider({\n localizationService: parameters.localizationService,\n nativeColumns: { ...parameters.taskGridDescriptor.onGetFieldMapping(), path: PATH_COLUMN_NAME },\n strategy: taskStrategy,\n savedQueryDataProvider: savedQueryDataProvider,\n customColumnsDataProvider: customColumnsDataProvider,\n onIsFlatListEnabled: () => TaskGridDatasetControlFactory._getIsFlatlistEnabled(parameters, savedQueryDataProvider)\n });\n\n const dataset = new Dataset(taskDataProvider);\n\n return new TaskGridDatasetControl({\n dataset,\n state: parameters.state,\n taskGridDescriptor: parameters.taskGridDescriptor,\n templateDataProvider: templateDataProvider,\n localizationService: parameters.localizationService,\n savedQueryDataProvider: savedQueryDataProvider,\n customColumnsDataProvider: customColumnsDataProvider,\n onGetPcfContext: () => parameters.onGetPcfContext(),\n });\n }\n\n private static _getIsFlatlistEnabled(parameters: ITaskGridDatasetControlFactoryParameters, savedQueryDataProvider: ISavedQueryDataProvider): boolean {\n const currentQueryId = savedQueryDataProvider.getCurrentQuery().id;\n return parameters.state.savedQuery?.isFlatListEnabled ?? savedQueryDataProvider.getSavedQuery(currentQueryId).isFlatListEnabled ?? false;\n }\n\n}"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import React__default, { useCallback, useEffect } from 'react';
3
3
  import AsyncSelect from 'react-select/async';
4
+ import { useGridInstance } from '../../../../../Grid/grid/useGridInstance.js';
5
+ import { ThemeProvider } from '@fluentui/react';
4
6
  import { useTaskDataProvider } from '../../../../context.js';
5
7
  import { LookupMany } from '../../lookup-many/LookupMany.js';
6
8
  import { PeopleLookupMany } from '../../lookup-many/people-lookup-many/PeopleLookupMany.js';
@@ -17,9 +19,10 @@ const LookupManyCellRenderer = (props) => {
17
19
  const record = props.data;
18
20
  const [isDisabled, setIsDisabled] = React__default.useState(true);
19
21
  const customControl = record.getColumnInfo(baseColumn.name).ui.getCustomControls([])?.[0];
20
- const controlName = customControl.name ?? ControlName.LookupMany;
22
+ const controlName = (customControl?.name ?? ControlName.LookupMany);
21
23
  const bindings = customControl?.bindings;
22
24
  const provider = useTaskDataProvider();
25
+ const isNavigationEnabled = useGridInstance().isNavigationEnabled();
23
26
  const value = record.getValue(props.colDef.colId);
24
27
  const onSelectionChange = (selectedRecords) => {
25
28
  record.setValue(props.colDef.colId, selectedRecords);
@@ -44,7 +47,7 @@ const LookupManyCellRenderer = (props) => {
44
47
  selectedRecords: value,
45
48
  isDisabled,
46
49
  onRecordSelect: onSelectionChange,
47
- onRecordOpen,
50
+ onRecordOpen: isNavigationEnabled ? onRecordOpen : undefined,
48
51
  components: {
49
52
  onRenderSelect: (selectProps) => jsx(AsyncSelect, { ...selectProps, autoFocus: true, openMenuOnFocus: true, openMenuOnClick: true, styles: {
50
53
  ...selectProps.styles,
@@ -92,7 +95,7 @@ const LookupManyCellRenderer = (props) => {
92
95
  props.eGridCell.removeEventListener('dblclick', onSwitchToEditMode);
93
96
  };
94
97
  }, [onSwitchToEditMode]);
95
- return jsx("div", { children: getComponent() });
98
+ return jsx(ThemeProvider, { children: getComponent() });
96
99
  };
97
100
 
98
101
  export { LookupManyCellRenderer };
@@ -1 +1 @@
1
- {"version":3,"file":"LookupManyCellRenderer.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.tsx"],"sourcesContent":["import { IDataProvider, IRecord } from \"@talxis/client-libraries\";\nimport { useTaskDataProvider } from \"../../../../..\";\nimport React, { useCallback, useEffect } from \"react\";\nimport AsyncSelect from \"react-select/async\";\nimport { ICellProps } from \"../../../../../Grid/cells/cell/Cell\";\nimport { ColorfulLookupMany, ILookupManyProps, LookupMany, PeopleLookupMany } from \"../../lookup-many\";\n\ninterface ICellRendererProps extends ICellProps {\n dataProvider: IDataProvider;\n}\n\nenum ControlName {\n LookupMany = 'LookupMany',\n PeopleLookupMany = 'PeopleLookupMany',\n ColorfulLookupMany = 'ColorfulLookupMany',\n}\n\nexport const LookupManyCellRenderer = (props: ICellRendererProps) => {\n const { api, baseColumn, dataProvider } = props;\n const record: IRecord = props.data;\n const [isDisabled, setIsDisabled] = React.useState(true);\n const customControl = record.getColumnInfo(baseColumn.name).ui.getCustomControls([])?.[0];\n const controlName = customControl.name ?? ControlName.LookupMany as ControlName;\n const bindings = customControl?.bindings;\n const provider = useTaskDataProvider();\n const value: ComponentFramework.EntityReference[] | undefined = record.getValue(props.colDef!.colId!) as ComponentFramework.EntityReference[] | undefined;\n\n const onSelectionChange = (selectedRecords: ComponentFramework.EntityReference[]) => {\n record.setValue(props.colDef!.colId!, selectedRecords);\n record.save();\n api.refreshCells({\n rowNodes: [props.node],\n columns: [props.colDef!.colId!],\n force: true\n });\n }\n\n const onRecordOpen = (entityReference: ComponentFramework.EntityReference) => {\n provider.openDatasetItem(entityReference, {\n columnName: baseColumn.name\n });\n }\n\n const onMenuClose = () => {\n setIsDisabled(true);\n }\n\n const getComponentProps = (): ILookupManyProps => {\n return {\n dataProvider,\n selectedRecords: value,\n isDisabled,\n onRecordSelect: onSelectionChange,\n onRecordOpen,\n components: {\n onRenderSelect: (selectProps) =>\n <AsyncSelect {...selectProps}\n autoFocus\n openMenuOnFocus\n openMenuOnClick\n styles={{\n ...selectProps.styles,\n control: (base, props) => {\n return {\n ...selectProps.styles?.control?.(base, props),\n maxHeight: 200,\n overflow: 'auto',\n border: 'none',\n background: 'none',\n boxShadow: 'none',\n }\n }\n }}\n onMenuClose={() => {\n selectProps.onMenuClose?.();\n onMenuClose();\n }} />\n }\n }\n }\n\n const getComponent = (): JSX.Element => {\n switch (controlName) {\n case ControlName.ColorfulLookupMany:\n return <ColorfulLookupMany\n colorPropertyName={bindings?.ColorPropertyName?.value}\n {...getComponentProps()}\n />\n case ControlName.PeopleLookupMany:\n return <PeopleLookupMany\n {...getComponentProps()}\n imageUrlPropertyName={bindings?.ImageUrlPropertyName?.value}\n />\n default: {\n return <LookupMany\n {...getComponentProps()}\n />\n }\n }\n }\n const onSwitchToEditMode = useCallback(() => {\n if (props.value.editable) {\n setIsDisabled(false);\n }\n setTimeout(() => {\n const element = props.eGridCell.querySelector('[data-value]');\n element?.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, button: 0 }));\n element?.dispatchEvent(new MouseEvent('mouseup', { bubbles: true, button: 0 }));\n })\n }, [props.value.editable]);\n\n useEffect(() => {\n props.eGridCell.addEventListener('dblclick', onSwitchToEditMode);\n return () => {\n props.eGridCell.removeEventListener('dblclick', onSwitchToEditMode);\n }\n }, [onSwitchToEditMode]);\n\n return <div>\n {getComponent()}\n </div>\n}"],"names":["React","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"LookupManyCellRenderer.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.tsx"],"sourcesContent":["import { IDataProvider, IRecord } from \"@talxis/client-libraries\";\nimport { useTaskDataProvider } from \"../../../../..\";\nimport React, { useCallback, useEffect } from \"react\";\nimport AsyncSelect from \"react-select/async\";\nimport { ICellProps } from \"../../../../../Grid/cells/cell/Cell\";\nimport { ColorfulLookupMany, ILookupManyProps, LookupMany, PeopleLookupMany } from \"../../lookup-many\";\nimport { useAgGridInstance } from \"../../../../../Grid/grid/ag-grid/useAgGridInstance\";\nimport { useGridInstance } from \"../../../../../Grid/grid/useGridInstance\";\nimport { ThemeProvider } from \"@fluentui/react\";\n\ninterface ICellRendererProps extends ICellProps {\n dataProvider: IDataProvider;\n}\n\nenum ControlName {\n LookupMany = 'LookupMany',\n PeopleLookupMany = 'PeopleLookupMany',\n ColorfulLookupMany = 'ColorfulLookupMany',\n}\n\nexport const LookupManyCellRenderer = (props: ICellRendererProps) => {\n const { api, baseColumn, dataProvider } = props;\n const record: IRecord = props.data;\n const [isDisabled, setIsDisabled] = React.useState(true);\n const customControl = record.getColumnInfo(baseColumn.name).ui.getCustomControls([])?.[0];\n const controlName = (customControl?.name ?? ControlName.LookupMany) as ControlName;\n const bindings = customControl?.bindings;\n const provider = useTaskDataProvider();\n const isNavigationEnabled = useGridInstance().isNavigationEnabled();\n const value: ComponentFramework.EntityReference[] | undefined = record.getValue(props.colDef!.colId!) as ComponentFramework.EntityReference[] | undefined;\n\n const onSelectionChange = (selectedRecords: ComponentFramework.EntityReference[]) => {\n record.setValue(props.colDef!.colId!, selectedRecords);\n record.save();\n api.refreshCells({\n rowNodes: [props.node],\n columns: [props.colDef!.colId!],\n force: true\n });\n }\n\n const onRecordOpen = (entityReference: ComponentFramework.EntityReference) => {\n provider.openDatasetItem(entityReference, {\n columnName: baseColumn.name\n });\n }\n\n const onMenuClose = () => {\n setIsDisabled(true);\n }\n\n const getComponentProps = (): ILookupManyProps => {\n return {\n dataProvider,\n selectedRecords: value,\n isDisabled,\n onRecordSelect: onSelectionChange,\n onRecordOpen: isNavigationEnabled ? onRecordOpen : undefined,\n components: {\n onRenderSelect: (selectProps) =>\n <AsyncSelect {...selectProps}\n autoFocus\n openMenuOnFocus\n openMenuOnClick\n styles={{\n ...selectProps.styles,\n control: (base, props) => {\n return {\n ...selectProps.styles?.control?.(base, props),\n maxHeight: 200,\n overflow: 'auto',\n border: 'none',\n background: 'none',\n boxShadow: 'none',\n }\n }\n }}\n onMenuClose={() => {\n selectProps.onMenuClose?.();\n onMenuClose();\n }} />\n }\n }\n }\n\n const getComponent = (): JSX.Element => {\n switch (controlName) {\n case ControlName.ColorfulLookupMany:\n return <ColorfulLookupMany\n colorPropertyName={bindings?.ColorPropertyName?.value}\n {...getComponentProps()}\n />\n case ControlName.PeopleLookupMany:\n return <PeopleLookupMany\n {...getComponentProps()}\n imageUrlPropertyName={bindings?.ImageUrlPropertyName?.value}\n />\n default: {\n return <LookupMany\n {...getComponentProps()}\n />\n }\n }\n }\n const onSwitchToEditMode = useCallback(() => {\n if (props.value.editable) {\n setIsDisabled(false);\n }\n setTimeout(() => {\n const element = props.eGridCell.querySelector('[data-value]');\n element?.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, button: 0 }));\n element?.dispatchEvent(new MouseEvent('mouseup', { bubbles: true, button: 0 }));\n })\n }, [props.value.editable]);\n\n useEffect(() => {\n props.eGridCell.addEventListener('dblclick', onSwitchToEditMode);\n return () => {\n props.eGridCell.removeEventListener('dblclick', onSwitchToEditMode);\n }\n }, [onSwitchToEditMode]);\n\n return <ThemeProvider>\n {getComponent()}\n </ThemeProvider>\n}"],"names":["React","_jsx"],"mappings":"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"}
@@ -7,16 +7,14 @@ import { getPercentCompleteStyles } from './styles.js';
7
7
  const PERCENT_COMPLETE_CONTROL_NAME = "PercentComplete";
8
8
  const PercentComplete = (props) => {
9
9
  const value = props.value.value;
10
- const formattedValue = props.valueFormatted;
11
10
  const styles = React.useMemo(() => getPercentCompleteStyles(), []);
12
11
  if (props.value.loading) {
13
12
  return jsx(Cell, { ...props });
14
13
  }
15
14
  return jsx("div", { className: styles.root, children: jsx(ProgressIndicator, { barHeight: 5, styles: {
16
15
  root: styles.progressIndicatorRoot,
17
- itemProgress: styles.itemProgress,
18
- itemDescription: styles.itemDescription
19
- }, description: formattedValue, percentComplete: value !== null ? value / 100 : 0 }) });
16
+ itemProgress: styles.itemProgress
17
+ }, description: `${value?.toString() ?? '0'}%`, percentComplete: value !== null ? value / 100 : 0 }) });
20
18
  };
21
19
 
22
20
  export { PERCENT_COMPLETE_CONTROL_NAME, PercentComplete };
@@ -1 +1 @@
1
- {"version":3,"file":"PercentComplete.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.tsx"],"sourcesContent":["import { ProgressIndicator } from \"@fluentui/react\";\nimport { Cell, ICellProps } from \"../../../../../Grid/cells/cell/Cell\";\nimport * as React from \"react\";\nimport { getPercentCompleteStyles } from \"./styles\";\n\nexport const PERCENT_COMPLETE_CONTROL_NAME = \"PercentComplete\";\n\nexport const PercentComplete = (props: ICellProps) => {\n const value = props.value.value;\n const formattedValue = props.valueFormatted;\n const styles = React.useMemo(() => getPercentCompleteStyles(), []);\n \n if(props.value.loading) {\n return <Cell {...props} />\n }\n return <div className={styles.root}>\n <ProgressIndicator\n barHeight={5}\n styles={{\n root: styles.progressIndicatorRoot,\n itemProgress: styles.itemProgress,\n itemDescription: styles.itemDescription\n }}\n description={formattedValue}\n percentComplete={value !== null ? value / 100 : 0}\n />\n </div>\n}"],"names":["_jsx"],"mappings":";;;;;;AAKO,MAAM,6BAA6B,GAAG,kBAAkB;AAElD,MAAA,eAAe,GAAG,CAAC,KAAiB,KAAI;AACjD,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AAChC,IAAA,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AAC5C,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,wBAAwB,EAAE,EAAE,EAAE,CAAC,CAAC;AAEnE,IAAA,IAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,QAAA,OAAOA,GAAC,CAAA,IAAI,EAAK,EAAA,GAAA,KAAK,GAAI,CAAA;AAC7B,KAAA;AACD,IAAA,OAAOA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,QAAA,EAC9BA,GAAC,CAAA,iBAAiB,IACd,SAAS,EAAE,CAAC,EACZ,MAAM,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,qBAAqB;gBAClC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,eAAe,EAAE,MAAM,CAAC,eAAe;aAC1C,EACD,WAAW,EAAE,cAAc,EAC3B,eAAe,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,EAClD,CAAA,EAAA,CACD,CAAA;AACV;;;;"}
1
+ {"version":3,"file":"PercentComplete.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.tsx"],"sourcesContent":["import { ProgressIndicator } from \"@fluentui/react\";\nimport { Cell, ICellProps } from \"../../../../../Grid/cells/cell/Cell\";\nimport * as React from \"react\";\nimport { getPercentCompleteStyles } from \"./styles\";\n\nexport const PERCENT_COMPLETE_CONTROL_NAME = \"PercentComplete\";\n\nexport const PercentComplete = (props: ICellProps) => {\n const value: number | null = props.value.value;\n const styles = React.useMemo(() => getPercentCompleteStyles(), []);\n \n if(props.value.loading) {\n return <Cell {...props} />\n }\n return <div className={styles.root}>\n <ProgressIndicator\n barHeight={5}\n styles={{\n root: styles.progressIndicatorRoot,\n itemProgress: styles.itemProgress\n }}\n description={`${value?.toString() ?? '0'}%`}\n percentComplete={value !== null ? value / 100 : 0}\n />\n </div>\n}"],"names":["_jsx"],"mappings":";;;;;;AAKO,MAAM,6BAA6B,GAAG,kBAAkB;AAElD,MAAA,eAAe,GAAG,CAAC,KAAiB,KAAI;AACjD,IAAA,MAAM,KAAK,GAAkB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AAC/C,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,wBAAwB,EAAE,EAAE,EAAE,CAAC,CAAC;AAEnE,IAAA,IAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,QAAA,OAAOA,GAAC,CAAA,IAAI,EAAK,EAAA,GAAA,KAAK,GAAI,CAAA;AAC7B,KAAA;AACD,IAAA,OAAOA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,QAAA,EAC9BA,GAAC,CAAA,iBAAiB,IACd,SAAS,EAAE,CAAC,EACZ,MAAM,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,qBAAqB;gBAClC,YAAY,EAAE,MAAM,CAAC,YAAY;AACpC,aAAA,EACD,WAAW,EAAE,CAAG,EAAA,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAA,CAAA,CAAG,EAC3C,eAAe,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,EAClD,CAAA,EAAA,CACD,CAAA;AACV;;;;"}
@@ -14,10 +14,4 @@ export declare const getPercentCompleteStyles: () => import("@fluentui/react").I
14
14
  itemProgress: {
15
15
  flexGrow: number;
16
16
  };
17
- itemDescription: {
18
- '::after': {
19
- content: string;
20
- display: string;
21
- };
22
- };
23
17
  }>;
@@ -17,12 +17,6 @@ const getPercentCompleteStyles = () => {
17
17
  itemProgress: {
18
18
  flexGrow: 1
19
19
  },
20
- itemDescription: {
21
- '::after': {
22
- content: '"%"',
23
- display: 'inline'
24
- }
25
- }
26
20
  });
27
21
  };
28
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\n\nexport const getPercentCompleteStyles = () => {\n return mergeStyleSets({\n root: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n justifyContent: 'center',\n paddingRight: 8,\n paddingLeft: 8,\n },\n progressIndicatorRoot: {\n display: 'flex',\n gap: 5\n },\n itemProgress: {\n flexGrow: 1\n },\n itemDescription: {\n '::after': {\n content: '\"%\"',\n display: 'inline'\n }\n }\n })\n}"],"names":[],"mappings":";;AAEO,MAAM,wBAAwB,GAAG,MAAK;AACzC,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,IAAI,EAAE;AACF,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,WAAW,EAAE,CAAC;AACjB,SAAA;AACD,QAAA,qBAAqB,EAAE;AACnB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,GAAG,EAAE,CAAC;AACT,SAAA;AACD,QAAA,YAAY,EAAE;AACV,YAAA,QAAQ,EAAE,CAAC;AACd,SAAA;AACD,QAAA,eAAe,EAAE;AACb,YAAA,SAAS,EAAE;AACP,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,QAAQ;AACpB,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../../src/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\n\nexport const getPercentCompleteStyles = () => {\n return mergeStyleSets({\n root: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n justifyContent: 'center',\n paddingRight: 8,\n paddingLeft: 8,\n },\n progressIndicatorRoot: {\n display: 'flex',\n gap: 5\n },\n itemProgress: {\n flexGrow: 1\n },\n })\n}"],"names":[],"mappings":";;AAEO,MAAM,wBAAwB,GAAG,MAAK;AACzC,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,IAAI,EAAE;AACF,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,WAAW,EAAE,CAAC;AACjB,SAAA;AACD,QAAA,qBAAqB,EAAE;AACnB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,GAAG,EAAE,CAAC;AACT,SAAA;AACD,QAAA,YAAY,EAAE;AACV,YAAA,QAAQ,EAAE,CAAC;AACd,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
@@ -147,7 +147,6 @@ class GridCustomizer {
147
147
  _getColumnDefinitions(columnDefs) {
148
148
  this._injectAddTaskColumn(columnDefs);
149
149
  for (const colDef of columnDefs) {
150
- colDef.onCellDoubleClicked = () => { };
151
150
  const columnName = colDef.colId;
152
151
  const column = this._taskDataProvider.getColumnsMap()[columnName];
153
152
  const customCellRenderer = this._getCustomControlForColumn('renderer', column);
@@ -163,11 +162,17 @@ class GridCustomizer {
163
162
  break;
164
163
  }
165
164
  }
166
- if (customCellRenderer === PERCENT_COMPLETE_CONTROL_NAME) {
167
- colDef.cellRenderer = PercentComplete;
165
+ switch (customCellRenderer) {
166
+ case PERCENT_COMPLETE_CONTROL_NAME: {
167
+ colDef.cellRenderer = PercentComplete;
168
+ break;
169
+ }
168
170
  }
169
- if (customCellEditor === PERCENT_COMPLETE_CONTROL_NAME) {
170
- colDef.cellEditor = PercentComplete;
171
+ switch (customCellEditor) {
172
+ case PERCENT_COMPLETE_CONTROL_NAME: {
173
+ colDef.cellEditor = PercentComplete;
174
+ break;
175
+ }
171
176
  }
172
177
  }
173
178
  columnDefs.sort((a, b) => this._getColumnPriority(a) - this._getColumnPriority(b));