@indigina/ui-kit 1.1.358 → 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.
@@ -6345,11 +6345,6 @@ const findMatches = (obj, translatePrefix, excludedKeys = [], search, translateV
6345
6345
  if (!search) {
6346
6346
  return [];
6347
6347
  }
6348
- const handleArray = (arr, path) => {
6349
- arr.forEach((item, index) => {
6350
- traverse(item, `${path}[${index}]`);
6351
- });
6352
- };
6353
6348
  const handleObject = (obj, path) => {
6354
6349
  for (const [key, value,] of Object.entries(obj)) {
6355
6350
  const currentPath = path ? `${path}.${key}` : key;
@@ -6368,8 +6363,8 @@ const findMatches = (obj, translatePrefix, excludedKeys = [], search, translateV
6368
6363
  }
6369
6364
  };
6370
6365
  const traverse = (current, path) => {
6371
- if (current && typeof current === 'object') {
6372
- Array.isArray(current) ? handleArray(current, path) : handleObject(current, path);
6366
+ if (current && typeof current === 'object' && !Array.isArray(current)) {
6367
+ handleObject(current, path);
6373
6368
  }
6374
6369
  };
6375
6370
  traverse(obj, '');
@@ -6434,39 +6429,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
6434
6429
  }], dragEnd: [{ type: i0.Output, args: ["dragEnd"] }], itemTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
6435
6430
 
6436
6431
  const kitDataStateToODataString = (state, utcDates = false) => {
6437
- const mappedState = state.filter
6438
- ? {
6439
- ...state,
6440
- filter: mapFiltersForOData(state.filter),
6441
- }
6442
- : state;
6443
- 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);
6444
6435
  };
6445
6436
  const kitFilterBy = (data, filter) => filterBy(data, filter);
6446
- const isKitFilterDescriptor = (filter) => {
6447
- return 'field' in filter && 'value' in filter;
6448
- };
6449
- const mapFiltersForOData = (filter) => ({
6450
- ...filter,
6451
- filters: filter.filters.map(filter => {
6437
+ const convertFiltersToOData = (filters, utcDates) => {
6438
+ const oDataFilters = filters.filters.map(filter => {
6452
6439
  if ('isArray' in filter && filter.isArray) {
6453
- const filterData = filter.filters[0];
6454
- if (!isKitFilterDescriptor(filterData) || !filterData.field) {
6455
- return filter;
6456
- }
6457
- const field = (typeof filterData.field === 'string' ? filterData.field : filterData.field()).replaceAll('.', '/');
6458
- return {
6459
- field: `${field}/any(p: p eq '${filterData.value}')`,
6460
- operator: 'eq',
6461
- value: true,
6462
- };
6440
+ return convertArrayFiltersToOData(filter);
6463
6441
  }
6464
- if ('filters' in filter) {
6465
- return mapFiltersForOData(filter);
6442
+ else {
6443
+ return convertStandardFiltersToOData(filter, utcDates);
6466
6444
  }
6467
- return filter;
6468
- }),
6469
- });
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
+ };
6470
6472
 
6471
6473
  var KitThemes;
6472
6474
  (function (KitThemes) {