@conterra/ct-mapapps-typings 4.17.1-next.20240325052139 → 4.17.1-next.20240328070851

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.
@@ -11,6 +11,8 @@
11
11
  declare class NumberParser {
12
12
  private groupRegexp;
13
13
  private decimalRegexp;
14
+ readonly groupSeparator: string | undefined;
15
+ readonly decimalSeparator: string | undefined;
14
16
  constructor(locale: string);
15
17
  parse(numberString: string): number;
16
18
  }
@@ -34,6 +34,29 @@ declare const TYPE_BASED_COMPARE: (a: any, b: any) => number;
34
34
  * @implements Comparator
35
35
  */
36
36
  declare const IGNORE_CASE: (a: any, b: any) => number;
37
+ /**
38
+ * Factory to create a comparator to compare strings using localCompare function.
39
+ * @param locale locale, e.g. `en` or `de`.
40
+ * @param ignoreCase `true`, if strings should be compared ignoring case, otherwise `false`.
41
+ * @param numeric `true`, try to interpret the string as number
42
+ * @returns comparator for strings
43
+ */
44
+ declare function createStringComparator(locale?: string, ignoreCase?: boolean, numeric?: boolean): Comparator<any>;
45
+ /**
46
+ * Factory to create a string comparator which compares strings respecting numeric parts of the given strings.
47
+ * The comparator splits the input into string and numeric parts to compare them separately.
48
+ * @example
49
+ * ```js
50
+ * const comparator = createStringWithNumberPartsComparator();
51
+ * const values = ["a1", "a10", "a2", "b1, "a20", "a3"];
52
+ * values.sort(comparator);
53
+ * assert.deepStrictEqual(["a1", "a2", "a3", "a10", "a20", "b1"], values);
54
+ * ```
55
+ * @param locale locale, e.g. `en` or `de`.
56
+ * @param ignoreCase `true`, if strings should be compared ignoring case, otherwise `false`.
57
+ * @returns comparator for comparing strings with numeric parts
58
+ */
59
+ declare function createStringWithNumberPartsComparator(locale?: string, ignoreCase?: boolean): Comparator<any>;
37
60
  /**
38
61
  * An interface implemented by objects with custom comparison logic.
39
62
  * Used in conjunction with {@link BY_COMPARE_TO}.
@@ -176,4 +199,4 @@ keyof ObjectType | AllFieldSpecObjects<ObjectType, keyof ObjectType>;
176
199
  */
177
200
  declare function compareFields<ObjectType>(...fields: FieldSpec<ObjectType>[]): Comparator<ObjectType>;
178
201
 
179
- export { BY_COMPARE_TO, type Comparable, type Comparator, DEFAULT_COMPARE, type FieldSpecObject, IGNORE_CASE, TYPE_BASED_COMPARE, compareFields };
202
+ export { BY_COMPARE_TO, type Comparable, type Comparator, DEFAULT_COMPARE, type FieldSpecObject, IGNORE_CASE, TYPE_BASED_COMPARE, compareFields, createStringComparator, createStringWithNumberPartsComparator };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conterra/ct-mapapps-typings",
3
- "version": "4.17.1-next.20240325052139",
3
+ "version": "4.17.1-next.20240328070851",
4
4
  "description": "TypeDefinitions for ct-mapapps",
5
5
  "author": "conterra",
6
6
  "license": "Apache-2.0"
@@ -1131,6 +1131,16 @@ interface Column {
1131
1131
  * Specifies if this column is sortable.
1132
1132
  */
1133
1133
  readonly sortable: boolean;
1134
+ /**
1135
+ * Specifies if this column should be sorted by its original value or by its formatted display value.
1136
+ * The following values are allowed:
1137
+ *
1138
+ * - `undefined` (default): The column is sorted by its original value.
1139
+ * - `string`: The column is sorted by its formatted display value as a string.
1140
+ * - `string-with-number`: The column is sorted by its formatted display value,
1141
+ * whereby numeric parts are sorted as numbers. Example: "a1" < "a2" < "a10".
1142
+ */
1143
+ readonly sortFormattedValue?: "string" | "string-with-number" | undefined;
1134
1144
  /**
1135
1145
  * Id of a formatter.
1136
1146
  */
@@ -1,4 +1,4 @@
1
- import { DataTable, TableItem, DataTableCollection } from '../__internal__/czLyVyOh.js';
1
+ import { DataTable, TableItem, DataTableCollection } from '../__internal__/XYqJysD8.js';
2
2
  import { EventSource } from 'apprt-core/Events';
3
3
  import 'apprt-core/Types';
4
4
  import 'esri/geometry';
@@ -1,4 +1,4 @@
1
- export { ArcadeFormatOptions, DateTimeFormat, DateTimeFormatOptions, FORMATTER_COMBINED_IDENTIFIER, FORMATTER_DOMAIN_VALUE_IDENTIFIER, FORMATTER_ID_IDENTIFIER, Formatter, FormatterFacade, FormatterOptions, FormattingInfo, FormattingInfoProvider, NumberFormatOptions, WellKnownFormatterOptions } from '../__internal__/czLyVyOh.js';
1
+ export { ArcadeFormatOptions, DateTimeFormat, DateTimeFormatOptions, FORMATTER_COMBINED_IDENTIFIER, FORMATTER_DOMAIN_VALUE_IDENTIFIER, FORMATTER_ID_IDENTIFIER, Formatter, FormatterFacade, FormatterOptions, FormattingInfo, FormattingInfoProvider, NumberFormatOptions, WellKnownFormatterOptions } from '../__internal__/XYqJysD8.js';
2
2
  import 'apprt-core/Types';
3
3
  import 'esri/geometry';
4
4
  import 'store-api/api';
@@ -1,4 +1,4 @@
1
- export { ArcadeFormatOptions, CollectionChangedEvent, Column, ColumnAlign, ColumnProvider, ColumnProviderFactory, DataSource, DataTable, DataTableCollection, DataTableCollectionEvents, DataTableEvents, DataTableId, DataTableWatchProperties, Dataset, DatasetCapabilities, DatasetEvents, DatasetField, DatasetItem, DatasetItemId, DatasetItemIdsProvider, DatasetState, DatasetWatchProperties, DateTimeFormat, DateTimeFormatOptions, FORMATTER_COMBINED_IDENTIFIER, FORMATTER_DOMAIN_VALUE_IDENTIFIER, FORMATTER_ID_IDENTIFIER, Filter, FocusChangedEvent, Formatter, FormatterFacade, FormatterOptions, FormattingInfo, FormattingInfoProvider, ItemCount, NumberFormatOptions, QueryDefinition, QueryResult, RowEvent, RowItem, SELECTION_COLUMN_NAME, Selection, SelectionEvents, SortSpecifier, SuggestFilter, TableItem, TableModel, TableModelEvents, TableModelState, TableModelWatchProperties, WellKnownFormatterOptions } from '../__internal__/czLyVyOh.js';
1
+ export { ArcadeFormatOptions, CollectionChangedEvent, Column, ColumnAlign, ColumnProvider, ColumnProviderFactory, DataSource, DataTable, DataTableCollection, DataTableCollectionEvents, DataTableEvents, DataTableId, DataTableWatchProperties, Dataset, DatasetCapabilities, DatasetEvents, DatasetField, DatasetItem, DatasetItemId, DatasetItemIdsProvider, DatasetState, DatasetWatchProperties, DateTimeFormat, DateTimeFormatOptions, FORMATTER_COMBINED_IDENTIFIER, FORMATTER_DOMAIN_VALUE_IDENTIFIER, FORMATTER_ID_IDENTIFIER, Filter, FocusChangedEvent, Formatter, FormatterFacade, FormatterOptions, FormattingInfo, FormattingInfoProvider, ItemCount, NumberFormatOptions, QueryDefinition, QueryResult, RowEvent, RowItem, SELECTION_COLUMN_NAME, Selection, SelectionEvents, SortSpecifier, SuggestFilter, TableItem, TableModel, TableModelEvents, TableModelState, TableModelWatchProperties, WellKnownFormatterOptions } from '../__internal__/XYqJysD8.js';
2
2
  export { DataTableFactory, ResultViewerService, ResultViewerServiceEvents, ResultViewerServiceOpenOptions } from './service.js';
3
3
  export { DataTableUi, DataTableUiConfig, DataTableUiEvents, DataTableUiFactory } from './ui.js';
4
4
  export { BulkActionContext, BulkButtonTableAction, BulkTableAction, RowActionContext, RowButtonTableAction, RowTableAction, TableAction, TableActionDisplayState, TableActionDisplayStateProvider, TableActionItem, TableActionResolver, TableActionResolverContext, TableActionResolverContextEvents, TableActionResolverContextOptions, TableActionUIType } from './actions.js';
@@ -1,4 +1,4 @@
1
1
  import 'apprt-core/Types';
2
2
  import 'esri/geometry';
3
3
  import 'store-api/api';
4
- export { CollectionChangedEvent, Column, ColumnAlign, ColumnProvider, ColumnProviderFactory, DataSource, DataTable, DataTableCollection, DataTableCollectionEvents, DataTableEvents, DataTableId, DataTableWatchProperties, Dataset, DatasetCapabilities, DatasetEvents, DatasetField, DatasetItem, DatasetItemId, DatasetItemIdsProvider, DatasetState, DatasetWatchProperties, Filter, FocusChangedEvent, ItemCount, QueryDefinition, QueryResult, RowEvent, RowItem, SELECTION_COLUMN_NAME, Selection, SelectionEvents, SortSpecifier, SuggestFilter, TableItem, TableModel, TableModelEvents, TableModelState, TableModelWatchProperties } from '../__internal__/czLyVyOh.js';
4
+ export { CollectionChangedEvent, Column, ColumnAlign, ColumnProvider, ColumnProviderFactory, DataSource, DataTable, DataTableCollection, DataTableCollectionEvents, DataTableEvents, DataTableId, DataTableWatchProperties, Dataset, DatasetCapabilities, DatasetEvents, DatasetField, DatasetItem, DatasetItemId, DatasetItemIdsProvider, DatasetState, DatasetWatchProperties, Filter, FocusChangedEvent, ItemCount, QueryDefinition, QueryResult, RowEvent, RowItem, SELECTION_COLUMN_NAME, Selection, SelectionEvents, SortSpecifier, SuggestFilter, TableItem, TableModel, TableModelEvents, TableModelState, TableModelWatchProperties } from '../__internal__/XYqJysD8.js';
@@ -1,5 +1,5 @@
1
1
  import { Store, ComplexQueryExpression, QueryOptions } from 'store-api/api';
2
- import { DataTableCollection, DataTable, DatasetItemIdsProvider } from '../__internal__/czLyVyOh.js';
2
+ import { DataTableCollection, DataTable, DatasetItemIdsProvider } from '../__internal__/XYqJysD8.js';
3
3
  import { EventSource, Handle } from 'apprt-core/Types';
4
4
  import 'esri/geometry';
5
5
 
@@ -1,4 +1,4 @@
1
- import { DataTableCollection } from '../__internal__/czLyVyOh.js';
1
+ import { DataTableCollection } from '../__internal__/XYqJysD8.js';
2
2
  import { EventSource } from 'apprt-core/Types';
3
3
  import 'esri/geometry';
4
4
  import 'store-api/api';