@deephaven/iris-grid 0.8.2-beta.1 → 0.9.1-beta.0

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.
Files changed (125) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +2 -2
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreatorFilterItem.d.ts +30 -31
  4. package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
  5. package/dist/AdvancedFilterCreatorFilterItem.js +21 -28
  6. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  7. package/dist/CrossColumnSearch.d.ts +1 -1
  8. package/dist/CrossColumnSearch.d.ts.map +1 -1
  9. package/dist/DateUtils.d.ts +46 -44
  10. package/dist/DateUtils.d.ts.map +1 -1
  11. package/dist/DateUtils.js +37 -32
  12. package/dist/DateUtils.js.map +1 -1
  13. package/dist/Formatter.d.ts +37 -42
  14. package/dist/Formatter.d.ts.map +1 -1
  15. package/dist/Formatter.js +58 -38
  16. package/dist/Formatter.js.map +1 -1
  17. package/dist/FormatterUtils.d.ts +12 -8
  18. package/dist/FormatterUtils.d.ts.map +1 -1
  19. package/dist/FormatterUtils.js.map +1 -1
  20. package/dist/IrisGrid.d.ts +12 -4
  21. package/dist/IrisGrid.d.ts.map +1 -1
  22. package/dist/IrisGrid.js +20 -4
  23. package/dist/IrisGrid.js.map +1 -1
  24. package/dist/IrisGridMetricCalculator.d.ts +16 -2
  25. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  26. package/dist/IrisGridMetricCalculator.js +4 -3
  27. package/dist/IrisGridMetricCalculator.js.map +1 -1
  28. package/dist/IrisGridTheme.d.ts +5 -75
  29. package/dist/IrisGridTheme.d.ts.map +1 -1
  30. package/dist/IrisGridTheme.js +2 -1
  31. package/dist/IrisGridTheme.js.map +1 -1
  32. package/dist/IrisGridUtils.d.ts +4 -4
  33. package/dist/IrisGridUtils.d.ts.map +1 -1
  34. package/dist/MissingKeyError.js +4 -0
  35. package/dist/MissingKeyError.js.map +1 -1
  36. package/dist/PartitionSelectorSearch.d.ts +1 -1
  37. package/dist/TableUtils.d.ts +127 -114
  38. package/dist/TableUtils.d.ts.map +1 -1
  39. package/dist/TableUtils.js +76 -69
  40. package/dist/TableUtils.js.map +1 -1
  41. package/dist/declaration.d.js +2 -0
  42. package/dist/declaration.d.js.map +1 -0
  43. package/dist/filters/FilterOperator.d.ts +5 -5
  44. package/dist/filters/FilterOperator.d.ts.map +1 -1
  45. package/dist/filters/FilterOperator.js +1 -3
  46. package/dist/filters/FilterOperator.js.map +1 -1
  47. package/dist/filters/FilterType.d.ts +23 -23
  48. package/dist/filters/FilterType.d.ts.map +1 -1
  49. package/dist/filters/FilterType.js +1 -3
  50. package/dist/filters/FilterType.js.map +1 -1
  51. package/dist/filters/index.d.ts +2 -2
  52. package/dist/filters/index.d.ts.map +1 -1
  53. package/dist/filters/index.js +2 -2
  54. package/dist/filters/index.js.map +1 -1
  55. package/dist/format-context-menus/CustomFormatAction.d.ts +27 -39
  56. package/dist/format-context-menus/CustomFormatAction.d.ts.map +1 -1
  57. package/dist/format-context-menus/CustomFormatAction.js +24 -23
  58. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  59. package/dist/format-context-menus/DateTimeFormatContextMenu.d.ts +8 -5
  60. package/dist/format-context-menus/DateTimeFormatContextMenu.d.ts.map +1 -1
  61. package/dist/format-context-menus/DateTimeFormatContextMenu.js +3 -3
  62. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  63. package/dist/format-context-menus/DecimalFormatContextMenu.d.ts +7 -5
  64. package/dist/format-context-menus/DecimalFormatContextMenu.d.ts.map +1 -1
  65. package/dist/format-context-menus/DecimalFormatContextMenu.js +3 -3
  66. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  67. package/dist/format-context-menus/FormatContextMenuUtils.d.ts +28 -27
  68. package/dist/format-context-menus/FormatContextMenuUtils.d.ts.map +1 -1
  69. package/dist/format-context-menus/FormatContextMenuUtils.js +12 -10
  70. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  71. package/dist/format-context-menus/IntegerFormatContextMenu.d.ts +7 -5
  72. package/dist/format-context-menus/IntegerFormatContextMenu.d.ts.map +1 -1
  73. package/dist/format-context-menus/IntegerFormatContextMenu.js +3 -3
  74. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  75. package/dist/format-context-menus/index.d.ts +3 -3
  76. package/dist/format-context-menus/index.d.ts.map +1 -1
  77. package/dist/format-context-menus/index.js.map +1 -1
  78. package/dist/formatters/BooleanColumnFormatter.d.ts +4 -4
  79. package/dist/formatters/BooleanColumnFormatter.d.ts.map +1 -1
  80. package/dist/formatters/BooleanColumnFormatter.js.map +1 -1
  81. package/dist/formatters/CharColumnFormatter.d.ts +4 -4
  82. package/dist/formatters/CharColumnFormatter.d.ts.map +1 -1
  83. package/dist/formatters/CharColumnFormatter.js.map +1 -1
  84. package/dist/formatters/DateTimeColumnFormatter.d.ts +13 -11
  85. package/dist/formatters/DateTimeColumnFormatter.d.ts.map +1 -1
  86. package/dist/formatters/DateTimeColumnFormatter.js +12 -2
  87. package/dist/formatters/DateTimeColumnFormatter.js.map +1 -1
  88. package/dist/formatters/DecimalColumnFormatter.d.ts +55 -59
  89. package/dist/formatters/DecimalColumnFormatter.d.ts.map +1 -1
  90. package/dist/formatters/DecimalColumnFormatter.js +66 -27
  91. package/dist/formatters/DecimalColumnFormatter.js.map +1 -1
  92. package/dist/formatters/DefaultColumnFormatter.d.ts +4 -4
  93. package/dist/formatters/DefaultColumnFormatter.d.ts.map +1 -1
  94. package/dist/formatters/DefaultColumnFormatter.js.map +1 -1
  95. package/dist/formatters/IntegerColumnFormatter.d.ts +50 -29
  96. package/dist/formatters/IntegerColumnFormatter.d.ts.map +1 -1
  97. package/dist/formatters/IntegerColumnFormatter.js +60 -19
  98. package/dist/formatters/IntegerColumnFormatter.js.map +1 -1
  99. package/dist/formatters/index.d.ts +8 -7
  100. package/dist/formatters/index.d.ts.map +1 -1
  101. package/dist/formatters/index.js +4 -3
  102. package/dist/formatters/index.js.map +1 -1
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.js +1 -0
  105. package/dist/index.js.map +1 -1
  106. package/dist/key-handlers/ClearFilterKeyHandler.js +5 -0
  107. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  108. package/dist/key-handlers/CopyKeyHandler.js +5 -0
  109. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  110. package/dist/key-handlers/ReverseKeyHandler.js +5 -0
  111. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  112. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +14 -5
  113. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  114. package/dist/sidebar/ChartBuilder.d.ts +1 -1
  115. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  116. package/dist/sidebar/TableCsvExporter.d.ts +1 -1
  117. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  118. package/dist/sidebar/aggregations/AggregationEdit.d.ts +2 -4
  119. package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
  120. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  121. package/dist/sidebar/aggregations/AggregationUtils.d.ts +1 -4
  122. package/dist/sidebar/aggregations/AggregationUtils.d.ts.map +1 -1
  123. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  124. package/package.json +11 -11
  125. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,39 +1,60 @@
1
- export default IntegerColumnFormatter;
1
+ import TableColumnFormatter, { TableColumnFormat } from './TableColumnFormatter';
2
+ export declare type IntegerColumnFormat = TableColumnFormat & {
3
+ multiplier?: number;
4
+ };
5
+ export declare type IntegerColumnFormatterOptions = {
6
+ defaultFormatString?: string;
7
+ };
2
8
  /** Column formatter for integers/whole numbers */
3
- declare class IntegerColumnFormatter extends TableColumnFormatter<any> {
9
+ export declare class IntegerColumnFormatter extends TableColumnFormatter<number> {
4
10
  /**
5
11
  * Validates format object
6
- * @param {Object} format Format object
7
- * @returns {boolean} true for valid object
12
+ * @param format Format object
13
+ * @returns true for valid object
14
+ */
15
+ static isValid(format: IntegerColumnFormat): boolean;
16
+ /**
17
+ * Create an IntegerColumnFormat object with the parameters specified
18
+ * @param label Label for the format
19
+ * @param formatString Format string for the format
20
+ * @param multiplier Optional multiplier for the formatter
21
+ * @param type Type of format created
22
+ * @returns IntegerColumnFormat object
23
+ */
24
+ static makeFormat(label: string, formatString: string, type?: import("./TableColumnFormatter").TableColumnFormatType, multiplier?: number): IntegerColumnFormat;
25
+ /**
26
+ * Convenient function to create a IntegerFormatObject with Preset type set
27
+ * @param label Label for this format object
28
+ * @param formatString Format string to use
29
+ * @param multiplier Multiplier to use
30
+ * @returns IntegerColumnFormat object
8
31
  */
9
- static isValid(format: Object): boolean;
10
- static makeFormat(label: any, formatString: any, multiplier?: any, type?: import("./TableColumnFormatter").TableColumnFormatType): {
11
- label: any;
12
- type: import("./TableColumnFormatter").TableColumnFormatType;
13
- formatString: any;
14
- multiplier: any;
15
- };
16
- static makeCustomFormat(formatString?: any, multiplier?: any): {
17
- label: any;
18
- type: import("./TableColumnFormatter").TableColumnFormatType;
19
- formatString: any;
20
- multiplier: any;
21
- };
32
+ static makePresetFormat(label: string, formatString?: string, multiplier?: number): IntegerColumnFormat;
33
+ /**
34
+ * Convenient function to create a IntegerFormatObject with a default 'Custom Format' label and Custom type
35
+ * @param formatString Format string to use
36
+ * @param multiplier Multiplier to use
37
+ * @returns IntegerColumnFormat object
38
+ */
39
+ static makeCustomFormat(formatString?: string, multiplier?: number): IntegerColumnFormat;
22
40
  /**
23
41
  * Check if the given formats match
24
- * @param {?Object} formatA format object to check
25
- * @param {?Object} formatB format object to check
26
- * @returns {boolean} True if the formats match
42
+ * @param formatA format object to check
43
+ * @param formatB format object to check
44
+ * @returns True if the formats match
27
45
  */
28
- static isSameFormat(formatA: Object | null, formatB: Object | null): boolean;
46
+ static isSameFormat(formatA?: IntegerColumnFormat, formatB?: IntegerColumnFormat): boolean;
29
47
  static DEFAULT_FORMAT_STRING: string;
30
- static FORMAT_MILLIONS: {
31
- label: any;
32
- type: import("./TableColumnFormatter").TableColumnFormatType;
33
- formatString: any;
34
- multiplier: any;
35
- };
36
- constructor();
48
+ static FORMAT_MILLIONS: IntegerColumnFormat;
49
+ defaultFormatString: string;
50
+ constructor({ defaultFormatString, }?: IntegerColumnFormatterOptions);
51
+ /**
52
+ * Format a value with the provided format object
53
+ * @param valueParam Value to format
54
+ * @param format Format object
55
+ * @returns Formatted string
56
+ */
57
+ format(valueParam: number, format?: IntegerColumnFormat): string;
37
58
  }
38
- import TableColumnFormatter from "./TableColumnFormatter";
59
+ export default IntegerColumnFormatter;
39
60
  //# sourceMappingURL=IntegerColumnFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntegerColumnFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/IntegerColumnFormatter.js"],"names":[],"mappings":";AAOA,kDAAkD;AAClD;IACE;;;;OAIG;IACH,uBAHW,MAAM,GACJ,OAAO,CASnB;IAED;;;;;MAYC;IAED;;;;;MAOC;IAED;;;;;OAKG;IACH,6BAJY,MAAM,kBACN,MAAM,UACL,OAAO,CAWnB;IAED,qCAAyC;IAEzC;;;;;MAIE;;CAsBH"}
1
+ {"version":3,"file":"IntegerColumnFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/IntegerColumnFormatter.ts"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,EAAE,EAC3B,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAIhC,oBAAY,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAE1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,kDAAkD;AAClD,qBAAa,sBAAuB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACtE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IASpD;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CACf,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,yDAA2C,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,EAAE,MAAM,EACb,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO;IAWV,MAAM,CAAC,qBAAqB,SAAa;IAEzC,MAAM,CAAC,eAAe,sBAIpB;IAEF,mBAAmB,EAAE,MAAM,CAAC;gBAEhB,EACV,mBAAkE,GACnE,GAAE,6BAAkC;IAMrC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,MAAM;CAYjE;AAED,eAAe,sBAAsB,CAAC"}
@@ -5,13 +5,13 @@ import dh from '@deephaven/jsapi-shim';
5
5
  import Log from '@deephaven/log';
6
6
  import TableColumnFormatter from "./TableColumnFormatter.js";
7
7
  var log = Log.module('IntegerColumnFormatter');
8
- /** Column formatter for integers/whole numbers */
9
8
 
10
- class IntegerColumnFormatter extends TableColumnFormatter {
9
+ /** Column formatter for integers/whole numbers */
10
+ export class IntegerColumnFormatter extends TableColumnFormatter {
11
11
  /**
12
12
  * Validates format object
13
- * @param {Object} format Format object
14
- * @returns {boolean} true for valid object
13
+ * @param format Format object
14
+ * @returns true for valid object
15
15
  */
16
16
  static isValid(format) {
17
17
  try {
@@ -21,10 +21,19 @@ class IntegerColumnFormatter extends TableColumnFormatter {
21
21
  return false;
22
22
  }
23
23
  }
24
+ /**
25
+ * Create an IntegerColumnFormat object with the parameters specified
26
+ * @param label Label for the format
27
+ * @param formatString Format string for the format
28
+ * @param multiplier Optional multiplier for the formatter
29
+ * @param type Type of format created
30
+ * @returns IntegerColumnFormat object
31
+ */
32
+
24
33
 
25
34
  static makeFormat(label, formatString) {
26
- var multiplier = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
27
- var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : TableColumnFormatter.TYPE_CONTEXT_PRESET;
35
+ var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : TableColumnFormatter.TYPE_CONTEXT_PRESET;
36
+ var multiplier = arguments.length > 3 ? arguments[3] : undefined;
28
37
  return {
29
38
  label,
30
39
  type,
@@ -32,17 +41,38 @@ class IntegerColumnFormatter extends TableColumnFormatter {
32
41
  multiplier
33
42
  };
34
43
  }
44
+ /**
45
+ * Convenient function to create a IntegerFormatObject with Preset type set
46
+ * @param label Label for this format object
47
+ * @param formatString Format string to use
48
+ * @param multiplier Multiplier to use
49
+ * @returns IntegerColumnFormat object
50
+ */
51
+
52
+
53
+ static makePresetFormat(label) {
54
+ var formatString = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
55
+ var multiplier = arguments.length > 2 ? arguments[2] : undefined;
56
+ return IntegerColumnFormatter.makeFormat(label, formatString, TableColumnFormatter.TYPE_CONTEXT_PRESET, multiplier);
57
+ }
58
+ /**
59
+ * Convenient function to create a IntegerFormatObject with a default 'Custom Format' label and Custom type
60
+ * @param formatString Format string to use
61
+ * @param multiplier Multiplier to use
62
+ * @returns IntegerColumnFormat object
63
+ */
64
+
35
65
 
36
66
  static makeCustomFormat() {
37
- var formatString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
38
- var multiplier = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
39
- return IntegerColumnFormatter.makeFormat('Custom Format', formatString, multiplier, TableColumnFormatter.TYPE_CONTEXT_CUSTOM);
67
+ var formatString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
68
+ var multiplier = arguments.length > 1 ? arguments[1] : undefined;
69
+ return IntegerColumnFormatter.makeFormat('Custom Format', formatString, TableColumnFormatter.TYPE_CONTEXT_CUSTOM, multiplier);
40
70
  }
41
71
  /**
42
72
  * Check if the given formats match
43
- * @param {?Object} formatA format object to check
44
- * @param {?Object} formatB format object to check
45
- * @returns {boolean} True if the formats match
73
+ * @param formatA format object to check
74
+ * @param formatB format object to check
75
+ * @returns True if the formats match
46
76
  */
47
77
 
48
78
 
@@ -50,15 +80,26 @@ class IntegerColumnFormatter extends TableColumnFormatter {
50
80
  return formatA === formatB || formatA != null && formatB != null && formatA.type === formatB.type && formatA.formatString === formatB.formatString && formatA.multiplier === formatB.multiplier;
51
81
  }
52
82
 
83
+ constructor() {
84
+ var {
85
+ defaultFormatString = IntegerColumnFormatter.DEFAULT_FORMAT_STRING
86
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
87
+ super();
88
+
89
+ _defineProperty(this, "defaultFormatString", void 0);
90
+
91
+ this.defaultFormatString = defaultFormatString;
92
+ }
53
93
  /**
54
- * @param {number} valueParam Value to format
55
- * @param {Object} format Format object
56
- * @param {string} format.formatString Format string
57
- * @param {number|null} format.multiplier Optional multiplier
58
- * @returns {string} Formatted string
94
+ * Format a value with the provided format object
95
+ * @param valueParam Value to format
96
+ * @param format Format object
97
+ * @returns Formatted string
59
98
  */
99
+
100
+
60
101
  format(valueParam, format) {
61
- var formatString = format && format.formatString || IntegerColumnFormatter.DEFAULT_FORMAT_STRING;
102
+ var formatString = format && format.formatString || this.defaultFormatString;
62
103
  var value = format && format.multiplier ? valueParam * format.multiplier : valueParam;
63
104
 
64
105
  try {
@@ -74,7 +115,7 @@ class IntegerColumnFormatter extends TableColumnFormatter {
74
115
 
75
116
  _defineProperty(IntegerColumnFormatter, "DEFAULT_FORMAT_STRING", '###,##0');
76
117
 
77
- _defineProperty(IntegerColumnFormatter, "FORMAT_MILLIONS", IntegerColumnFormatter.makeFormat('Millions', '###,##0.000 mm', 0.000001));
118
+ _defineProperty(IntegerColumnFormatter, "FORMAT_MILLIONS", IntegerColumnFormatter.makePresetFormat('Millions', '###,##0.000 mm', 0.000001));
78
119
 
79
120
  export default IntegerColumnFormatter;
80
121
  //# sourceMappingURL=IntegerColumnFormatter.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/formatters/IntegerColumnFormatter.js"],"names":["dh","Log","TableColumnFormatter","log","module","IntegerColumnFormatter","isValid","format","i18n","NumberFormat","formatString","e","makeFormat","label","multiplier","type","TYPE_CONTEXT_PRESET","makeCustomFormat","TYPE_CONTEXT_CUSTOM","isSameFormat","formatA","formatB","valueParam","DEFAULT_FORMAT_STRING","value","error"],"mappings":";;AAAA;AACA,OAAOA,EAAP,MAAe,uBAAf;AACA,OAAOC,GAAP,MAAgB,gBAAhB;OACOC,oB;AAEP,IAAMC,GAAG,GAAGF,GAAG,CAACG,MAAJ,CAAW,wBAAX,CAAZ;AAEA;;AACA,MAAMC,sBAAN,SAAqCH,oBAArC,CAA0D;AACxD;AACF;AACA;AACA;AACA;AACgB,SAAPI,OAAO,CAACC,MAAD,EAAS;AACrB,QAAI;AACFP,MAAAA,EAAE,CAACQ,IAAH,CAAQC,YAAR,CAAqBF,MAArB,CAA4BA,MAAM,CAACG,YAAnC,EAAiD,CAAjD;AACA,aAAO,IAAP;AACD,KAHD,CAGE,OAAOC,CAAP,EAAU;AACV,aAAO,KAAP;AACD;AACF;;AAEgB,SAAVC,UAAU,CACfC,KADe,EAEfH,YAFe,EAKf;AAAA,QAFAI,UAEA,uEAFa,IAEb;AAAA,QADAC,IACA,uEADOb,oBAAoB,CAACc,mBAC5B;AACA,WAAO;AACLH,MAAAA,KADK;AAELE,MAAAA,IAFK;AAGLL,MAAAA,YAHK;AAILI,MAAAA;AAJK,KAAP;AAMD;;AAEsB,SAAhBG,gBAAgB,GAAyC;AAAA,QAAxCP,YAAwC,uEAAzB,IAAyB;AAAA,QAAnBI,UAAmB,uEAAN,IAAM;AAC9D,WAAOT,sBAAsB,CAACO,UAAvB,CACL,eADK,EAELF,YAFK,EAGLI,UAHK,EAILZ,oBAAoB,CAACgB,mBAJhB,CAAP;AAMD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACqB,SAAZC,YAAY,CAACC,OAAD,EAAUC,OAAV,EAAmB;AACpC,WACED,OAAO,KAAKC,OAAZ,IACCD,OAAO,IAAI,IAAX,IACCC,OAAO,IAAI,IADZ,IAECD,OAAO,CAACL,IAAR,KAAiBM,OAAO,CAACN,IAF1B,IAGCK,OAAO,CAACV,YAAR,KAAyBW,OAAO,CAACX,YAHlC,IAICU,OAAO,CAACN,UAAR,KAAuBO,OAAO,CAACP,UANnC;AAQD;;AAUD;AACF;AACA;AACA;AACA;AACA;AACA;AACEP,EAAAA,MAAM,CAACe,UAAD,EAAaf,MAAb,EAAqB;AACzB,QAAMG,YAAY,GACfH,MAAM,IAAIA,MAAM,CAACG,YAAlB,IACAL,sBAAsB,CAACkB,qBAFzB;AAGA,QAAMC,KAAK,GACTjB,MAAM,IAAIA,MAAM,CAACO,UAAjB,GAA8BQ,UAAU,GAAGf,MAAM,CAACO,UAAlD,GAA+DQ,UADjE;;AAEA,QAAI;AACF,aAAOtB,EAAE,CAACQ,IAAH,CAAQC,YAAR,CAAqBF,MAArB,CAA4BG,YAA5B,EAA0Cc,KAA1C,CAAP;AACD,KAFD,CAEE,OAAOb,CAAP,EAAU;AACVR,MAAAA,GAAG,CAACsB,KAAJ,CAAU,0BAAV;AACD;;AACD,WAAO,EAAP;AACD;;AAlFuD;;gBAApDpB,sB,2BAuD2B,S;;gBAvD3BA,sB,qBAyDqBA,sBAAsB,CAACO,UAAvB,CACvB,UADuB,EAEvB,gBAFuB,EAGvB,QAHuB,C;;AA4B3B,eAAeP,sBAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport dh from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport TableColumnFormatter from './TableColumnFormatter';\n\nconst log = Log.module('IntegerColumnFormatter');\n\n/** Column formatter for integers/whole numbers */\nclass IntegerColumnFormatter extends TableColumnFormatter {\n /**\n * Validates format object\n * @param {Object} format Format object\n * @returns {boolean} true for valid object\n */\n static isValid(format) {\n try {\n dh.i18n.NumberFormat.format(format.formatString, 0);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n static makeFormat(\n label,\n formatString,\n multiplier = null,\n type = TableColumnFormatter.TYPE_CONTEXT_PRESET\n ) {\n return {\n label,\n type,\n formatString,\n multiplier,\n };\n }\n\n static makeCustomFormat(formatString = null, multiplier = null) {\n return IntegerColumnFormatter.makeFormat(\n 'Custom Format',\n formatString,\n multiplier,\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM\n );\n }\n\n /**\n * Check if the given formats match\n * @param {?Object} formatA format object to check\n * @param {?Object} formatB format object to check\n * @returns {boolean} True if the formats match\n */\n static isSameFormat(formatA, formatB) {\n return (\n formatA === formatB ||\n (formatA != null &&\n formatB != null &&\n formatA.type === formatB.type &&\n formatA.formatString === formatB.formatString &&\n formatA.multiplier === formatB.multiplier)\n );\n }\n\n static DEFAULT_FORMAT_STRING = '###,##0';\n\n static FORMAT_MILLIONS = IntegerColumnFormatter.makeFormat(\n 'Millions',\n '###,##0.000 mm',\n 0.000001\n );\n\n /**\n * @param {number} valueParam Value to format\n * @param {Object} format Format object\n * @param {string} format.formatString Format string\n * @param {number|null} format.multiplier Optional multiplier\n * @returns {string} Formatted string\n */\n format(valueParam, format) {\n const formatString =\n (format && format.formatString) ||\n IntegerColumnFormatter.DEFAULT_FORMAT_STRING;\n const value =\n format && format.multiplier ? valueParam * format.multiplier : valueParam;\n try {\n return dh.i18n.NumberFormat.format(formatString, value);\n } catch (e) {\n log.error('Invalid format arguments');\n }\n return '';\n }\n}\n\nexport default IntegerColumnFormatter;\n"],"file":"IntegerColumnFormatter.js"}
1
+ {"version":3,"sources":["../../src/formatters/IntegerColumnFormatter.ts"],"names":["dh","Log","TableColumnFormatter","log","module","IntegerColumnFormatter","isValid","format","i18n","NumberFormat","formatString","e","makeFormat","label","type","TYPE_CONTEXT_PRESET","multiplier","makePresetFormat","makeCustomFormat","TYPE_CONTEXT_CUSTOM","isSameFormat","formatA","formatB","constructor","defaultFormatString","DEFAULT_FORMAT_STRING","valueParam","value","error"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport dh from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport TableColumnFormatter, {\n TableColumnFormat,\n} from './TableColumnFormatter';\n\nconst log = Log.module('IntegerColumnFormatter');\n\nexport type IntegerColumnFormat = TableColumnFormat & {\n multiplier?: number;\n};\n\nexport type IntegerColumnFormatterOptions = {\n // Default format string to use. Defaults to IntegerColumnFormatter.DEFAULT_FORMAT_STRING\n defaultFormatString?: string;\n};\n\n/** Column formatter for integers/whole numbers */\nexport class IntegerColumnFormatter extends TableColumnFormatter<number> {\n /**\n * Validates format object\n * @param format Format object\n * @returns true for valid object\n */\n static isValid(format: IntegerColumnFormat): boolean {\n try {\n dh.i18n.NumberFormat.format(format.formatString, 0);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Create an IntegerColumnFormat object with the parameters specified\n * @param label Label for the format\n * @param formatString Format string for the format\n * @param multiplier Optional multiplier for the formatter\n * @param type Type of format created\n * @returns IntegerColumnFormat object\n */\n static makeFormat(\n label: string,\n formatString: string,\n type = TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier?: number\n ): IntegerColumnFormat {\n return {\n label,\n type,\n formatString,\n multiplier,\n };\n }\n\n /**\n * Convenient function to create a IntegerFormatObject with Preset type set\n * @param label Label for this format object\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns IntegerColumnFormat object\n */\n static makePresetFormat(\n label: string,\n formatString = '',\n multiplier?: number\n ): IntegerColumnFormat {\n return IntegerColumnFormatter.makeFormat(\n label,\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier\n );\n }\n\n /**\n * Convenient function to create a IntegerFormatObject with a default 'Custom Format' label and Custom type\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns IntegerColumnFormat object\n */\n static makeCustomFormat(\n formatString = '',\n multiplier?: number\n ): IntegerColumnFormat {\n return IntegerColumnFormatter.makeFormat(\n 'Custom Format',\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM,\n multiplier\n );\n }\n\n /**\n * Check if the given formats match\n * @param formatA format object to check\n * @param formatB format object to check\n * @returns True if the formats match\n */\n static isSameFormat(\n formatA?: IntegerColumnFormat,\n formatB?: IntegerColumnFormat\n ): boolean {\n return (\n formatA === formatB ||\n (formatA != null &&\n formatB != null &&\n formatA.type === formatB.type &&\n formatA.formatString === formatB.formatString &&\n formatA.multiplier === formatB.multiplier)\n );\n }\n\n static DEFAULT_FORMAT_STRING = '###,##0';\n\n static FORMAT_MILLIONS = IntegerColumnFormatter.makePresetFormat(\n 'Millions',\n '###,##0.000 mm',\n 0.000001\n );\n\n defaultFormatString: string;\n\n constructor({\n defaultFormatString = IntegerColumnFormatter.DEFAULT_FORMAT_STRING,\n }: IntegerColumnFormatterOptions = {}) {\n super();\n\n this.defaultFormatString = defaultFormatString;\n }\n\n /**\n * Format a value with the provided format object\n * @param valueParam Value to format\n * @param format Format object\n * @returns Formatted string\n */\n format(valueParam: number, format?: IntegerColumnFormat): string {\n const formatString =\n (format && format.formatString) || this.defaultFormatString;\n const value =\n format && format.multiplier ? valueParam * format.multiplier : valueParam;\n try {\n return dh.i18n.NumberFormat.format(formatString, value);\n } catch (e) {\n log.error('Invalid format arguments');\n }\n return '';\n }\n}\n\nexport default IntegerColumnFormatter;\n"],"file":"IntegerColumnFormatter.js"}
@@ -1,8 +1,9 @@
1
- export { default as BooleanColumnFormatter } from "./BooleanColumnFormatter";
2
- export { default as CharColumnFormatter } from "./CharColumnFormatter";
3
- export { default as DateTimeColumnFormatter } from "./DateTimeColumnFormatter";
4
- export { default as DecimalColumnFormatter } from "./DecimalColumnFormatter";
5
- export { default as DefaultColumnFormatter } from "./DefaultColumnFormatter";
6
- export { default as IntegerColumnFormatter } from "./IntegerColumnFormatter";
7
- export { default as TableColumnFormatter } from "./TableColumnFormatter";
1
+ export { default as BooleanColumnFormatter } from './BooleanColumnFormatter';
2
+ export { default as CharColumnFormatter } from './CharColumnFormatter';
3
+ export * from './DateTimeColumnFormatter';
4
+ export * from './DecimalColumnFormatter';
5
+ export { default as DefaultColumnFormatter } from './DefaultColumnFormatter';
6
+ export * from './IntegerColumnFormatter';
7
+ export { default as TableColumnFormatter } from './TableColumnFormatter';
8
+ export * from './TableColumnFormatter';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formatters/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,cAAc,wBAAwB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  export { default as BooleanColumnFormatter } from "./BooleanColumnFormatter.js";
2
2
  export { default as CharColumnFormatter } from "./CharColumnFormatter.js";
3
- export { default as DateTimeColumnFormatter } from "./DateTimeColumnFormatter.js";
4
- export { default as DecimalColumnFormatter } from "./DecimalColumnFormatter.js";
3
+ export * from "./DateTimeColumnFormatter.js";
4
+ export * from "./DecimalColumnFormatter.js";
5
5
  export { default as DefaultColumnFormatter } from "./DefaultColumnFormatter.js";
6
- export { default as IntegerColumnFormatter } from "./IntegerColumnFormatter.js";
6
+ export * from "./IntegerColumnFormatter.js";
7
7
  export { default as TableColumnFormatter } from "./TableColumnFormatter.js";
8
+ export * from "./TableColumnFormatter.js";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/formatters/index.js"],"names":["default","BooleanColumnFormatter","CharColumnFormatter","DateTimeColumnFormatter","DecimalColumnFormatter","DefaultColumnFormatter","IntegerColumnFormatter","TableColumnFormatter"],"mappings":"SAASA,OAAO,IAAIC,sB;SACXD,OAAO,IAAIE,mB;SACXF,OAAO,IAAIG,uB;SACXH,OAAO,IAAII,sB;SACXJ,OAAO,IAAIK,sB;SACXL,OAAO,IAAIM,sB;SACXN,OAAO,IAAIO,oB","sourcesContent":["export { default as BooleanColumnFormatter } from './BooleanColumnFormatter';\nexport { default as CharColumnFormatter } from './CharColumnFormatter';\nexport { default as DateTimeColumnFormatter } from './DateTimeColumnFormatter';\nexport { default as DecimalColumnFormatter } from './DecimalColumnFormatter';\nexport { default as DefaultColumnFormatter } from './DefaultColumnFormatter';\nexport { default as IntegerColumnFormatter } from './IntegerColumnFormatter';\nexport { default as TableColumnFormatter } from './TableColumnFormatter';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/formatters/index.ts"],"names":["default","BooleanColumnFormatter","CharColumnFormatter","DefaultColumnFormatter","TableColumnFormatter"],"mappings":"SAASA,OAAO,IAAIC,sB;SACXD,OAAO,IAAIE,mB;;;SAGXF,OAAO,IAAIG,sB;;SAEXH,OAAO,IAAII,oB","sourcesContent":["export { default as BooleanColumnFormatter } from './BooleanColumnFormatter';\nexport { default as CharColumnFormatter } from './CharColumnFormatter';\nexport * from './DateTimeColumnFormatter';\nexport * from './DecimalColumnFormatter';\nexport { default as DefaultColumnFormatter } from './DefaultColumnFormatter';\nexport * from './IntegerColumnFormatter';\nexport { default as TableColumnFormatter } from './TableColumnFormatter';\nexport * from './TableColumnFormatter';\n"],"file":"index.js"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { default as DateUtils } from "./DateUtils";
2
2
  export { default as Formatter } from "./Formatter";
3
+ export * from "./Formatter";
3
4
  export { default as FormatterUtils } from "./FormatterUtils";
4
5
  export { default as SHORTCUTS } from "./IrisGridShortcuts";
5
6
  export { default as IrisGridModel } from "./IrisGridModel";
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { default as DateUtils } from "./DateUtils.js";
2
2
  export { default as Formatter } from "./Formatter.js";
3
+ export * from "./Formatter.js";
3
4
  export { default as FormatterUtils } from "./FormatterUtils.js";
4
5
  export { default as IrisGrid } from "./IrisGrid.js";
5
6
  export { default as SHORTCUTS } from "./IrisGridShortcuts.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["default","DateUtils","Formatter","FormatterUtils","IrisGrid","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridModelFactory","IrisGridTheme","IrisGridUtils","TableUtils"],"mappings":"SAASA,OAAO,IAAIC,S;SACXD,OAAO,IAAIE,S;SACXF,OAAO,IAAIG,c;SACXH,OAAO,IAAII,Q;SACXJ,OAAO,IAAIK,S;SACXL,OAAO,IAAIM,a;SACXN,OAAO,IAAIO,kB;SACXP,OAAO,IAAIQ,oB;SACXR,OAAO,IAAIS,a;SACXT,OAAO,IAAIU,a;SACXV,OAAO,IAAIW,U;SAEXX,O","sourcesContent":["export { default as DateUtils } from './DateUtils';\nexport { default as Formatter } from './Formatter';\nexport { default as FormatterUtils } from './FormatterUtils';\nexport { default as IrisGrid } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { default as IrisGridTheme } from './IrisGridTheme';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport { default as TableUtils } from './TableUtils';\n\nexport { default } from './IrisGrid';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["default","DateUtils","Formatter","FormatterUtils","IrisGrid","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridModelFactory","IrisGridTheme","IrisGridUtils","TableUtils"],"mappings":"SAASA,OAAO,IAAIC,S;SACXD,OAAO,IAAIE,S;;SAEXF,OAAO,IAAIG,c;SACXH,OAAO,IAAII,Q;SACXJ,OAAO,IAAIK,S;SACXL,OAAO,IAAIM,a;SACXN,OAAO,IAAIO,kB;SACXP,OAAO,IAAIQ,oB;SACXR,OAAO,IAAIS,a;SACXT,OAAO,IAAIU,a;SACXV,OAAO,IAAIW,U;SAEXX,O","sourcesContent":["export { default as DateUtils } from './DateUtils';\nexport { default as Formatter } from './Formatter';\nexport * from './Formatter';\nexport { default as FormatterUtils } from './FormatterUtils';\nexport { default as IrisGrid } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { default as IrisGridTheme } from './IrisGridTheme';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport { default as TableUtils } from './TableUtils';\n\nexport { default } from './IrisGrid';\n"],"file":"index.js"}
@@ -1,9 +1,14 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { KeyHandler } from '@deephaven/grid';
2
4
  import IrisGridShortcuts from "../IrisGridShortcuts.js";
3
5
 
4
6
  class ClearFilterKeyHandler extends KeyHandler {
5
7
  constructor(irisGrid) {
6
8
  super();
9
+
10
+ _defineProperty(this, "irisGrid", void 0);
11
+
7
12
  this.irisGrid = irisGrid;
8
13
  }
9
14
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/key-handlers/ClearFilterKeyHandler.ts"],"names":["KeyHandler","IrisGridShortcuts","ClearFilterKeyHandler","constructor","irisGrid","onDown","event","TABLE","CLEAR_FILTERS","matchesEvent","clearAllFilters"],"mappings":"AACA,SAASA,UAAT,QAA2B,iBAA3B;OAEOC,iB;;AAEP,MAAMC,qBAAN,SAAoCF,UAApC,CAA+C;AAG7CG,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;AAEA,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAEDC,EAAAA,MAAM,CAACC,KAAD,EAAgC;AACpC,QAAIL,iBAAiB,CAACM,KAAlB,CAAwBC,aAAxB,CAAsCC,YAAtC,CAAmDH,KAAnD,CAAJ,EAA+D;AAC7D,WAAKF,QAAL,CAAcM,eAAd;AACA,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAf4C;;AAkB/C,eAAeR,qBAAf","sourcesContent":["import { KeyboardEvent } from 'react';\nimport { KeyHandler } from '@deephaven/grid';\nimport { IrisGrid } from '../IrisGrid';\nimport IrisGridShortcuts from '../IrisGridShortcuts';\n\nclass ClearFilterKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n if (IrisGridShortcuts.TABLE.CLEAR_FILTERS.matchesEvent(event)) {\n this.irisGrid.clearAllFilters();\n return true;\n }\n return false;\n }\n}\n\nexport default ClearFilterKeyHandler;\n"],"file":"ClearFilterKeyHandler.js"}
1
+ {"version":3,"sources":["../../src/key-handlers/ClearFilterKeyHandler.ts"],"names":["KeyHandler","IrisGridShortcuts","ClearFilterKeyHandler","constructor","irisGrid","onDown","event","TABLE","CLEAR_FILTERS","matchesEvent","clearAllFilters"],"mappings":";;AACA,SAASA,UAAT,QAA2B,iBAA3B;OAEOC,iB;;AAEP,MAAMC,qBAAN,SAAoCF,UAApC,CAA+C;AAG7CG,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;;AAD8B;;AAG9B,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAEDC,EAAAA,MAAM,CAACC,KAAD,EAAgC;AACpC,QAAIL,iBAAiB,CAACM,KAAlB,CAAwBC,aAAxB,CAAsCC,YAAtC,CAAmDH,KAAnD,CAAJ,EAA+D;AAC7D,WAAKF,QAAL,CAAcM,eAAd;AACA,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAf4C;;AAkB/C,eAAeR,qBAAf","sourcesContent":["import { KeyboardEvent } from 'react';\nimport { KeyHandler } from '@deephaven/grid';\nimport { IrisGrid } from '../IrisGrid';\nimport IrisGridShortcuts from '../IrisGridShortcuts';\n\nclass ClearFilterKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n if (IrisGridShortcuts.TABLE.CLEAR_FILTERS.matchesEvent(event)) {\n this.irisGrid.clearAllFilters();\n return true;\n }\n return false;\n }\n}\n\nexport default ClearFilterKeyHandler;\n"],"file":"ClearFilterKeyHandler.js"}
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  /* eslint class-methods-use-this: "off" */
2
4
  import { ContextActionUtils } from '@deephaven/components';
3
5
  import { KeyHandler } from '@deephaven/grid';
@@ -6,6 +8,9 @@ import IrisGridUtils from "../IrisGridUtils.js";
6
8
  class CopyKeyHandler extends KeyHandler {
7
9
  constructor(irisGrid) {
8
10
  super();
11
+
12
+ _defineProperty(this, "irisGrid", void 0);
13
+
9
14
  this.irisGrid = irisGrid;
10
15
  }
11
16
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/key-handlers/CopyKeyHandler.ts"],"names":["ContextActionUtils","KeyHandler","IrisGridUtils","CopyKeyHandler","constructor","irisGrid","onDown","event","selectedRanges","state","key","isModifierKeyDown","isValidSnapshotRanges","copyRanges"],"mappings":"AAAA;AAEA,SAASA,kBAAT,QAAmC,uBAAnC;AACA,SAASC,UAAT,QAA2B,iBAA3B;OAEOC,a;;AAEP,MAAMC,cAAN,SAA6BF,UAA7B,CAAwC;AAGtCG,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;AAEA,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAEDC,EAAAA,MAAM,CAACC,KAAD,EAAgC;AACpC,QAAM;AAAEC,MAAAA;AAAF,QAAqB,KAAKH,QAAL,CAAcI,KAAzC;;AACA,QAAIF,KAAK,CAACG,GAAN,KAAc,GAAd,IAAqBV,kBAAkB,CAACW,iBAAnB,CAAqCJ,KAArC,CAAzB,EAAsE;AACpE,UAAIL,aAAa,CAACU,qBAAd,CAAoCJ,cAApC,CAAJ,EAAyD;AACvD,aAAKH,QAAL,CAAcQ,UAAd,CAAyBL,cAAzB;AACD,OAFD,MAEO;AACL,aAAKH,QAAL,CAAcQ,UAAd,CACEL,cADF,EAEE,KAFF,EAGE,KAHF,EAIE,qBAJF;AAMD;;AACD,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAzBqC;;AA4BxC,eAAeL,cAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport { KeyboardEvent } from 'react';\nimport { ContextActionUtils } from '@deephaven/components';\nimport { KeyHandler } from '@deephaven/grid';\nimport { IrisGrid } from '../IrisGrid';\nimport IrisGridUtils from '../IrisGridUtils';\n\nclass CopyKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n const { selectedRanges } = this.irisGrid.state;\n if (event.key === 'c' && ContextActionUtils.isModifierKeyDown(event)) {\n if (IrisGridUtils.isValidSnapshotRanges(selectedRanges)) {\n this.irisGrid.copyRanges(selectedRanges);\n } else {\n this.irisGrid.copyRanges(\n selectedRanges,\n false,\n false,\n 'Invalid copy ranges'\n );\n }\n return true;\n }\n return false;\n }\n}\n\nexport default CopyKeyHandler;\n"],"file":"CopyKeyHandler.js"}
1
+ {"version":3,"sources":["../../src/key-handlers/CopyKeyHandler.ts"],"names":["ContextActionUtils","KeyHandler","IrisGridUtils","CopyKeyHandler","constructor","irisGrid","onDown","event","selectedRanges","state","key","isModifierKeyDown","isValidSnapshotRanges","copyRanges"],"mappings":";;AAAA;AAEA,SAASA,kBAAT,QAAmC,uBAAnC;AACA,SAASC,UAAT,QAA2B,iBAA3B;OAEOC,a;;AAEP,MAAMC,cAAN,SAA6BF,UAA7B,CAAwC;AAGtCG,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;;AAD8B;;AAG9B,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAEDC,EAAAA,MAAM,CAACC,KAAD,EAAgC;AACpC,QAAM;AAAEC,MAAAA;AAAF,QAAqB,KAAKH,QAAL,CAAcI,KAAzC;;AACA,QAAIF,KAAK,CAACG,GAAN,KAAc,GAAd,IAAqBV,kBAAkB,CAACW,iBAAnB,CAAqCJ,KAArC,CAAzB,EAAsE;AACpE,UAAIL,aAAa,CAACU,qBAAd,CAAoCJ,cAApC,CAAJ,EAAyD;AACvD,aAAKH,QAAL,CAAcQ,UAAd,CAAyBL,cAAzB;AACD,OAFD,MAEO;AACL,aAAKH,QAAL,CAAcQ,UAAd,CACEL,cADF,EAEE,KAFF,EAGE,KAHF,EAIE,qBAJF;AAMD;;AACD,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAzBqC;;AA4BxC,eAAeL,cAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport { KeyboardEvent } from 'react';\nimport { ContextActionUtils } from '@deephaven/components';\nimport { KeyHandler } from '@deephaven/grid';\nimport { IrisGrid } from '../IrisGrid';\nimport IrisGridUtils from '../IrisGridUtils';\n\nclass CopyKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n const { selectedRanges } = this.irisGrid.state;\n if (event.key === 'c' && ContextActionUtils.isModifierKeyDown(event)) {\n if (IrisGridUtils.isValidSnapshotRanges(selectedRanges)) {\n this.irisGrid.copyRanges(selectedRanges);\n } else {\n this.irisGrid.copyRanges(\n selectedRanges,\n false,\n false,\n 'Invalid copy ranges'\n );\n }\n return true;\n }\n return false;\n }\n}\n\nexport default CopyKeyHandler;\n"],"file":"CopyKeyHandler.js"}
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { KeyHandler } from '@deephaven/grid';
2
4
  import TableUtils from "../TableUtils.js";
3
5
  import IrisGridShortcuts from "../IrisGridShortcuts.js";
@@ -5,6 +7,9 @@ import IrisGridShortcuts from "../IrisGridShortcuts.js";
5
7
  class ReverseKeyHandler extends KeyHandler {
6
8
  constructor(irisGrid) {
7
9
  super();
10
+
11
+ _defineProperty(this, "irisGrid", void 0);
12
+
8
13
  this.irisGrid = irisGrid;
9
14
  }
10
15
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/key-handlers/ReverseKeyHandler.ts"],"names":["KeyHandler","TableUtils","IrisGridShortcuts","ReverseKeyHandler","constructor","irisGrid","onDown","event","TABLE","REVERSE","matchesEvent","isReversible","reverseType","state","REVERSE_TYPE","NONE","reverse","POST_SORT"],"mappings":"AACA,SAASA,UAAT,QAA2B,iBAA3B;OAEOC,U;OACAC,iB;;AAEP,MAAMC,iBAAN,SAAgCH,UAAhC,CAA2C;AAGzCI,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;AAEA,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAEDC,EAAAA,MAAM,CAACC,KAAD,EAAgC;AACpC,QAAIL,iBAAiB,CAACM,KAAlB,CAAwBC,OAAxB,CAAgCC,YAAhC,CAA6CH,KAA7C,CAAJ,EAAyD;AACvD,UAAI,CAAC,KAAKF,QAAL,CAAcM,YAAd,EAAL,EAAmC;AACjC,eAAO,KAAP;AACD;;AACD,UAAM;AAAEC,QAAAA;AAAF,UAAkB,KAAKP,QAAL,CAAcQ,KAAtC;;AACA,UAAID,WAAW,KAAKX,UAAU,CAACa,YAAX,CAAwBC,IAA5C,EAAkD;AAChD,aAAKV,QAAL,CAAcW,OAAd,CAAsBf,UAAU,CAACa,YAAX,CAAwBG,SAA9C;AACD,OAFD,MAEO;AACL,aAAKZ,QAAL,CAAcW,OAAd,CAAsBf,UAAU,CAACa,YAAX,CAAwBC,IAA9C;AACD;;AACD,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAvBwC;;AA0B3C,eAAeZ,iBAAf","sourcesContent":["import { KeyboardEvent } from 'react';\nimport { KeyHandler } from '@deephaven/grid';\nimport { IrisGrid } from '../IrisGrid';\nimport TableUtils from '../TableUtils';\nimport IrisGridShortcuts from '../IrisGridShortcuts';\n\nclass ReverseKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n if (IrisGridShortcuts.TABLE.REVERSE.matchesEvent(event)) {\n if (!this.irisGrid.isReversible()) {\n return false;\n }\n const { reverseType } = this.irisGrid.state;\n if (reverseType === TableUtils.REVERSE_TYPE.NONE) {\n this.irisGrid.reverse(TableUtils.REVERSE_TYPE.POST_SORT);\n } else {\n this.irisGrid.reverse(TableUtils.REVERSE_TYPE.NONE);\n }\n return true;\n }\n return false;\n }\n}\n\nexport default ReverseKeyHandler;\n"],"file":"ReverseKeyHandler.js"}
1
+ {"version":3,"sources":["../../src/key-handlers/ReverseKeyHandler.ts"],"names":["KeyHandler","TableUtils","IrisGridShortcuts","ReverseKeyHandler","constructor","irisGrid","onDown","event","TABLE","REVERSE","matchesEvent","isReversible","reverseType","state","REVERSE_TYPE","NONE","reverse","POST_SORT"],"mappings":";;AACA,SAASA,UAAT,QAA2B,iBAA3B;OAEOC,U;OACAC,iB;;AAEP,MAAMC,iBAAN,SAAgCH,UAAhC,CAA2C;AAGzCI,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;;AAD8B;;AAG9B,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAEDC,EAAAA,MAAM,CAACC,KAAD,EAAgC;AACpC,QAAIL,iBAAiB,CAACM,KAAlB,CAAwBC,OAAxB,CAAgCC,YAAhC,CAA6CH,KAA7C,CAAJ,EAAyD;AACvD,UAAI,CAAC,KAAKF,QAAL,CAAcM,YAAd,EAAL,EAAmC;AACjC,eAAO,KAAP;AACD;;AACD,UAAM;AAAEC,QAAAA;AAAF,UAAkB,KAAKP,QAAL,CAAcQ,KAAtC;;AACA,UAAID,WAAW,KAAKX,UAAU,CAACa,YAAX,CAAwBC,IAA5C,EAAkD;AAChD,aAAKV,QAAL,CAAcW,OAAd,CAAsBf,UAAU,CAACa,YAAX,CAAwBG,SAA9C;AACD,OAFD,MAEO;AACL,aAAKZ,QAAL,CAAcW,OAAd,CAAsBf,UAAU,CAACa,YAAX,CAAwBC,IAA9C;AACD;;AACD,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAvBwC;;AA0B3C,eAAeZ,iBAAf","sourcesContent":["import { KeyboardEvent } from 'react';\nimport { KeyHandler } from '@deephaven/grid';\nimport { IrisGrid } from '../IrisGrid';\nimport TableUtils from '../TableUtils';\nimport IrisGridShortcuts from '../IrisGridShortcuts';\n\nclass ReverseKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n if (IrisGridShortcuts.TABLE.REVERSE.matchesEvent(event)) {\n if (!this.irisGrid.isReversible()) {\n return false;\n }\n const { reverseType } = this.irisGrid.state;\n if (reverseType === TableUtils.REVERSE_TYPE.NONE) {\n this.irisGrid.reverse(TableUtils.REVERSE_TYPE.POST_SORT);\n } else {\n this.irisGrid.reverse(TableUtils.REVERSE_TYPE.NONE);\n }\n return true;\n }\n return false;\n }\n}\n\nexport default ReverseKeyHandler;\n"],"file":"ReverseKeyHandler.js"}
@@ -36,20 +36,29 @@ declare class IrisGridContextMenuHandler extends GridMouseHandler {
36
36
  * @param {Number} value The value to get the equality filter for
37
37
  */
38
38
  static getNumberValueEqualsFilter(column: any, value: number): any;
39
- static getFilterValueForNumberOrChar(columnType: any, value: any): any;
39
+ static getFilterValueForNumberOrChar(columnType: any, value: any): import("@deephaven/jsapi-shim").FilterValue;
40
40
  constructor(irisGrid: any);
41
41
  debouncedUpdateCustomFormat: import("lodash").DebouncedFunc<any>;
42
42
  irisGrid: any;
43
43
  componentWillUnmount(): void;
44
44
  dateFormatActions(column: any): {
45
- title: any;
46
- description: any;
45
+ title: string;
46
+ description: string;
47
47
  icon: import("@fortawesome/fontawesome-common-types").IconDefinition | null;
48
- group: any;
48
+ group: number;
49
49
  order: number;
50
50
  action: () => void;
51
51
  }[];
52
- numberFormatActions(column: any): any[] | null;
52
+ numberFormatActions(column: any): {
53
+ icon: import("@fortawesome/fontawesome-common-types").IconDefinition | null;
54
+ order: number;
55
+ action: () => void;
56
+ title: string;
57
+ description: string;
58
+ group: number;
59
+ format: import("../formatters").TableColumnFormat | null;
60
+ isSelected: boolean;
61
+ }[] | null;
53
62
  stringFilterActions(column: any, valueText: any, value: any, quickFilter?: {}, additive?: boolean): ({
54
63
  menuElement: JSX.Element;
55
64
  order: number;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.jsx"],"names":[],"mappings":";AA4BA;;GAEG;AACH;IACE,0BAAoD;IAEpD,kCAA4D;IAE5D,4BAAsD;IAEtD,0BAAoD;IAEpD,0BAAqD;IAErD,4BAAuD;IAEvD;;;;MAIE;IAEF;;;;;;;OAOG;IACH,mFAFW,OAAO,OAWjB;IAED;;;;;OAKG;IACH,gFAFW,OAAO,UAMjB;IAED;;;;OAIG;IACH,mEAqBC;IAED,uEAIC;IAED,2BASC;IANC,iEAGC;IAED,cAAwB;IAG1B,6BAEC;IA6ZD;;;;;;;QA8BC;IAED,+CA8CC;IAED;;;;;;;;;;;;SA+IC;IAED;;;;;;;;;;;;SAmKC;IAED;;;;;;;;;;;;SA4EC;IAED;;;;;;;;;;;;SAgJC;IAED;;;;;;;;;;;;SAwDC;IAED;;;;;;;;;;;;;;SA6FC;IAED;;;;;;;;;;SA0EC;IAED,4EAKC;CACF"}
1
+ {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.jsx"],"names":[],"mappings":";AA4BA;;GAEG;AACH;IACE,0BAAoD;IAEpD,kCAA4D;IAE5D,4BAAsD;IAEtD,0BAAoD;IAEpD,0BAAqD;IAErD,4BAAuD;IAEvD;;;;MAIE;IAEF;;;;;;;OAOG;IACH,mFAFW,OAAO,OAWjB;IAED;;;;;OAKG;IACH,gFAFW,OAAO,UAMjB;IAED;;;;OAIG;IACH,mEAqBC;IAED,+GAIC;IAED,2BASC;IANC,iEAGC;IAED,cAAwB;IAG1B,6BAEC;IA6ZD;;;;;;;QA8BC;IAED;;;;;;;;;eA8CC;IAED;;;;;;;;;;;;SA+IC;IAED;;;;;;;;;;;;SAmKC;IAED;;;;;;;;;;;;SA4EC;IAED;;;;;;;;;;;;SAgJC;IAED;;;;;;;;;;;;SAwDC;IAED;;;;;;;;;;;;;;SA6FC;IAED;;;;;;;;;;SA0EC;IAED,4EAKC;CACF"}
@@ -3,7 +3,7 @@ export default ChartBuilder;
3
3
  * Form for configuring all the settings when creating a console.
4
4
  */
5
5
  declare class ChartBuilder extends React.PureComponent<any, any, any> {
6
- static types: import("@deephaven/jsapi-shim/dist/dh.types").SeriesPlotStyle[];
6
+ static types: import("@deephaven/jsapi-shim").SeriesPlotStyle[];
7
7
  /**
8
8
  * Converts the provided chart type into a readable type.
9
9
  * Just replaces underscores with spaces and capitals the first letter of each word.
@@ -1 +1 @@
1
- {"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.jsx"],"names":[],"mappings":";AA4BA;;GAEG;AACH;IACE,8EAOE;IAEF;;;OAGG;IACH,mCAeC;IAED,kDAeC;IAED,iDASC;IAED,8DASC;IAED,sDAOC;IAED;;;MAEC;IAED;;;QAQC;IAED,qDAMC;IAED,wBAgCC;IAED,wBAmBC;IAED,wCAEC;IAED,oBAYC;IAED,qCAiBC;IAED,0CAgBC;IAED,+BAOC;IAED,kCAuBC;IAED,oCAOC;IAED,mBAMC;CAgJF"}
1
+ {"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.jsx"],"names":[],"mappings":";AA4BA;;GAEG;AACH;IACE,gEAOE;IAEF;;;OAGG;IACH,mCAeC;IAED,kDAeC;IAED,iDASC;IAED,8DASC;IAED,sDAOC;IAED;;;MAEC;IAED;;;QAQC;IAED,qDAMC;IAED,wBAgCC;IAED,wBAmBC;IAED,wCAEC;IAED,oBAYC;IAED,qCAiBC;IAED,0CAgBC;IAED,+BAOC;IAED,kCAuBC;IAED,oCAOC;IAED,mBAMC;CAgJF"}
@@ -17,7 +17,7 @@ declare class TableCsvExporter extends React.Component<any, any, any> {
17
17
  LAST: string;
18
18
  };
19
19
  static DEFAULT_DOWNLOAD_ROWS: number;
20
- static getDateString(): any;
20
+ static getDateString(): string;
21
21
  constructor(props: any);
22
22
  handleDownloadClick(): void;
23
23
  handleDownloadOptionChanged(event: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"TableCsvExporter.d.ts","sourceRoot":"","sources":["../../src/sidebar/TableCsvExporter.jsx"],"names":[],"mappings":";AAaA;IACE,oCAAkD;IAElD;;;;;MAKE;IAEF;;;;MAIE;IAEF;;;MAGE;IAEF,qCAAmC;IAEnC,4BAKC;IAED,wBAyBC;IAwDD,4BA2BC;IAED,8CAEC;IAED,wDAEC;IAED,sDAEC;IA7FD,2BAgDC;IAED,2BAEC;IA2CD,+BAkCC;CAmLF;;;;;;;;;;;;;;;QAgBkB,0CAAQ"}
1
+ {"version":3,"file":"TableCsvExporter.d.ts","sourceRoot":"","sources":["../../src/sidebar/TableCsvExporter.jsx"],"names":[],"mappings":";AAaA;IACE,oCAAkD;IAElD;;;;;MAKE;IAEF;;;;MAIE;IAEF;;;MAGE;IAEF,qCAAmC;IAEnC,+BAKC;IAED,wBAyBC;IAwDD,4BA2BC;IAED,8CAEC;IAED,wDAEC;IAED,sDAEC;IA7FD,2BAgDC;IAED,2BAEC;IA2CD,+BAkCC;CAmLF;;;;;;;;;;;;;;;QAgBkB,0CAAQ"}
@@ -1,12 +1,10 @@
1
1
  /// <reference types="react" />
2
+ import type { Column } from '@deephaven/jsapi-shim';
2
3
  import { Aggregation } from './Aggregations';
3
4
  import './AggregationEdit.scss';
4
5
  export declare type AggregationEditProps = {
5
6
  aggregation: Aggregation;
6
- columns: {
7
- name: string;
8
- type: string;
9
- }[];
7
+ columns: Column[];
10
8
  onChange: (aggregation: Aggregation) => void;
11
9
  };
12
10
  declare const AggregationEdit: ({ aggregation, columns, onChange, }: AggregationEditProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"AggregationEdit.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,wBAAwB,CAAC;AAQhC,oBAAY,oBAAoB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAUF,QAAA,MAAM,eAAe,wCAIlB,oBAAoB,KAAG,WA2IzB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AggregationEdit.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,wBAAwB,CAAC;AAQhC,oBAAY,oBAAoB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAUF,QAAA,MAAM,eAAe,wCAIlB,oBAAoB,KAAG,WA2IzB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":["React","useCallback","useMemo","useRef","useState","classNames","CSSTransition","Button","Checkbox","ItemList","ThemeExport","dhSortAlphaDown","dhSortAlphaUp","filterValidColumns","TableUtils","SortType","DEFAULT_ROW_HEIGHT","AggregationEdit","aggregation","columns","onChange","top","setTop","bottom","setBottom","sort","setSort","NONE","invert","selected","list","isSelected","name","includes","validColumns","filteredColumns","operation","sortColumns","ASCENDING","items","slice","map","c","value","displayValue","handleSelect","itemIndex","selectedIndex","indexOf","newSelected","newInvert","splice","push","length","handleReset","handleViewportChange","newTop","newBottom","toggleAll","checked","isModified","transitionSlowMs","active","DESCENDING","item"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport { Button, Checkbox, ItemList, ThemeExport } from '@deephaven/components';\nimport { dhSortAlphaDown, dhSortAlphaUp } from '@deephaven/icons';\nimport { Aggregation } from './Aggregations';\nimport { filterValidColumns } from './AggregationUtils';\nimport './AggregationEdit.scss';\nimport TableUtils from '../../TableUtils';\n\ninterface AggregationEditItem {\n value: string;\n displayValue: string;\n}\n\nexport type AggregationEditProps = {\n aggregation: Aggregation;\n columns: { name: string; type: string }[];\n onChange: (aggregation: Aggregation) => void;\n};\n\nenum SortType {\n NONE,\n ASCENDING,\n DESCENDING,\n}\n\nconst DEFAULT_ROW_HEIGHT = 30;\n\nconst AggregationEdit = ({\n aggregation,\n columns,\n onChange,\n}: AggregationEditProps): JSX.Element => {\n const [top, setTop] = useState(-1);\n const [bottom, setBottom] = useState(-1);\n const [sort, setSort] = useState(SortType.NONE);\n const { invert, selected } = aggregation;\n const list = useRef<ItemList<AggregationEditItem>>(null);\n\n const isSelected = useCallback(\n name => (selected.includes(name) ? !invert : invert),\n [invert, selected]\n );\n\n const validColumns = useMemo(() => {\n let filteredColumns = filterValidColumns(columns, aggregation.operation);\n if (sort !== SortType.NONE) {\n filteredColumns = TableUtils.sortColumns(\n filteredColumns,\n sort === SortType.ASCENDING\n );\n }\n return filteredColumns;\n }, [columns, aggregation.operation, sort]);\n\n const items = useMemo(\n () =>\n top >= 0\n ? validColumns.slice(top, bottom + 1).map(c => ({\n value: c.name,\n displayValue: c.name,\n isSelected: isSelected(c.name),\n }))\n : [],\n [validColumns, isSelected, bottom, top]\n );\n\n const handleSelect = useCallback(\n itemIndex => {\n const { name } = validColumns[itemIndex];\n const selectedIndex = selected.indexOf(name);\n let newSelected = [...selected];\n let newInvert = invert;\n if (selectedIndex >= 0) {\n newSelected.splice(selectedIndex, 1);\n } else {\n newSelected.push(name);\n if (newSelected.length === validColumns.length) {\n // Every item is either selected or deselected, flip the inversion bit\n newSelected = [];\n newInvert = !invert;\n }\n }\n\n onChange({ ...aggregation, selected: newSelected, invert: newInvert });\n },\n [aggregation, invert, validColumns, selected, onChange]\n );\n\n const handleReset = useCallback(() => {\n setSort(SortType.NONE);\n onChange({ ...aggregation, selected: [], invert: true });\n }, [aggregation, onChange]);\n\n const handleViewportChange = useCallback(\n (newTop, newBottom) => {\n setTop(newTop);\n setBottom(newBottom);\n },\n [setTop, setBottom]\n );\n\n const toggleAll = useCallback(() => {\n if (selected.length === 0) {\n onChange({ ...aggregation, invert: !invert });\n } else {\n onChange({ ...aggregation, selected: [], invert: true });\n }\n }, [aggregation, invert, onChange, selected]);\n\n const checked = selected.length === 0 ? invert : null;\n const isModified = selected.length !== 0 || !invert || sort !== SortType.NONE;\n\n return (\n <div role=\"menu\" className=\"aggregation-edit\">\n <div className=\"top-menu\">\n <div className=\"form-inline\">\n <Checkbox checked={checked} onChange={toggleAll}>\n Toggle All\n </Checkbox>\n <div className=\"spacer\" />\n <CSSTransition\n in={isModified}\n timeout={ThemeExport.transitionSlowMs}\n classNames=\"fade\"\n mountOnEnter\n unmountOnExit\n >\n <Button kind=\"ghost\" className=\"btn-reset\" onClick={handleReset}>\n Reset\n </Button>\n </CSSTransition>\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.ASCENDING,\n })}\n icon={dhSortAlphaDown}\n tooltip=\"Sort ascending\"\n onClick={() => setSort(SortType.ASCENDING)}\n />\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.DESCENDING,\n })}\n icon={dhSortAlphaUp}\n tooltip=\"Sort descending\"\n onClick={() => setSort(SortType.DESCENDING)}\n />\n </div>\n </div>\n <div className=\"aggregation-edit-item-list\">\n <ItemList\n itemCount={validColumns.length}\n items={items}\n offset={top}\n renderItem={({ item }) => (\n <Checkbox checked={isSelected(item.value)}>\n {item.displayValue}\n </Checkbox>\n )}\n onSelect={handleSelect}\n onViewportChange={handleViewportChange}\n rowHeight={DEFAULT_ROW_HEIGHT}\n focusSelector=\"input\"\n ref={list}\n />\n </div>\n </div>\n );\n};\n\nexport default AggregationEdit;\n"],"file":"AggregationEdit.js"}
1
+ {"version":3,"sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":["React","useCallback","useMemo","useRef","useState","classNames","CSSTransition","Button","Checkbox","ItemList","ThemeExport","dhSortAlphaDown","dhSortAlphaUp","filterValidColumns","TableUtils","SortType","DEFAULT_ROW_HEIGHT","AggregationEdit","aggregation","columns","onChange","top","setTop","bottom","setBottom","sort","setSort","NONE","invert","selected","list","isSelected","name","includes","validColumns","filteredColumns","operation","sortColumns","ASCENDING","items","slice","map","c","value","displayValue","handleSelect","itemIndex","selectedIndex","indexOf","newSelected","newInvert","splice","push","length","handleReset","handleViewportChange","newTop","newBottom","toggleAll","checked","isModified","transitionSlowMs","active","DESCENDING","item"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport { Button, Checkbox, ItemList, ThemeExport } from '@deephaven/components';\nimport { dhSortAlphaDown, dhSortAlphaUp } from '@deephaven/icons';\nimport type { Column } from '@deephaven/jsapi-shim';\nimport { Aggregation } from './Aggregations';\nimport { filterValidColumns } from './AggregationUtils';\nimport './AggregationEdit.scss';\nimport TableUtils from '../../TableUtils';\n\ninterface AggregationEditItem {\n value: string;\n displayValue: string;\n}\n\nexport type AggregationEditProps = {\n aggregation: Aggregation;\n columns: Column[];\n onChange: (aggregation: Aggregation) => void;\n};\n\nenum SortType {\n NONE,\n ASCENDING,\n DESCENDING,\n}\n\nconst DEFAULT_ROW_HEIGHT = 30;\n\nconst AggregationEdit = ({\n aggregation,\n columns,\n onChange,\n}: AggregationEditProps): JSX.Element => {\n const [top, setTop] = useState(-1);\n const [bottom, setBottom] = useState(-1);\n const [sort, setSort] = useState(SortType.NONE);\n const { invert, selected } = aggregation;\n const list = useRef<ItemList<AggregationEditItem>>(null);\n\n const isSelected = useCallback(\n name => (selected.includes(name) ? !invert : invert),\n [invert, selected]\n );\n\n const validColumns = useMemo(() => {\n let filteredColumns = filterValidColumns(columns, aggregation.operation);\n if (sort !== SortType.NONE) {\n filteredColumns = TableUtils.sortColumns(\n filteredColumns,\n sort === SortType.ASCENDING\n );\n }\n return filteredColumns;\n }, [columns, aggregation.operation, sort]);\n\n const items = useMemo(\n () =>\n top >= 0\n ? validColumns.slice(top, bottom + 1).map(c => ({\n value: c.name,\n displayValue: c.name,\n isSelected: isSelected(c.name),\n }))\n : [],\n [validColumns, isSelected, bottom, top]\n );\n\n const handleSelect = useCallback(\n itemIndex => {\n const { name } = validColumns[itemIndex];\n const selectedIndex = selected.indexOf(name);\n let newSelected = [...selected];\n let newInvert = invert;\n if (selectedIndex >= 0) {\n newSelected.splice(selectedIndex, 1);\n } else {\n newSelected.push(name);\n if (newSelected.length === validColumns.length) {\n // Every item is either selected or deselected, flip the inversion bit\n newSelected = [];\n newInvert = !invert;\n }\n }\n\n onChange({ ...aggregation, selected: newSelected, invert: newInvert });\n },\n [aggregation, invert, validColumns, selected, onChange]\n );\n\n const handleReset = useCallback(() => {\n setSort(SortType.NONE);\n onChange({ ...aggregation, selected: [], invert: true });\n }, [aggregation, onChange]);\n\n const handleViewportChange = useCallback(\n (newTop, newBottom) => {\n setTop(newTop);\n setBottom(newBottom);\n },\n [setTop, setBottom]\n );\n\n const toggleAll = useCallback(() => {\n if (selected.length === 0) {\n onChange({ ...aggregation, invert: !invert });\n } else {\n onChange({ ...aggregation, selected: [], invert: true });\n }\n }, [aggregation, invert, onChange, selected]);\n\n const checked = selected.length === 0 ? invert : null;\n const isModified = selected.length !== 0 || !invert || sort !== SortType.NONE;\n\n return (\n <div role=\"menu\" className=\"aggregation-edit\">\n <div className=\"top-menu\">\n <div className=\"form-inline\">\n <Checkbox checked={checked} onChange={toggleAll}>\n Toggle All\n </Checkbox>\n <div className=\"spacer\" />\n <CSSTransition\n in={isModified}\n timeout={ThemeExport.transitionSlowMs}\n classNames=\"fade\"\n mountOnEnter\n unmountOnExit\n >\n <Button kind=\"ghost\" className=\"btn-reset\" onClick={handleReset}>\n Reset\n </Button>\n </CSSTransition>\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.ASCENDING,\n })}\n icon={dhSortAlphaDown}\n tooltip=\"Sort ascending\"\n onClick={() => setSort(SortType.ASCENDING)}\n />\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.DESCENDING,\n })}\n icon={dhSortAlphaUp}\n tooltip=\"Sort descending\"\n onClick={() => setSort(SortType.DESCENDING)}\n />\n </div>\n </div>\n <div className=\"aggregation-edit-item-list\">\n <ItemList\n itemCount={validColumns.length}\n items={items}\n offset={top}\n renderItem={({ item }) => (\n <Checkbox checked={isSelected(item.value)}>\n {item.displayValue}\n </Checkbox>\n )}\n onSelect={handleSelect}\n onViewportChange={handleViewportChange}\n rowHeight={DEFAULT_ROW_HEIGHT}\n focusSelector=\"input\"\n ref={list}\n />\n </div>\n </div>\n );\n};\n\nexport default AggregationEdit;\n"],"file":"AggregationEdit.js"}
@@ -1,3 +1,4 @@
1
+ import type { Column } from '@deephaven/jsapi-shim';
1
2
  import AggregationOperation from './AggregationOperation';
2
3
  /**
3
4
  * Check if an operation requires a rollup/table grouping
@@ -11,10 +12,6 @@ export declare const isRollupOperation: (type: AggregationOperation) => boolean;
11
12
  * @param columnType The column type to check against
12
13
  */
13
14
  export declare const isValidOperation: (operationType: AggregationOperation, columnType: string) => boolean;
14
- declare type Column = {
15
- type: string;
16
- name: string;
17
- };
18
15
  export declare const filterValidColumns: (columns: Column[], operationType: AggregationOperation) => Column[];
19
16
  export declare const getOperationColumnNames: (columns: Column[], operationType: AggregationOperation, selected: string[], invert: boolean) => string[];
20
17
  declare const _default: {
@@ -1 +1 @@
1
- {"version":3,"file":"AggregationUtils.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationUtils.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAU,oBAAoB,KAAG,OAM9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBACZ,oBAAoB,cACvB,MAAM,KACjB,OA0BF,CAAC;AAEF,aAAK,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7C,eAAO,MAAM,kBAAkB,YACpB,MAAM,EAAE,iBACF,oBAAoB,KAClC,MAAM,EAAkE,CAAC;AAE5E,eAAO,MAAM,uBAAuB,YACzB,MAAM,EAAE,iBACF,oBAAoB,YACzB,MAAM,EAAE,UACV,OAAO,KACd,MAAM,EAGwD,CAAC;;;;;;AAElE,wBAIE"}
1
+ {"version":3,"file":"AggregationUtils.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAU,oBAAoB,KAAG,OAM9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBACZ,oBAAoB,cACvB,MAAM,KACjB,OA0BF,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,EAAE,iBACF,oBAAoB,KAClC,MAAM,EAAkE,CAAC;AAE5E,eAAO,MAAM,uBAAuB,YACzB,MAAM,EAAE,iBACF,oBAAoB,YACzB,MAAM,EAAE,UACV,OAAO,KACd,MAAM,EAGwD,CAAC;;;;;;AAElE,wBAIE"}