@sankhyalabs/core 5.20.0-dev.82 → 5.20.0-dev.83

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.
@@ -1,13 +1,13 @@
1
1
  import { compareValues } from '../metadata/DataType.js';
2
2
  export class FieldComparator {
3
- static compare(field, recordA, recordB, asc = true) {
3
+ static compare(field, recordA, recordB, asc = true, onlyLabel = false) {
4
4
  const valueA = (asc ? recordA : recordB)[field.name];
5
5
  const valueB = (asc ? recordB : recordA)[field.name];
6
- return FieldComparator.compareValues(field, valueA, valueB);
6
+ return FieldComparator.compareValues(field, valueA, valueB, onlyLabel);
7
7
  }
8
- static compareValues(descriptor, valueA, valueB) {
8
+ static compareValues(descriptor, valueA, valueB, onlyLabel = false) {
9
9
  const undefinedComparison = this.compareUndefined(valueA == undefined, valueB == undefined);
10
- return (undefinedComparison != undefined) ? undefinedComparison : compareValues(valueA, valueB, descriptor);
10
+ return (undefinedComparison != undefined) ? undefinedComparison : compareValues(valueA, valueB, descriptor, onlyLabel);
11
11
  }
12
12
  static compareUndefined(isUndefinedA, isUndefinedB) {
13
13
  if (!isUndefinedA && !isUndefinedB)
@@ -1 +1 @@
1
- {"version":3,"file":"FieldComparator.js","sourceRoot":"","sources":["../../../src/dataunit/sorting/FieldComparator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,OAAO,eAAe;IAEnB,MAAM,CAAC,OAAO,CAAC,KAAsB,EAAE,OAAe,EAAE,OAAe,EAAE,MAAe,IAAI;QACjG,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErD,OAAO,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,UAA2B,EAAE,MAAW,EAAE,MAAW;QAC/E,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QAC5F,OAAO,CAAC,mBAAmB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9G,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,YAAqB,EAAE,YAAqB;QACzE,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;YAAE,OAAO;QAC3C,IAAI,YAAY,IAAI,YAAY;YAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"FieldComparator.js","sourceRoot":"","sources":["../../../src/dataunit/sorting/FieldComparator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,OAAO,eAAe;IAEnB,MAAM,CAAC,OAAO,CAAC,KAAsB,EAAE,OAAe,EAAE,OAAe,EAAE,MAAe,IAAI,EAAE,YAAqB,KAAK;QAC7H,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErD,OAAO,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,UAA2B,EAAE,MAAW,EAAE,MAAW,EAAE,YAAqB,KAAK;QAC3G,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QAC5F,OAAO,CAAC,mBAAmB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACzH,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,YAAqB,EAAE,YAAqB;QACzE,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;YAAE,OAAO;QAC3C,IAAI,YAAY,IAAI,YAAY;YAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -9,9 +9,17 @@ export default class SortingUtils {
9
9
  return undefined;
10
10
  }
11
11
  return (recordA, recordB) => {
12
+ var _a;
12
13
  for (const sort of sorting) {
13
14
  if (sort.field) {
14
- const result = FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === SortMode.ASC);
15
+ let field = dataUnit.getField(sort.field);
16
+ let onlyLabel = false;
17
+ if (!field) {
18
+ const sourceFieldName = (_a = dataUnit.getSourceFieldValue(sort.field)) !== null && _a !== void 0 ? _a : "";
19
+ field = dataUnit.getField(sourceFieldName);
20
+ onlyLabel = true;
21
+ }
22
+ const result = FieldComparator.compare(field, recordA, recordB, sort.mode === SortMode.ASC, onlyLabel);
15
23
  if (result != 0) {
16
24
  return result;
17
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SortingUtils.js","sourceRoot":"","sources":["../../src/utils/SortingUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAGzE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAEtB,MAAM,CAAC,kBAAkB,CAAC,QAAkB,EAAE,OAAqB;QAEtE,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7C,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACxB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBACxB,IAAI,IAAI,CAAC,KAAK,EAAC;oBACX,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACvI,IAAI,MAAM,IAAI,CAAC,EAAE;wBACb,OAAO,MAAM,CAAC;qBACjB;iBACJ;aACJ;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;IACN,CAAC;CAEJ"}
1
+ {"version":3,"file":"SortingUtils.js","sourceRoot":"","sources":["../../src/utils/SortingUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAGzE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAEtB,MAAM,CAAC,kBAAkB,CAAC,QAAkB,EAAE,OAAqB;QAEtE,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7C,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;;YACxB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBACxB,IAAI,IAAI,CAAC,KAAK,EAAC;oBACX,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAoB,CAAC;oBAC7D,IAAI,SAAS,GAAG,KAAK,CAAC;oBACtB,IAAG,CAAC,KAAK,EAAC;wBACN,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;wBAEvE,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAoB,CAAC;wBAC9D,SAAS,GAAG,IAAI,CAAC;qBACpB;oBAED,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACvG,IAAI,MAAM,IAAI,CAAC,EAAE;wBACb,OAAO,MAAM,CAAC;qBACjB;iBACJ;aACJ;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;IACN,CAAC;CAEJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/core",
3
- "version": "5.20.0-dev.82",
3
+ "version": "5.20.0-dev.83",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",