@ethlete/query 0.1.0-next.2 → 0.1.0-next.3
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/esm2020/lib/query-form/query-form.mjs +7 -4
- package/esm2020/lib/query-form/query-form.types.mjs +1 -1
- package/esm2020/lib/query-form/query-form.utils.mjs +21 -1
- package/fesm2015/ethlete-query.mjs +28 -4
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +27 -4
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/lib/query-form/query-form.d.ts +1 -1
- package/lib/query-form/query-form.types.d.ts +7 -1
- package/lib/query-form/query-form.utils.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1279,10 +1279,11 @@ class QueryForm {
|
|
|
1279
1279
|
const queryParams = this._activatedRoute.snapshot.queryParams;
|
|
1280
1280
|
for (const [key, field] of Object.entries(this._fields)) {
|
|
1281
1281
|
const value = queryParams[key];
|
|
1282
|
-
|
|
1282
|
+
// We only check using == because the value types can be different (e.g. "1" and 1)
|
|
1283
|
+
if (value === undefined || value == field.control.value) {
|
|
1283
1284
|
continue;
|
|
1284
1285
|
}
|
|
1285
|
-
const deserializedValue = field.data.
|
|
1286
|
+
const deserializedValue = field.data.queryParamToValueTransformFn?.(value) ?? value;
|
|
1286
1287
|
field.setValue(deserializedValue);
|
|
1287
1288
|
}
|
|
1288
1289
|
}
|
|
@@ -1332,7 +1333,9 @@ class QueryForm {
|
|
|
1332
1333
|
delete queryParams[key];
|
|
1333
1334
|
}
|
|
1334
1335
|
else {
|
|
1335
|
-
queryParams[key] =
|
|
1336
|
+
queryParams[key] = this._fields[key].data.valueToQueryParamTransformFn
|
|
1337
|
+
? this._fields[key].data.valueToQueryParamTransformFn?.(value)
|
|
1338
|
+
: value;
|
|
1336
1339
|
}
|
|
1337
1340
|
}
|
|
1338
1341
|
this._router.navigate([], {
|
|
@@ -1414,10 +1417,30 @@ const transformToDateArray = (value) => {
|
|
|
1414
1417
|
}
|
|
1415
1418
|
return null;
|
|
1416
1419
|
};
|
|
1420
|
+
const transformToSort = (value) => {
|
|
1421
|
+
if (typeof value === 'string') {
|
|
1422
|
+
const [active, direction] = value.split(':');
|
|
1423
|
+
return {
|
|
1424
|
+
active,
|
|
1425
|
+
direction: direction,
|
|
1426
|
+
};
|
|
1427
|
+
}
|
|
1428
|
+
return null;
|
|
1429
|
+
};
|
|
1430
|
+
const transformToSortQueryParam = (value) => {
|
|
1431
|
+
if (typeof value === 'string') {
|
|
1432
|
+
return value;
|
|
1433
|
+
}
|
|
1434
|
+
if (value && typeof value === 'object' && 'active' in value && 'direction' in value) {
|
|
1435
|
+
const valAsSort = value;
|
|
1436
|
+
return valAsSort.direction ? `${valAsSort.active}:${valAsSort.direction}` : null;
|
|
1437
|
+
}
|
|
1438
|
+
return null;
|
|
1439
|
+
};
|
|
1417
1440
|
|
|
1418
1441
|
/**
|
|
1419
1442
|
* Generated bundle index. Do not edit.
|
|
1420
1443
|
*/
|
|
1421
1444
|
|
|
1422
|
-
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildBody, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRequestError, buildRoute, buildTimestampFromSeconds, createInfinityQueryConfig, decryptBearer, deepFreeze, def, extractExpiresInSeconds, filterFailure, filterInvalidParams, filterSuccess, gql, guessContentType, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAbortRequestError, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, shouldCacheQuery, skipPaginationPageParamCalculator, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToString, transformToStringArray };
|
|
1445
|
+
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildBody, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRequestError, buildRoute, buildTimestampFromSeconds, createInfinityQueryConfig, decryptBearer, deepFreeze, def, extractExpiresInSeconds, filterFailure, filterInvalidParams, filterSuccess, gql, guessContentType, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAbortRequestError, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, shouldCacheQuery, skipPaginationPageParamCalculator, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
|
|
1423
1446
|
//# sourceMappingURL=ethlete-query.mjs.map
|