@teselagen/ui 0.3.9 → 0.3.11
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/index.js +102 -128
- package/index.mjs +102 -128
- package/package.json +1 -1
- package/src/AdvancedOptions.spec.js +3 -1
- package/src/DataTable/CellDragHandle.js +8 -8
- package/src/DataTable/FilterAndSortMenu.js +13 -13
- package/src/DataTable/PagingTool.js +10 -8
- package/src/DataTable/dataTableEnhancer.js +11 -9
- package/src/DataTable/index.js +115 -116
- package/src/DataTable/utils/queryParams.js +48 -48
- package/src/DataTable/utils/withTableParams.js +9 -18
- package/src/DialogFooter/index.js +1 -1
- package/src/FormComponents/Uploader.js +38 -38
- package/src/FormComponents/index.js +58 -58
- package/src/FormComponents/sortify.js +1 -1
- package/src/FormComponents/tryToMatchSchemas.js +4 -5
- package/src/MatchHeaders.js +19 -19
- package/src/MenuBar/index.js +10 -3
- package/src/PromptUnsavedChanges/index.js +1 -3
- package/src/UploadCsvWizard.js +12 -12
- package/src/autoTooltip.js +2 -2
- package/src/enhancers/withDialog/index.js +6 -6
- package/src/rerenderOnWindowResize.js +14 -15
- package/src/showConfirmationDialog/index.js +1 -3
- package/src/utils/basicHandleActionsWithFullState.js +5 -5
- package/src/utils/combineReducersWithFullState.js +9 -9
- package/src/utils/commandControls.js +21 -22
- package/src/utils/handlerHelpers.js +4 -4
- package/src/utils/hotkeyUtils.js +10 -8
- package/src/utils/menuUtils.js +79 -66
- package/src/utils/pureNoFunc.js +1 -1
- package/src/utils/renderOnDoc.js +2 -2
- package/src/utils/tgFormValues.js +23 -20
- package/src/utils/withSelectTableRecords.js +25 -23
- package/src/wrapDialog.js +98 -92
|
@@ -74,7 +74,7 @@ function orderEntitiesLocal(orderArray, entities, schema, ownProps) {
|
|
|
74
74
|
if (orderArray && orderArray.length) {
|
|
75
75
|
const orderFuncs = [];
|
|
76
76
|
const ascOrDescArray = [];
|
|
77
|
-
orderArray.forEach(
|
|
77
|
+
orderArray.forEach(order => {
|
|
78
78
|
const ccDisplayName = order.replace(/^-/gi, "");
|
|
79
79
|
const ccFields = getFieldsMappedByCCDisplayName(schema);
|
|
80
80
|
const field = ccFields[ccDisplayName];
|
|
@@ -95,24 +95,24 @@ function orderEntitiesLocal(orderArray, entities, schema, ownProps) {
|
|
|
95
95
|
//push the actual sorting function
|
|
96
96
|
if (field.type === "timestamp") {
|
|
97
97
|
//with the timestamp logic above, make sure empty dates always end up on the bottom of the stack
|
|
98
|
-
orderFuncs.push(
|
|
98
|
+
orderFuncs.push(r => {
|
|
99
99
|
const val = get(r, path);
|
|
100
100
|
return !!val;
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
if (path && endsWith(path.toLowerCase(), "id")) {
|
|
104
|
-
orderFuncs.push(
|
|
104
|
+
orderFuncs.push(o => {
|
|
105
105
|
return parseInt(get(o, path), 10);
|
|
106
106
|
});
|
|
107
107
|
} else if (sortFn) {
|
|
108
108
|
const toOrder = Array.isArray(sortFn) ? sortFn : [sortFn];
|
|
109
109
|
orderFuncs.push(...toOrder);
|
|
110
110
|
} else if (getValueToFilterOn) {
|
|
111
|
-
orderFuncs.push(
|
|
111
|
+
orderFuncs.push(o => {
|
|
112
112
|
return getValueToFilterOn(o, ownProps);
|
|
113
113
|
});
|
|
114
114
|
} else {
|
|
115
|
-
orderFuncs.push(
|
|
115
|
+
orderFuncs.push(r => {
|
|
116
116
|
const val = get(r, path);
|
|
117
117
|
return val && val.toLowerCase ? val.toLowerCase() : val;
|
|
118
118
|
});
|
|
@@ -128,7 +128,7 @@ function getAndAndOrFilters(allFilters) {
|
|
|
128
128
|
const andFilters = [];
|
|
129
129
|
const otherOrFilters = [];
|
|
130
130
|
|
|
131
|
-
allFilters.forEach(
|
|
131
|
+
allFilters.forEach(filter => {
|
|
132
132
|
if (
|
|
133
133
|
filter.isOrFilter &&
|
|
134
134
|
typeof filter.filterValue === "string" &&
|
|
@@ -178,7 +178,7 @@ function filterEntitiesLocal(
|
|
|
178
178
|
const { andFilters, orFilters, otherOrFilters } =
|
|
179
179
|
getAndAndOrFilters(allFilters);
|
|
180
180
|
//filter ands first
|
|
181
|
-
andFilters.forEach(
|
|
181
|
+
andFilters.forEach(filter => {
|
|
182
182
|
entities = getEntitiesForGivenFilter(
|
|
183
183
|
entities,
|
|
184
184
|
filter,
|
|
@@ -189,7 +189,7 @@ function filterEntitiesLocal(
|
|
|
189
189
|
//then filter ors
|
|
190
190
|
if (orFilters.length) {
|
|
191
191
|
let orEntities = [];
|
|
192
|
-
orFilters.concat(...otherOrFilters).forEach(
|
|
192
|
+
orFilters.concat(...otherOrFilters).forEach(filter => {
|
|
193
193
|
orEntities = orEntities.concat(
|
|
194
194
|
getEntitiesForGivenFilter(entities, filter, ccFields, ownProps)
|
|
195
195
|
);
|
|
@@ -204,7 +204,7 @@ function cleanFilterValue(_filterValue, type) {
|
|
|
204
204
|
let filterValue = _filterValue;
|
|
205
205
|
if (type === "number" || type === "integer") {
|
|
206
206
|
filterValue = Array.isArray(filterValue)
|
|
207
|
-
? filterValue.map(
|
|
207
|
+
? filterValue.map(val => Number(val))
|
|
208
208
|
: Number(filterValue);
|
|
209
209
|
}
|
|
210
210
|
return filterValue;
|
|
@@ -216,7 +216,7 @@ function getEntitiesForGivenFilter(entities, filter, ccFields, ownProps) {
|
|
|
216
216
|
const { path, getValueToFilterOn } = field;
|
|
217
217
|
const filterValue = cleanFilterValue(_filterValue, field.type);
|
|
218
218
|
const subFilter = getSubFilter(false, selectedFilter, filterValue);
|
|
219
|
-
entities = entities.filter(
|
|
219
|
+
entities = entities.filter(entity => {
|
|
220
220
|
const fieldVal = getValueToFilterOn
|
|
221
221
|
? getValueToFilterOn(entity, ownProps)
|
|
222
222
|
: get(entity, path);
|
|
@@ -233,7 +233,7 @@ function getFiltersFromSearchTerm(searchTerm, schema) {
|
|
|
233
233
|
isOrFilter: true,
|
|
234
234
|
isSearchTermFilter: true
|
|
235
235
|
};
|
|
236
|
-
schema.fields.forEach(
|
|
236
|
+
schema.fields.forEach(field => {
|
|
237
237
|
const { type, displayName, path, searchDisabled } = field;
|
|
238
238
|
if (searchDisabled || field.filterDisabled || type === "color") return;
|
|
239
239
|
const nameToUse = camelCase(displayName || path);
|
|
@@ -310,7 +310,7 @@ function getSubFilter(
|
|
|
310
310
|
if (ccSelectedFilter === "startsWith") {
|
|
311
311
|
return qb
|
|
312
312
|
? qb.startsWith(stringFilterValue) //filter using qb (aka we're backend connected)
|
|
313
|
-
:
|
|
313
|
+
: fieldVal => {
|
|
314
314
|
//filter using plain old javascript (aka we've got a local table that isn't backend connected)
|
|
315
315
|
if (!fieldVal || !fieldVal.toLowerCase) return false;
|
|
316
316
|
return startsWith(fieldVal.toLowerCase(), filterValLower);
|
|
@@ -318,7 +318,7 @@ function getSubFilter(
|
|
|
318
318
|
} else if (ccSelectedFilter === "endsWith") {
|
|
319
319
|
return qb
|
|
320
320
|
? qb.endsWith(stringFilterValue) //filter using qb (aka we're backend connected)
|
|
321
|
-
:
|
|
321
|
+
: fieldVal => {
|
|
322
322
|
//filter using plain old javascript (aka we've got a local table that isn't backend connected)
|
|
323
323
|
if (!fieldVal || !fieldVal.toLowerCase) return false;
|
|
324
324
|
return endsWith(fieldVal.toLowerCase(), filterValLower);
|
|
@@ -331,7 +331,7 @@ function getSubFilter(
|
|
|
331
331
|
? ccSelectedFilter === "contains"
|
|
332
332
|
? qb.contains(stringFilterValue.replace(/_/g, "\\_"))
|
|
333
333
|
: qb.notContains(stringFilterValue.replace(/_/g, "\\_"))
|
|
334
|
-
:
|
|
334
|
+
: fieldVal => {
|
|
335
335
|
if (!fieldVal || !fieldVal.toLowerCase) return false;
|
|
336
336
|
return ccSelectedFilter === "contains"
|
|
337
337
|
? fieldVal.toLowerCase().replace(filterValLower, "") !==
|
|
@@ -342,56 +342,56 @@ function getSubFilter(
|
|
|
342
342
|
} else if (ccSelectedFilter === "inList") {
|
|
343
343
|
return qb
|
|
344
344
|
? qb.inList(arrayFilterValue) //filter using qb (aka we're backend connected)
|
|
345
|
-
:
|
|
345
|
+
: fieldVal => {
|
|
346
346
|
//filter using plain old javascript (aka we've got a local table that isn't backend connected)
|
|
347
347
|
if (!fieldVal?.toString) return false;
|
|
348
348
|
return (
|
|
349
349
|
arrayFilterValue
|
|
350
|
-
.map(
|
|
350
|
+
.map(val => val && val.toLowerCase())
|
|
351
351
|
.indexOf(fieldVal.toString().toLowerCase()) > -1
|
|
352
352
|
);
|
|
353
353
|
};
|
|
354
354
|
} else if (ccSelectedFilter === "notInList") {
|
|
355
355
|
return qb
|
|
356
356
|
? qb.notInList(arrayFilterValue) //filter using qb (aka we're backend connected)
|
|
357
|
-
:
|
|
357
|
+
: fieldVal => {
|
|
358
358
|
//filter using plain old javascript (aka we've got a local table that isn't backend connected)
|
|
359
359
|
if (!fieldVal?.toString) return false;
|
|
360
360
|
return (
|
|
361
361
|
arrayFilterValue
|
|
362
|
-
.map(
|
|
362
|
+
.map(val => val && val.toLowerCase())
|
|
363
363
|
.indexOf(fieldVal.toString().toLowerCase()) === -1
|
|
364
364
|
);
|
|
365
365
|
};
|
|
366
366
|
} else if (ccSelectedFilter === "isEmpty") {
|
|
367
367
|
return qb
|
|
368
368
|
? qb.isEmpty()
|
|
369
|
-
:
|
|
369
|
+
: fieldVal => {
|
|
370
370
|
return !fieldVal;
|
|
371
371
|
};
|
|
372
372
|
} else if (ccSelectedFilter === "notEmpty") {
|
|
373
373
|
return qb
|
|
374
374
|
? [qb.notNull(), qb.notEquals("")]
|
|
375
|
-
:
|
|
375
|
+
: fieldVal => {
|
|
376
376
|
return !!fieldVal;
|
|
377
377
|
};
|
|
378
378
|
} else if (ccSelectedFilter === "isExactly") {
|
|
379
379
|
return qb
|
|
380
380
|
? filterValue
|
|
381
|
-
:
|
|
381
|
+
: fieldVal => {
|
|
382
382
|
return fieldVal === filterValue;
|
|
383
383
|
};
|
|
384
384
|
} else if (ccSelectedFilter === "true") {
|
|
385
385
|
return qb
|
|
386
386
|
? qb.equals(true) //filter using qb (aka we're backend connected)
|
|
387
|
-
:
|
|
387
|
+
: fieldVal => {
|
|
388
388
|
//filter using plain old javascript (aka we've got a local table that isn't backend connected)
|
|
389
389
|
return !!fieldVal;
|
|
390
390
|
};
|
|
391
391
|
} else if (ccSelectedFilter === "false") {
|
|
392
392
|
return qb
|
|
393
393
|
? qb.equals(false) //filter using qb (aka we're backend connected)
|
|
394
|
-
:
|
|
394
|
+
: fieldVal => {
|
|
395
395
|
//filter using plain old javascript (aka we've got a local table that isn't backend connected)
|
|
396
396
|
return !fieldVal;
|
|
397
397
|
};
|
|
@@ -401,7 +401,7 @@ function getSubFilter(
|
|
|
401
401
|
new Date(arrayFilterValue[0]),
|
|
402
402
|
new Date(new Date(arrayFilterValue[1]).setHours(23, 59)) // set end of day for more accurate filtering
|
|
403
403
|
)
|
|
404
|
-
:
|
|
404
|
+
: fieldVal => {
|
|
405
405
|
return (
|
|
406
406
|
dayjs(arrayFilterValue[0]).valueOf() <= dayjs(fieldVal).valueOf() &&
|
|
407
407
|
dayjs(fieldVal).valueOf() <= dayjs(arrayFilterValue[1]).valueOf()
|
|
@@ -413,7 +413,7 @@ function getSubFilter(
|
|
|
413
413
|
new Date(arrayFilterValue[0]),
|
|
414
414
|
new Date(new Date(arrayFilterValue[1]).setHours(23, 59)) // set end of day for more accurate filtering
|
|
415
415
|
)
|
|
416
|
-
:
|
|
416
|
+
: fieldVal => {
|
|
417
417
|
return (
|
|
418
418
|
dayjs(arrayFilterValue[0]).valueOf() > dayjs(fieldVal).valueOf() ||
|
|
419
419
|
dayjs(fieldVal).valueOf() > dayjs(arrayFilterValue[1]).valueOf()
|
|
@@ -422,49 +422,49 @@ function getSubFilter(
|
|
|
422
422
|
} else if (ccSelectedFilter === "isBefore") {
|
|
423
423
|
return qb
|
|
424
424
|
? qb.lessThan(new Date(filterValue))
|
|
425
|
-
:
|
|
425
|
+
: fieldVal => {
|
|
426
426
|
return dayjs(fieldVal).valueOf() < dayjs(filterValue).valueOf();
|
|
427
427
|
};
|
|
428
428
|
} else if (ccSelectedFilter === "isAfter") {
|
|
429
429
|
return qb
|
|
430
430
|
? qb.greaterThan(new Date(new Date(filterValue).setHours(23, 59))) // set end of day for more accurate filtering
|
|
431
|
-
:
|
|
431
|
+
: fieldVal => {
|
|
432
432
|
return dayjs(fieldVal).valueOf() > dayjs(filterValue).valueOf();
|
|
433
433
|
};
|
|
434
434
|
} else if (ccSelectedFilter === "greaterThan") {
|
|
435
435
|
return qb
|
|
436
436
|
? qb.greaterThan(filterValue)
|
|
437
|
-
:
|
|
437
|
+
: fieldVal => {
|
|
438
438
|
return fieldVal > filterValue;
|
|
439
439
|
};
|
|
440
440
|
} else if (ccSelectedFilter === "lessThan") {
|
|
441
441
|
return qb
|
|
442
442
|
? qb.lessThan(filterValue)
|
|
443
|
-
:
|
|
443
|
+
: fieldVal => {
|
|
444
444
|
return fieldVal < filterValue;
|
|
445
445
|
};
|
|
446
446
|
} else if (ccSelectedFilter === "inRange") {
|
|
447
447
|
return qb
|
|
448
448
|
? qb.between(filterValue[0], filterValue[1])
|
|
449
|
-
:
|
|
449
|
+
: fieldVal => {
|
|
450
450
|
return filterValue[0] <= fieldVal && fieldVal <= filterValue[1];
|
|
451
451
|
};
|
|
452
452
|
} else if (ccSelectedFilter === "outsideRange") {
|
|
453
453
|
return qb
|
|
454
454
|
? qb.notBetween(filterValue[0], filterValue[1])
|
|
455
|
-
:
|
|
455
|
+
: fieldVal => {
|
|
456
456
|
return filterValue[0] > fieldVal || fieldVal > filterValue[1];
|
|
457
457
|
};
|
|
458
458
|
} else if (ccSelectedFilter === "equalTo") {
|
|
459
459
|
return qb
|
|
460
460
|
? filterValue
|
|
461
|
-
:
|
|
461
|
+
: fieldVal => {
|
|
462
462
|
return fieldVal === filterValue;
|
|
463
463
|
};
|
|
464
464
|
} else if (ccSelectedFilter === "regex") {
|
|
465
465
|
return qb
|
|
466
466
|
? qb.matchesRegex(filterValue)
|
|
467
|
-
:
|
|
467
|
+
: fieldVal => {
|
|
468
468
|
new RegExp(filterValue).test(fieldVal);
|
|
469
469
|
return fieldVal;
|
|
470
470
|
};
|
|
@@ -530,10 +530,10 @@ function parseFilters(newParams) {
|
|
|
530
530
|
order: newParams.order && newParams.order.split("___"),
|
|
531
531
|
filters:
|
|
532
532
|
newParams.filters &&
|
|
533
|
-
newParams.filters.split("::").map(
|
|
533
|
+
newParams.filters.split("::").map(filter => {
|
|
534
534
|
const splitFilter = filter.split("__");
|
|
535
535
|
const [filterOn, selectedFilter, filterValue] = splitFilter;
|
|
536
|
-
const parseFilterValue =
|
|
536
|
+
const parseFilterValue = filterValue => {
|
|
537
537
|
if (selectedFilter === "inList" || selectedFilter === "notInList") {
|
|
538
538
|
return filterValue.split(";");
|
|
539
539
|
}
|
|
@@ -605,7 +605,7 @@ export function makeDataTableHandlers({
|
|
|
605
605
|
}
|
|
606
606
|
function removeSingleFilter(filterOn, currentParams) {
|
|
607
607
|
const filters = currentParams.filters
|
|
608
|
-
? currentParams.filters.filter(
|
|
608
|
+
? currentParams.filters.filter(filter => {
|
|
609
609
|
return filter.filterOn !== filterOn;
|
|
610
610
|
})
|
|
611
611
|
: undefined;
|
|
@@ -621,7 +621,7 @@ export function makeDataTableHandlers({
|
|
|
621
621
|
searchTerm: undefined,
|
|
622
622
|
tags: undefined
|
|
623
623
|
};
|
|
624
|
-
additionalFilterKeys.forEach(
|
|
624
|
+
additionalFilterKeys.forEach(key => {
|
|
625
625
|
toClear[key] = undefined;
|
|
626
626
|
});
|
|
627
627
|
setNewParams(toClear);
|
|
@@ -639,7 +639,7 @@ export function makeDataTableHandlers({
|
|
|
639
639
|
let newOrder = [];
|
|
640
640
|
if (shiftHeld) {
|
|
641
641
|
//first remove the old order
|
|
642
|
-
newOrder = [...(currentParams.order || [])].filter(
|
|
642
|
+
newOrder = [...(currentParams.order || [])].filter(value => {
|
|
643
643
|
const shouldRemove =
|
|
644
644
|
value.replace(/^-/, "") === order.replace(/^-/, "");
|
|
645
645
|
return !shouldRemove;
|
|
@@ -703,7 +703,7 @@ function getAllFilters(filters, searchTerm, schema) {
|
|
|
703
703
|
...getFiltersFromSearchTerm(searchTerm, schema)
|
|
704
704
|
];
|
|
705
705
|
|
|
706
|
-
allFilters = allFilters.filter(
|
|
706
|
+
allFilters = allFilters.filter(val => {
|
|
707
707
|
return val !== "";
|
|
708
708
|
}); //get rid of erroneous filters
|
|
709
709
|
|
|
@@ -817,7 +817,7 @@ export function getQueryParams({
|
|
|
817
817
|
const ccFields = getFieldsMappedByCCDisplayName(schema);
|
|
818
818
|
|
|
819
819
|
if (tableQueryParams.order && tableQueryParams.order.length) {
|
|
820
|
-
tableQueryParams.order.forEach(
|
|
820
|
+
tableQueryParams.order.forEach(orderVal => {
|
|
821
821
|
const ccDisplayName = orderVal.replace(/^-/gi, "");
|
|
822
822
|
const schemaForField = ccFields[ccDisplayName];
|
|
823
823
|
if (schemaForField) {
|
|
@@ -852,9 +852,9 @@ export function getQueryParams({
|
|
|
852
852
|
const { andFilters, orFilters, otherOrFilters } =
|
|
853
853
|
getAndAndOrFilters(allFilters);
|
|
854
854
|
try {
|
|
855
|
-
const flattenFilters =
|
|
856
|
-
return flatMap(Object.keys(filterObj),
|
|
857
|
-
return filterObj[key].map(
|
|
855
|
+
const flattenFilters = filterObj => {
|
|
856
|
+
return flatMap(Object.keys(filterObj), key => {
|
|
857
|
+
return filterObj[key].map(filter => ({
|
|
858
858
|
[key]: filter
|
|
859
859
|
}));
|
|
860
860
|
});
|
|
@@ -863,19 +863,19 @@ export function getQueryParams({
|
|
|
863
863
|
const orFiltersObject = getQueries(orFilters, qb, ccFields);
|
|
864
864
|
let allOrFilters = flattenFilters(orFiltersObject);
|
|
865
865
|
|
|
866
|
-
otherOrFilters.forEach(
|
|
866
|
+
otherOrFilters.forEach(orFilters => {
|
|
867
867
|
const otherOrFiltersObject = getQueries(orFilters, qb, ccFields);
|
|
868
868
|
allOrFilters = allOrFilters.concat(
|
|
869
869
|
flattenFilters(otherOrFiltersObject)
|
|
870
870
|
);
|
|
871
871
|
});
|
|
872
872
|
allOrFilters.push(additionalOrFilterToUse);
|
|
873
|
-
allOrFilters = allOrFilters.filter(
|
|
873
|
+
allOrFilters = allOrFilters.filter(obj => !isEmpty(obj));
|
|
874
874
|
|
|
875
875
|
const unflattenedAndQueries = getQueries(andFilters, qb, ccFields);
|
|
876
876
|
let allAndFilters = flattenFilters(unflattenedAndQueries);
|
|
877
877
|
allAndFilters.push(additionalFilterToUse);
|
|
878
|
-
allAndFilters = allAndFilters.filter(
|
|
878
|
+
allAndFilters = allAndFilters.filter(obj => !isEmpty(obj));
|
|
879
879
|
if (allAndFilters.length) {
|
|
880
880
|
qb.whereAll(...allAndFilters);
|
|
881
881
|
}
|
|
@@ -958,7 +958,7 @@ function getSubFiltersAndPath(filter, qb, ccFields) {
|
|
|
958
958
|
}
|
|
959
959
|
const subFiltersToUse = [];
|
|
960
960
|
const subFilters = Array.isArray(_subFilters) ? _subFilters : [_subFilters];
|
|
961
|
-
subFilters.forEach(
|
|
961
|
+
subFilters.forEach(subFilter => {
|
|
962
962
|
let subFilterToUse = subFilter;
|
|
963
963
|
if (fieldSchema) {
|
|
964
964
|
const { path, reference } = fieldSchema;
|
|
@@ -1023,7 +1023,7 @@ function getColumnCustomFilters(filters, qb, ccFields) {
|
|
|
1023
1023
|
|
|
1024
1024
|
is possible because the returned accumulator will be passed to whereAny
|
|
1025
1025
|
*/
|
|
1026
|
-
subFilters.forEach(
|
|
1026
|
+
subFilters.forEach(subFilter => {
|
|
1027
1027
|
acc.push(fieldSchema.additionalColumnFilter(qb, subFilter, path));
|
|
1028
1028
|
});
|
|
1029
1029
|
return acc;
|
|
@@ -197,28 +197,23 @@ export default function withTableParams(compOrOpts, pTopLevelOpts) {
|
|
|
197
197
|
return {};
|
|
198
198
|
}
|
|
199
199
|
const mergedOpts = getMergedOpts(topLevelOptions, ownProps);
|
|
200
|
-
const {
|
|
201
|
-
|
|
202
|
-
urlConnected,
|
|
203
|
-
history,
|
|
204
|
-
defaults,
|
|
205
|
-
onlyOneFilter
|
|
206
|
-
} = mergedOpts;
|
|
200
|
+
const { formName, urlConnected, history, defaults, onlyOneFilter } =
|
|
201
|
+
mergedOpts;
|
|
207
202
|
|
|
208
203
|
function updateSearch(val) {
|
|
209
|
-
setTimeout(function() {
|
|
204
|
+
setTimeout(function () {
|
|
210
205
|
dispatch(change(formName, "reduxFormSearchInput", val || ""));
|
|
211
206
|
});
|
|
212
207
|
}
|
|
213
208
|
|
|
214
209
|
let setNewParams;
|
|
215
210
|
if (urlConnected) {
|
|
216
|
-
setNewParams = function(newParams) {
|
|
211
|
+
setNewParams = function (newParams) {
|
|
217
212
|
setCurrentParamsOnUrl(newParams, history.replace);
|
|
218
213
|
dispatch(change(formName, "reduxFormQueryParams", newParams)); //we always will update the redux params as a workaround for withRouter not always working if inside a redux-connected container https://github.com/ReactTraining/react-router/issues/5037
|
|
219
214
|
};
|
|
220
215
|
} else {
|
|
221
|
-
setNewParams = function(newParams) {
|
|
216
|
+
setNewParams = function (newParams) {
|
|
222
217
|
dispatch(change(formName, "reduxFormQueryParams", newParams));
|
|
223
218
|
};
|
|
224
219
|
}
|
|
@@ -240,18 +235,14 @@ export default function withTableParams(compOrOpts, pTopLevelOpts) {
|
|
|
240
235
|
const { currentParams, formName } = stateProps;
|
|
241
236
|
const boundDispatchProps = {};
|
|
242
237
|
//bind currentParams to actions
|
|
243
|
-
Object.keys(dispatchProps.bindThese).forEach(function(key) {
|
|
238
|
+
Object.keys(dispatchProps.bindThese).forEach(function (key) {
|
|
244
239
|
const action = dispatchProps.bindThese[key];
|
|
245
|
-
boundDispatchProps[key] = function(...args) {
|
|
240
|
+
boundDispatchProps[key] = function (...args) {
|
|
246
241
|
action(...args, currentParams);
|
|
247
242
|
};
|
|
248
243
|
});
|
|
249
|
-
const {
|
|
250
|
-
|
|
251
|
-
selectedEntities,
|
|
252
|
-
mergedOpts,
|
|
253
|
-
...restStateProps
|
|
254
|
-
} = stateProps;
|
|
244
|
+
const { variables, selectedEntities, mergedOpts, ...restStateProps } =
|
|
245
|
+
stateProps;
|
|
255
246
|
|
|
256
247
|
const changeFormValue = (...args) =>
|
|
257
248
|
dispatchProps.dispatch(change(formName, ...args));
|