inboxlookup_screen 1.0.8 → 1.0.9
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/package.json
CHANGED
|
@@ -13,22 +13,15 @@ import CustomStore from 'devextreme/data/custom_store';
|
|
|
13
13
|
import Popup from 'devextreme-react/popup';
|
|
14
14
|
import 'devextreme/dist/css/dx.light.css';
|
|
15
15
|
|
|
16
|
-
|
|
17
16
|
const STORAGE_KEY = "ORDERS_MASTER_DETAIL_SEARCH_HISTORY";
|
|
18
|
-
const DEFAULT_SERVICE = {
|
|
19
|
-
CustomerId: 10,
|
|
20
|
-
projectId: 147,
|
|
21
|
-
id: 4, // any unique id for the list
|
|
22
|
-
status: "Active" // optional for left list rendering
|
|
23
|
-
};
|
|
24
17
|
|
|
25
|
-
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTAwMDAtYzAwMC0wMDAwMDAwMDAwMDAiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9lNjZmMWU2Yi05Y2I5LTQyNTgtYTQyOS0xNzhjZWUzNTlhYTkvIiwiaWF0IjoxNzQ3NjI2MDM0LCJuYmYiOjE3NDc2MjYwMzQsImV4cCI6MTc0NzYyOTk1MCwiYWNjdCI6MCwiYWNyIjoiMSIsImFjcnMiOlsicDEiXSwiYWlvIjoiQVpRQWEvOFpBQUFBbGJ3R3dWeVZteXA3THJKZ0ZiRUFzTFhGQ3ZDRE9mOVBHRFZmVkhDTVIyTU9PVkUyaXNOdmtPVG9JWmdZSXg2Yi9tQkYyYnVTUmwrVW5jZVFkZ3E1RVlFSDNGWmFRYkxOMGFZK05YV2l2d2pLakdzcEJkQVREQTE3WDduQ0pmS0k5RUVtNVczTnFLNXY2QUdlZnpZRzBXMkp5d1pueVhwbVBSaEpZREpGbFdzaE9OWk1XSVNQaVdjN05Fb3gvc1IrIiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBfZGlzcGxheW5hbWUiOiJmbG93LVNTTy1pbnRlZ3JhdGlvbiIsImFwcGlkIjoiOTAwN2UyYzQtM2VlOS00MWQ4LWJlNzEtM2FiZGQ0ZTc5MzIxIiwiYXBwaWRhY3IiOiIxIiwiZmFtaWx5X25hbWUiOiJNIiwiZ2l2ZW5fbmFtZSI6IkdhbnRoaW1hdGhpIiwiaWR0eXAiOiJ1c2VyIiwiaXBhZGRyIjoiMTU3LjUxLjEyNS43NSIsIm5hbWUiOiJHYW50aGltYXRoaSBNIiwib2lkIjoiNmJkNDZkNGEtNGM0ZS00Y2RlLWI5MDItNTJlN2FkYzE5NGRmIiwib25wcmVtX3NpZCI6IlMtMS01LTIxLTE3NzEzODE2ODEtMjQ0NzgzODAwMi0zNTE0ODIwOTgxLTE3MjA3OCIsInBsYXRmIjoiNSIsInB1aWQiOiIxMDAzMjAwMjJDMDlEQzgyIiwicmgiOiIxLkFWTUFheDV2NXJtY1dFS2tLUmVNN2pXYXFRTUFBQUFBQUFBQXdBQUFBQUFBQUFCVEFIeFRBQS4iLCJzY3AiOiJEaXJlY3RvcnkuUmVhZC5BbGwgVXNlci5SZWFkIFVzZXIuUmVhZC5BbGwgcHJvZmlsZSBvcGVuaWQgZW1haWwiLCJzaWQiOiIwMDRmMzk1OS0wYjE5LWZhMjUtNGUyNS0zNDI0MWU0NjljZTkiLCJzdWIiOiItV1gtSXQ5NGFDaUozN1l6UEszemdXYWxTYS1MMmJ4MDhsempxUzEyb1JRIiwidGVuYW50X3JlZ2lvbl9zY29wZSI6IkFTIiwidGlkIjoiZTY2ZjFlNmItOWNiOS00MjU4LWE0MjktMTc4Y2VlMzU5YWE5IiwidW5pcXVlX25hbWUiOiJnYW50aGltYXRoaS5tQGFjY2Vzc2hlYWx0aGNhcmUuY29tIiwidXBuIjoiZ2FudGhpbWF0aGkubUBhY2Nlc3NoZWFsdGhjYXJlLmNvbSIsInV0aSI6IjlfZDJSOGJjRFVlZERaeFdJaHdvQUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbImI3OWZiZjRkLTNlZjktNDY4OS04MTQzLTc2YjE5NGU4NTUwOSJdLCJ4bXNfZnRkIjoiSVFudjZvNlNiS1FUbEpIT05mV1FXQWFxWW9XUHRnMmFoM19lX1VpbjlHa0JhMjl5WldGemIzVjBhQzFrYzIxeiIsInhtc19pZHJlbCI6IjEgMjIiLCJ4bXNfc3QiOnsic3ViIjoiQ2hwWms3bVpSX2N3UGdVUnV4ZndTb0tVQkVMNlJCaWZxMkJ5c1RhSTFyZyJ9LCJ4bXNfdGNkdCI6MTQwMTQ2MzYyNSwiVXNlclR5cGUiOjEsIlVzZXJJZCI6Nzc3NzIsIkVtcElkIjoiTTA5NDgwNTciLCJFbWFpbElkIjoiZ2FudGhpbWF0aGkubUBhY2Nlc3NoZWFsdGhjYXJlLmNvbSIsIk5hbWUiOiJHYW50aGltYXRoaSBNIiwiQXBwS2V5IjoiMjllMWEyYTAtOGU0My00NDNhLTk4MDQtMTM3MGIwN2I3ZWRkIiwiU2Vzc2lvbklkIjoiMGM5NzU3ZjktYTA1OC00MWE1LWE5M2YtOWY5MTZhMWU2ZmQxIiwiSWFtVVJMIjoiaHR0cHM6Ly91YXRfaWFtYXBpLmFjY2Vzc2hlYWx0aGNhcmUuY29tL2FwaSJ9.YPFSayPCfTBDaB2vEHhwR3TnvvstT5G3z3yIWYny_Sc'; // Replace with your token
|
|
26
|
-
const getFieldMetaAPI = (sheetId) =>
|
|
27
|
-
`http://localhost:5017/api/excel-sheets/${sheetId}/columns`;
|
|
28
18
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
19
|
+
const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl, ProjectId }) => {
|
|
20
|
+
const DEFAULT_SERVICE = {
|
|
21
|
+
projectId: ProjectId,
|
|
22
|
+
id: 4,
|
|
23
|
+
status: "Active" // optional for left list rendering
|
|
24
|
+
};
|
|
32
25
|
const [orders, setOrders] = useState([]);
|
|
33
26
|
const [selectedOrder, setSelectedOrder] = useState(null);
|
|
34
27
|
const [selectedService, setSelectedService] = useState(DEFAULT_SERVICE);
|
|
@@ -40,7 +33,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
40
33
|
const [category, setCategory] = useState(0);
|
|
41
34
|
const [status, setStatus] = useState(0);
|
|
42
35
|
const [filteredOrders, setFilteredOrders] = useState([]);
|
|
43
|
-
const [gridData, setGridData] = useState([]);
|
|
44
36
|
const searchTimeoutRef = useRef(null);
|
|
45
37
|
const [gridStore, setGridStore] = useState(null);
|
|
46
38
|
|
|
@@ -55,15 +47,9 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
55
47
|
const [readOnlyFilters, setReadOnlyFilters] = useState(false);
|
|
56
48
|
const [gridInstance, setGridInstance] = useState(null);
|
|
57
49
|
const [autoExpandAll, setAutoExpandAll] = useState(true);
|
|
58
|
-
const [
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
const [popupSummary, setPopupSummary] = useState({
|
|
62
|
-
type: '',
|
|
63
|
-
count: 0,
|
|
64
|
-
ids: [],
|
|
65
|
-
filters: []
|
|
66
|
-
});
|
|
50
|
+
const [proceedEnabled, setProceedEnabled] = useState(false);
|
|
51
|
+
const getFieldMetaAPI = (sheetId) =>
|
|
52
|
+
`${BaseUrl}api/LookupSheetMaster/GetColumns/${sheetId}`;
|
|
67
53
|
|
|
68
54
|
// ✅ Toast state
|
|
69
55
|
const [toastConfig, setToastConfig] = useState({
|
|
@@ -79,21 +65,26 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
79
65
|
|
|
80
66
|
|
|
81
67
|
useEffect(() => {
|
|
82
|
-
if (!selectedService) return;
|
|
68
|
+
if (!selectedService) return;
|
|
83
69
|
|
|
84
70
|
const { projectId } = selectedService;
|
|
85
71
|
|
|
86
|
-
axios.get(
|
|
72
|
+
axios.get(`${BaseUrl}api/LookupSheetMaster/GetLatestSheetsByProject/${projectId}`, {
|
|
73
|
+
headers: {
|
|
74
|
+
Authorization: `Bearer ${token}`,
|
|
75
|
+
"Content-Type": "application/json",
|
|
76
|
+
},
|
|
77
|
+
})
|
|
87
78
|
.then(response => {
|
|
88
79
|
const data = response.data.map(item => ({
|
|
89
80
|
id: item.Id,
|
|
90
81
|
sheetName: item.SheetName,
|
|
91
82
|
fileId: item.FileId,
|
|
92
83
|
ProjectId: item.ProjectId,
|
|
93
|
-
status: "Active"
|
|
84
|
+
status: "Active"
|
|
94
85
|
}));
|
|
95
86
|
setOrders(data);
|
|
96
|
-
setFilteredOrders(data);
|
|
87
|
+
setFilteredOrders(data);
|
|
97
88
|
// setSelectedOrder(data.length ? data[0] : null);
|
|
98
89
|
|
|
99
90
|
})
|
|
@@ -109,11 +100,15 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
109
100
|
const openLastViewedSheet = async () => {
|
|
110
101
|
try {
|
|
111
102
|
const res = await axios.get(
|
|
112
|
-
|
|
103
|
+
`${BaseUrl}api/LookupSheetMaster/GetLastViewedSheet`,
|
|
113
104
|
{
|
|
114
105
|
params: {
|
|
115
106
|
userId: 1,
|
|
116
|
-
projectId:
|
|
107
|
+
projectId: ProjectId
|
|
108
|
+
},
|
|
109
|
+
headers: {
|
|
110
|
+
Authorization: `Bearer ${token}`,
|
|
111
|
+
"Content-Type": "application/json"
|
|
117
112
|
}
|
|
118
113
|
}
|
|
119
114
|
);
|
|
@@ -124,7 +119,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
124
119
|
const sheet = orders.find(o => o.id === lastViewedSheetId);
|
|
125
120
|
|
|
126
121
|
if (!sheet) return;
|
|
127
|
-
// ✅ EXACT SAME FLOW AS MANUAL CLICK
|
|
128
122
|
setSelectedOrder(sheet);
|
|
129
123
|
setSelectedService(sheet);
|
|
130
124
|
|
|
@@ -172,7 +166,7 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
172
166
|
.map(p => `${p}=${encodeURIComponent(JSON.stringify(loadOptions[p]))}`)
|
|
173
167
|
.join("&");
|
|
174
168
|
|
|
175
|
-
const requestUrl =
|
|
169
|
+
const requestUrl = `${BaseUrl}api/LookupSheetMaster/GetData/${sheetId}?${queryString}`;
|
|
176
170
|
|
|
177
171
|
const response = await fetch(requestUrl, {
|
|
178
172
|
method: "POST",
|
|
@@ -209,13 +203,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
209
203
|
[toastConfig, setToastConfig],
|
|
210
204
|
);
|
|
211
205
|
|
|
212
|
-
const onHiding = useCallback(() => {
|
|
213
|
-
setToastConfig({
|
|
214
|
-
...toastConfig,
|
|
215
|
-
isVisible: false,
|
|
216
|
-
});
|
|
217
|
-
}, [toastConfig, setToastConfig]);
|
|
218
|
-
|
|
219
206
|
const handleSearchChange = (value) => {
|
|
220
207
|
const safeValue = typeof value === "string" ? value : "";
|
|
221
208
|
|
|
@@ -248,8 +235,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
248
235
|
});
|
|
249
236
|
|
|
250
237
|
const data = await res.json();
|
|
251
|
-
|
|
252
|
-
// Always keep FlowTaskId first
|
|
253
238
|
const flowTaskColumn = {
|
|
254
239
|
dataField: "RowNumber",
|
|
255
240
|
caption: "Sheet Row",
|
|
@@ -325,9 +310,9 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
325
310
|
|
|
326
311
|
else if (selectAll && noneVisibleSelected) {
|
|
327
312
|
// ✅ "Deselect All"
|
|
328
|
-
e.component.clearSelection();
|
|
313
|
+
e.component.clearSelection();
|
|
329
314
|
setSelectAll(false);
|
|
330
|
-
setWasFullyDeselected(true);
|
|
315
|
+
setWasFullyDeselected(true);
|
|
331
316
|
setExcludedKeys([]);
|
|
332
317
|
setSelectedRowKeys([]);
|
|
333
318
|
setFinalCount(0);
|
|
@@ -390,58 +375,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
390
375
|
}, 0);
|
|
391
376
|
}, [selectAll, excludedKeys, selectedRowKeys, gridInstance]);
|
|
392
377
|
|
|
393
|
-
|
|
394
|
-
const getFinalSelectedIds = async (extraPayload = {}) => {
|
|
395
|
-
const appliedFilters = Array.isArray(lastAppliedFilter) ? lastAppliedFilter : [];
|
|
396
|
-
const totalRows = gridInstance?.totalCount() || 0;
|
|
397
|
-
|
|
398
|
-
// Determine selectType and ids
|
|
399
|
-
let selectType = '';
|
|
400
|
-
let selectedIds = [];
|
|
401
|
-
let deselectedIds = [];
|
|
402
|
-
let selectionLabel = '';
|
|
403
|
-
let selectedCount = 0;
|
|
404
|
-
|
|
405
|
-
if (selectAll && excludedKeys.length === 0) {
|
|
406
|
-
selectType = 'ALL';
|
|
407
|
-
selectionLabel = 'All Rows Selected';
|
|
408
|
-
selectedCount = totalRows;
|
|
409
|
-
} else if (selectAll && excludedKeys.length > 0) {
|
|
410
|
-
selectType = 'EXCLUDE';
|
|
411
|
-
deselectedIds = excludedKeys;
|
|
412
|
-
selectionLabel = 'Deselected Rows';
|
|
413
|
-
selectedCount = excludedKeys.length;
|
|
414
|
-
} else {
|
|
415
|
-
selectType = 'INCLUDE';
|
|
416
|
-
selectedIds = selectedRowKeys;
|
|
417
|
-
selectionLabel = 'Selected Rows';
|
|
418
|
-
selectedCount = selectedRowKeys.length;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
const payload = {
|
|
422
|
-
selectType,
|
|
423
|
-
selectedIds,
|
|
424
|
-
deselectedIds,
|
|
425
|
-
totalSelectedCount: selectedCount,
|
|
426
|
-
filters: appliedFilters.length > 0 ? appliedFilters : [],
|
|
427
|
-
...extraPayload, // Inject workspaceId, userId, etc.
|
|
428
|
-
};
|
|
429
|
-
|
|
430
|
-
console.log("📦 Final Selection Payload:", payload);
|
|
431
|
-
|
|
432
|
-
setPopupSummary(payload);
|
|
433
|
-
setPopupVisible(true);
|
|
434
|
-
setActionValue(null);
|
|
435
|
-
|
|
436
|
-
// Reset selection state
|
|
437
|
-
setSelectAll(false);
|
|
438
|
-
setExcludedKeys([]);
|
|
439
|
-
setSelectedRowKeys([]);
|
|
440
|
-
setFinalCount(0);
|
|
441
|
-
getUnSelected();
|
|
442
|
-
|
|
443
|
-
return selectedIds;
|
|
444
|
-
};
|
|
445
378
|
const formatRawFilterToReadableText = (filter) => {
|
|
446
379
|
if (!filter) return '';
|
|
447
380
|
|
|
@@ -545,50 +478,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
545
478
|
}
|
|
546
479
|
};
|
|
547
480
|
|
|
548
|
-
const getUnSelected = () => {
|
|
549
|
-
const gridInstance = gridRef.current?.instance?.();
|
|
550
|
-
|
|
551
|
-
if (!gridInstance) return;
|
|
552
|
-
|
|
553
|
-
// ✅ Clear selection only (do not clear filters)
|
|
554
|
-
gridInstance.deselectAll();
|
|
555
|
-
|
|
556
|
-
// ✅ Reset your internal state
|
|
557
|
-
setSelectAll(false);
|
|
558
|
-
setExcludedKeys([]);
|
|
559
|
-
setSelectedRowKeys([]);
|
|
560
|
-
setShowCheckboxes(false);
|
|
561
|
-
setFinalCount(0);
|
|
562
|
-
setReadOnlyFilters(false);
|
|
563
|
-
};
|
|
564
|
-
|
|
565
|
-
const getClearSelected = () => {
|
|
566
|
-
const gridInstance = gridRef.current?.instance?.();
|
|
567
|
-
|
|
568
|
-
if (!gridInstance) return;
|
|
569
|
-
|
|
570
|
-
// ✅ Clear selection
|
|
571
|
-
gridInstance.deselectAll();
|
|
572
|
-
|
|
573
|
-
// ✅ Clear all filters (FilterRow + HeaderFilter)
|
|
574
|
-
const columns = gridInstance.getVisibleColumns();
|
|
575
|
-
columns.forEach((col) => {
|
|
576
|
-
gridInstance.columnOption(col.dataField, 'filterValue', null); // FilterRow
|
|
577
|
-
gridInstance.columnOption(col.dataField, 'filterValues', null); // HeaderFilter
|
|
578
|
-
});
|
|
579
|
-
|
|
580
|
-
gridInstance.clearFilter(); // apply filter clearing
|
|
581
|
-
|
|
582
|
-
// ✅ Reset your internal state
|
|
583
|
-
setSelectAll(false);
|
|
584
|
-
setExcludedKeys([]);
|
|
585
|
-
setSelectedRowKeys([]);
|
|
586
|
-
// setShowCheckboxes(false);
|
|
587
|
-
setFinalCount(0);
|
|
588
|
-
setReadOnlyFilters(false);
|
|
589
|
-
setActionValue(null);
|
|
590
|
-
|
|
591
|
-
};
|
|
592
481
|
|
|
593
482
|
useEffect(() => {
|
|
594
483
|
if (readOnlyFilters) {
|
|
@@ -611,33 +500,21 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
611
500
|
const saveLastViewedSheet = async (sheet) => {
|
|
612
501
|
try {
|
|
613
502
|
await axios.post(
|
|
614
|
-
|
|
503
|
+
`${BaseUrl}api/LookupSheetMaster/UpdateLastViewedSheet`,
|
|
615
504
|
{
|
|
616
505
|
userId: 1, // replace with logged-in user id later
|
|
617
|
-
projectId:
|
|
506
|
+
projectId: ProjectId,
|
|
618
507
|
sheetId: sheet.id
|
|
619
|
-
}
|
|
620
|
-
);
|
|
621
|
-
} catch (error) {
|
|
622
|
-
console.error("Failed to save last viewed sheet", error);
|
|
623
|
-
}
|
|
624
|
-
};
|
|
625
|
-
// ✅ GET LAST VIEWED SHEET
|
|
626
|
-
const getLastViewedSheet = async (projectId) => {
|
|
627
|
-
try {
|
|
628
|
-
const response = await axios.get(
|
|
629
|
-
"http://localhost:5017/api/excel-sheets/last-viewed",
|
|
508
|
+
},
|
|
630
509
|
{
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
510
|
+
headers: {
|
|
511
|
+
Authorization: `Bearer ${token}`,
|
|
512
|
+
"Content-Type": "application/json"
|
|
634
513
|
}
|
|
635
514
|
}
|
|
636
515
|
);
|
|
637
|
-
return response.data; // expected: { sheetId: number }
|
|
638
516
|
} catch (error) {
|
|
639
|
-
console.error("Failed to
|
|
640
|
-
return null;
|
|
517
|
+
console.error("Failed to save last viewed sheet", error);
|
|
641
518
|
}
|
|
642
519
|
};
|
|
643
520
|
|
|
@@ -714,17 +591,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
714
591
|
|
|
715
592
|
gridInstance.searchByText(searchText);
|
|
716
593
|
};
|
|
717
|
-
const clearSearch = () => {
|
|
718
|
-
if (!gridInstance) return;
|
|
719
|
-
setSearchText("");
|
|
720
|
-
gridInstance.searchByText("");
|
|
721
|
-
};
|
|
722
|
-
|
|
723
|
-
const gridDataWithId = gridData.map((row, index) => ({
|
|
724
|
-
...row,
|
|
725
|
-
rowId: index + 1
|
|
726
|
-
}));
|
|
727
|
-
|
|
728
594
|
|
|
729
595
|
useEffect(() => {
|
|
730
596
|
// If all filters are cleared → show all records
|
|
@@ -744,13 +610,9 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
744
610
|
if (!key) return "";
|
|
745
611
|
|
|
746
612
|
return key
|
|
747
|
-
// Handle snake_case first
|
|
748
613
|
.replace(/_/g, " ")
|
|
749
|
-
// Add space between lowerCase -> UpperCase
|
|
750
614
|
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
751
|
-
// Add space before last capital in acronyms (ID, URL, etc.)
|
|
752
615
|
.replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2")
|
|
753
|
-
// Capitalize first letter of each word
|
|
754
616
|
.replace(/\b\w/g, (c) => c.toUpperCase());
|
|
755
617
|
};
|
|
756
618
|
|
|
@@ -922,39 +784,6 @@ const OrdersMasterDetail = ({ dataSource, keyExpr, token, BaseUrl }) => {
|
|
|
922
784
|
<GroupItem column="sheetId" summaryType="count" displayFormat="Count: {0}" />
|
|
923
785
|
</Summary>
|
|
924
786
|
|
|
925
|
-
{/* <Toolbar>
|
|
926
|
-
<Item name="groupPanel" location="before" />
|
|
927
|
-
|
|
928
|
-
<Item
|
|
929
|
-
location="after"
|
|
930
|
-
render={() => (
|
|
931
|
-
<Button
|
|
932
|
-
icon="arrowright"
|
|
933
|
-
text={`(${finalCount})`}
|
|
934
|
-
onClick={() => {
|
|
935
|
-
if (actionValue === "Assigned") {
|
|
936
|
-
setAssignPopupVisible(true);
|
|
937
|
-
} else {
|
|
938
|
-
getFinalSelectedIds();
|
|
939
|
-
setPopupVisible(true);
|
|
940
|
-
}
|
|
941
|
-
}}
|
|
942
|
-
disabled={!proceedEnabled}
|
|
943
|
-
/>
|
|
944
|
-
)}
|
|
945
|
-
/>
|
|
946
|
-
|
|
947
|
-
<Item
|
|
948
|
-
location="after"
|
|
949
|
-
render={() => (
|
|
950
|
-
<Button
|
|
951
|
-
icon="clearformat"
|
|
952
|
-
text="Clear"
|
|
953
|
-
onClick={getClearSelected}
|
|
954
|
-
/>
|
|
955
|
-
)}
|
|
956
|
-
/>
|
|
957
|
-
</Toolbar> */}
|
|
958
787
|
</DataGrid>
|
|
959
788
|
|
|
960
789
|
|