@indigina/ui-kit 1.1.359 → 1.1.360

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.
@@ -6429,39 +6429,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
6429
6429
  }], dragEnd: [{ type: i0.Output, args: ["dragEnd"] }], itemTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
6430
6430
 
6431
6431
  const kitDataStateToODataString = (state, utcDates = false) => {
6432
- const mappedState = state.filter
6433
- ? {
6434
- ...state,
6435
- filter: mapFiltersForOData(state.filter),
6436
- }
6437
- : state;
6438
- return decodeURIComponent(toODataString(mappedState, { utcDates }));
6432
+ const base = toODataString({ ...state, filter: undefined }, { utcDates });
6433
+ const filter = state.filter && convertFiltersToOData(state.filter, utcDates);
6434
+ return decodeURIComponent(filter ? `${base}$filter=(${filter})` : base);
6439
6435
  };
6440
6436
  const kitFilterBy = (data, filter) => filterBy(data, filter);
6441
- const isKitFilterDescriptor = (filter) => {
6442
- return 'field' in filter && 'value' in filter;
6443
- };
6444
- const mapFiltersForOData = (filter) => ({
6445
- ...filter,
6446
- filters: filter.filters.map(filter => {
6437
+ const convertFiltersToOData = (filters, utcDates) => {
6438
+ const oDataFilters = filters.filters.map(filter => {
6447
6439
  if ('isArray' in filter && filter.isArray) {
6448
- const filterData = filter.filters[0];
6449
- if (!isKitFilterDescriptor(filterData) || !filterData.field) {
6450
- return filter;
6451
- }
6452
- const field = (typeof filterData.field === 'string' ? filterData.field : filterData.field()).replaceAll('.', '/');
6453
- return {
6454
- field: `${field}/any(p: p eq '${filterData.value}')`,
6455
- operator: 'eq',
6456
- value: true,
6457
- };
6440
+ return convertArrayFiltersToOData(filter);
6458
6441
  }
6459
- if ('filters' in filter) {
6460
- return mapFiltersForOData(filter);
6442
+ else {
6443
+ return convertStandardFiltersToOData(filter, utcDates);
6461
6444
  }
6462
- return filter;
6463
- }),
6464
- });
6445
+ });
6446
+ return oDataFilters.filter(Boolean).join(` ${filters.logic} `);
6447
+ };
6448
+ const convertStandardFiltersToOData = (filter, utcDates) => {
6449
+ return extractFilterExpression(toODataString({
6450
+ filter: isKitFilterDescriptor(filter)
6451
+ ? { logic: KitFilterLogic.AND, filters: [filter] }
6452
+ : filter,
6453
+ }, { utcDates }));
6454
+ };
6455
+ const convertArrayFiltersToOData = (filter) => {
6456
+ const filterData = filter.filters[0];
6457
+ if (!isKitFilterDescriptor(filterData) || !filterData.field) {
6458
+ return '';
6459
+ }
6460
+ const field = (typeof filterData.field === 'string' ? filterData.field : filterData.field())?.replaceAll('.', '/');
6461
+ return `${field}/any(p: p eq '${filterData.value}')`;
6462
+ };
6463
+ const isKitFilterDescriptor = (filter) => {
6464
+ return 'field' in filter && 'value' in filter;
6465
+ };
6466
+ const extractFilterExpression = (odata) => {
6467
+ const extractedExpression = odata.replace(/^\$filter=/, '');
6468
+ return extractedExpression.startsWith('(') && extractedExpression.endsWith(')')
6469
+ ? extractedExpression.slice(1, -1)
6470
+ : extractedExpression;
6471
+ };
6465
6472
 
6466
6473
  var KitThemes;
6467
6474
  (function (KitThemes) {