@adaptabletools/adaptable 18.0.0-canary.27 → 18.0.0-canary.28

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 (44) hide show
  1. package/base.css.map +1 -1
  2. package/index.css.map +1 -1
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/MenuOptions.d.ts +2 -2
  5. package/src/Api/Implementation/ColumnApiImpl.js +6 -6
  6. package/src/Api/Implementation/ExpressionApiImpl.js +12 -12
  7. package/src/Api/Implementation/GridApiImpl.js +2 -2
  8. package/src/Api/Implementation/ScopeApiImpl.js +4 -4
  9. package/src/Api/Internal/ColumnFilterInternalApi.js +2 -2
  10. package/src/Api/Internal/DashboardInternalApi.js +2 -2
  11. package/src/Api/Internal/FormatColumnInternalApi.js +5 -3
  12. package/src/Api/Internal/GridFilterInternalApi.d.ts +2 -2
  13. package/src/Api/Internal/GridFilterInternalApi.js +2 -2
  14. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  15. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  16. package/src/PredefinedConfig/Common/Menu.d.ts +4 -4
  17. package/src/PredefinedConfig/Common/Menu.js +8 -5
  18. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +3 -3
  19. package/src/Strategy/ColumnFilterModule.js +1 -1
  20. package/src/Strategy/ColumnInfoModule.js +2 -2
  21. package/src/Strategy/GridInfoModule.js +1 -1
  22. package/src/Strategy/LayoutModule.js +8 -8
  23. package/src/Strategy/StyledColumnModule.js +9 -8
  24. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +4 -2
  25. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  26. package/src/agGrid/AdaptableAgGrid.js +2 -1
  27. package/src/agGrid/AgGridMenuAdapter.d.ts +1 -0
  28. package/src/agGrid/AgGridMenuAdapter.js +144 -64
  29. package/src/components/icons/filter-off.d.ts +3 -0
  30. package/src/components/icons/filter-off.js +4 -0
  31. package/src/components/icons/grid-info.d.ts +3 -0
  32. package/src/components/icons/grid-info.js +4 -0
  33. package/src/components/icons/index.js +10 -0
  34. package/src/components/icons/select-all.d.ts +3 -0
  35. package/src/components/icons/select-all.js +4 -0
  36. package/src/components/icons/select-fwd.d.ts +3 -0
  37. package/src/components/icons/select-fwd.js +4 -0
  38. package/src/components/icons/select-off.d.ts +3 -0
  39. package/src/components/icons/select-off.js +4 -0
  40. package/src/env.js +2 -2
  41. package/src/parser/src/parser.js +1218 -55
  42. package/src/parser/src/predicate/mapQlPredicateToExpression.js +1 -3
  43. package/src/parser/src/types.js +1 -2
  44. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -133,6 +133,9 @@ export class AgGridMenuAdapter {
133
133
  }
134
134
  mapAdaptableMenuItemToAgGridMenuDefinition(adaptableMenuItem) {
135
135
  var _a;
136
+ if (adaptableMenuItem === '-') {
137
+ return 'separator';
138
+ }
136
139
  return {
137
140
  name: adaptableMenuItem.label,
138
141
  action: adaptableMenuItem.onClick
@@ -218,7 +221,7 @@ export class AgGridMenuAdapter {
218
221
  // GridInfo
219
222
  const gridInfoMenuItems = this.getModuleSpecificStructure('GridInfo', availableMenuItems);
220
223
  // Layout
221
- const layoutMenuItems = this.getLayoutContextMenuStructure(availableMenuItems);
224
+ const [gridActionItems, otherLayoutItems] = this.getLayoutContextMenuStructure(availableMenuItems);
222
225
  // Note
223
226
  const noteMenuItems = this.getModuleSpecificStructure('Note', availableMenuItems);
224
227
  // SettingsPanel
@@ -227,25 +230,56 @@ export class AgGridMenuAdapter {
227
230
  const smartEditMenuItems = this.getModuleSpecificStructure('SmartEdit', availableMenuItems);
228
231
  // SystemStatus
229
232
  const systemStatusMenuItems = this.getModuleSpecificStructure('SystemStatus', availableMenuItems);
233
+ /**
234
+ * Custom structures
235
+ */
236
+ const gridMenuItem = {
237
+ name: 'grid-group',
238
+ label: 'Grid',
239
+ // TODO
240
+ module: 'ColumnInfo',
241
+ isVisible: true,
242
+ icon: {
243
+ name: 'grid',
244
+ },
245
+ subItems: [
246
+ ...gridActionItems,
247
+ ...otherLayoutItems,
248
+ ...cellSummaryMenuItems,
249
+ ...dataImportMenuItems,
250
+ ...systemStatusMenuItems,
251
+ ...gridInfoMenuItems,
252
+ ],
253
+ };
254
+ const columnMenuItem = {
255
+ name: 'column-group',
256
+ label: 'Column',
257
+ // TODO
258
+ module: 'ColumnInfo',
259
+ isVisible: true,
260
+ icon: {
261
+ name: 'columns',
262
+ },
263
+ subItems: [
264
+ ...bulkUpdateMenuItems,
265
+ ...smartEditMenuItems,
266
+ ...calculatedColumnMenuItems,
267
+ ...columnInfoMenuItems,
268
+ ],
269
+ };
230
270
  return [
231
- ...alertMenuItems,
232
- ...bulkUpdateMenuItems,
233
- ...calculatedColumnMenuItems,
234
- ...cellSummaryMenuItems,
235
- ...columnFilterMenuItems,
236
- ...columnInfoMenuItems,
271
+ ...noteMenuItems,
237
272
  ...commentMenuItems,
273
+ '-',
274
+ ...settingsPanelMenuItems,
238
275
  ...dashboardMenuItems,
239
- ...dataImportMenuItems,
276
+ ...columnFilterMenuItems,
277
+ gridMenuItem,
278
+ columnMenuItem,
240
279
  ...exportMenuItems,
241
- ...fdc3MenuItems,
242
280
  ...flashingCellMenuItems,
243
- ...gridInfoMenuItems,
244
- ...layoutMenuItems,
245
- ...noteMenuItems,
246
- ...settingsPanelMenuItems,
247
- ...smartEditMenuItems,
248
- ...systemStatusMenuItems,
281
+ ...alertMenuItems,
282
+ ...fdc3MenuItems,
249
283
  ];
250
284
  }
251
285
  /**
@@ -299,7 +333,7 @@ export class AgGridMenuAdapter {
299
333
  getLayoutContextMenuStructure(menuItems) {
300
334
  const layoutMenuItems = menuItems.filter((menuItem) => menuItem.module === 'Layout');
301
335
  if (!layoutMenuItems.length) {
302
- return [];
336
+ return [[], []];
303
337
  }
304
338
  const gridActionsItemNames = [
305
339
  'layout-clear-selection',
@@ -308,19 +342,13 @@ export class AgGridMenuAdapter {
308
342
  ];
309
343
  const gridActionsItems = layoutMenuItems.filter((item) => gridActionsItemNames.includes(item.name));
310
344
  const otherLayoutItems = layoutMenuItems.filter((item) => !gridActionsItemNames.includes(item.name));
311
- return [
312
- this.buildMenuGroupParent('Layout', gridActionsItems, {
313
- label: 'Grid',
314
- icon: 'align-justify',
315
- }),
316
- ...otherLayoutItems,
317
- ];
345
+ return [gridActionsItems, otherLayoutItems];
318
346
  }
319
347
  buildMenuGroupParent(module, menuItems, config) {
320
348
  var _a, _b;
321
349
  const moduleInfo = this.adaptableInstance.ModuleService.getModuleInfoByModule(module);
322
350
  return {
323
- name: 'menu-group-parent',
351
+ name: 'menu-group',
324
352
  label: (_a = config === null || config === void 0 ? void 0 : config.label) !== null && _a !== void 0 ? _a : moduleInfo.FriendlyName,
325
353
  isVisible: true,
326
354
  module: moduleInfo.ModuleName,
@@ -336,7 +364,7 @@ export class AgGridMenuAdapter {
336
364
  // CellSummary
337
365
  const cellSummaryMenuItems = this.getModuleSpecificStructure('CellSummary', availableMenuItems);
338
366
  // ColumnFilter
339
- const columnFilterMenuItems = this.getModuleSpecificStructure('ColumnFilter', availableMenuItems);
367
+ const [columnFilterGroup, filterVisibilityItems] = this.getColumnFilterColumnMenuStructure(availableMenuItems);
340
368
  // ColumnInfo
341
369
  const columnInfoMenuItems = this.getModuleSpecificStructure('ColumnInfo', availableMenuItems);
342
370
  // CustomSort
@@ -354,7 +382,7 @@ export class AgGridMenuAdapter {
354
382
  // GridInfo
355
383
  const gridInfoMenuItems = this.getModuleSpecificStructure('GridInfo', availableMenuItems);
356
384
  // Layout
357
- const layoutMenuItems = this.getLayoutColumnMenuStructure(availableMenuItems);
385
+ const [gridSelectItems, columnSelectItems, columnActionGroup, otherLayoutItems] = this.getLayoutColumnMenuStructure(availableMenuItems);
358
386
  // PlusMinus
359
387
  const plusMinusMenuItems = this.getModuleSpecificStructure('PlusMinus', availableMenuItems);
360
388
  // SettingsPanel
@@ -363,62 +391,114 @@ export class AgGridMenuAdapter {
363
391
  const styledColumnMenuItems = this.getStyledColumnColumnMenuStructure(availableMenuItems);
364
392
  // SystemStatus
365
393
  const systemStatusMenuItems = this.getModuleSpecificStructure('SystemStatus', availableMenuItems);
394
+ /**
395
+ * Custom structures
396
+ */
397
+ const gridMenuItem = {
398
+ name: 'grid-group',
399
+ label: 'Grid',
400
+ // TODO
401
+ module: 'ColumnInfo',
402
+ isVisible: true,
403
+ icon: {
404
+ name: 'grid',
405
+ },
406
+ subItems: [
407
+ ...otherLayoutItems,
408
+ ...filterVisibilityItems,
409
+ ...gridSelectItems,
410
+ ...cellSummaryMenuItems,
411
+ ...dataImportMenuItems,
412
+ ...systemStatusMenuItems,
413
+ ...gridInfoMenuItems,
414
+ ],
415
+ };
416
+ const columnMenuItem = {
417
+ name: 'column-group',
418
+ label: 'Column',
419
+ // TODO
420
+ module: 'ColumnInfo',
421
+ isVisible: true,
422
+ icon: {
423
+ name: 'columns',
424
+ },
425
+ subItems: [
426
+ ...columnActionGroup,
427
+ ...calculatedColumnMenuItems,
428
+ ...freeTextColumnMenuItems,
429
+ ...customSortMenuItems,
430
+ ...plusMinusMenuItems,
431
+ ...columnSelectItems,
432
+ ...columnInfoMenuItems,
433
+ ],
434
+ };
435
+ const createStyleMenuItem = {
436
+ name: 'styling-group',
437
+ label: 'Styling',
438
+ // TODO
439
+ module: 'ColumnInfo',
440
+ isVisible: true,
441
+ icon: {
442
+ name: 'brush',
443
+ },
444
+ subItems: [...flashingCellMenuItems, ...formatColumnMenuItems, ...styledColumnMenuItems],
445
+ };
366
446
  return [
367
- ...calculatedColumnMenuItems,
368
- ...cellSummaryMenuItems,
369
- ...columnFilterMenuItems,
370
- ...columnInfoMenuItems,
371
- ...customSortMenuItems,
372
- ...dashboardMenuItems,
373
- ...dataImportMenuItems,
374
- ...flashingCellMenuItems,
375
- ...formatColumnMenuItems,
376
- ...freeTextColumnMenuItems,
377
- ...gridInfoMenuItems,
378
- ...layoutMenuItems,
379
- ...plusMinusMenuItems,
380
447
  ...settingsPanelMenuItems,
381
- ...styledColumnMenuItems,
382
- ...systemStatusMenuItems,
448
+ ...dashboardMenuItems,
449
+ ...columnFilterGroup,
450
+ createStyleMenuItem,
451
+ gridMenuItem,
452
+ columnMenuItem,
383
453
  ];
384
454
  }
455
+ getColumnFilterColumnMenuStructure(menuItems) {
456
+ const columnFilterMenuItems = menuItems.filter((menuItem) => menuItem.module === 'ColumnFilter');
457
+ const filterVisibilityItems = columnFilterMenuItems.filter((item) => ['column-filter-bar-hide', 'column-filter-bar-show'].includes(item.name));
458
+ const filterActionItems = columnFilterMenuItems.filter((item) => ['column-filter-clear', 'column-filter-suspend', 'column-filter-unsuspend'].includes(item.name));
459
+ const columnFilterGroup = filterActionItems.length
460
+ ? [
461
+ {
462
+ name: 'column-filter-group',
463
+ label: 'Filter',
464
+ module: 'ColumnFilter',
465
+ isVisible: true,
466
+ icon: {
467
+ name: 'filter',
468
+ },
469
+ subItems: filterActionItems,
470
+ },
471
+ ]
472
+ : [];
473
+ return [columnFilterGroup, filterVisibilityItems];
474
+ }
385
475
  getLayoutColumnMenuStructure(menuItems) {
386
476
  const layoutMenuItems = menuItems.filter((menuItem) => menuItem.module === 'Layout');
387
477
  if (!layoutMenuItems.length) {
388
- return [];
478
+ return [[], [], [], []];
389
479
  }
390
- const selectActionsItemNames = [
480
+ const columnSelectItemNames = [
391
481
  'layout-column-select-preserve',
392
482
  'layout-column-select-reset',
393
483
  'layout-column-select',
394
- 'layout-select-all',
395
- ];
396
- const selectActionsItems = layoutMenuItems.filter((item) => selectActionsItemNames.includes(item.name));
397
- const otherLayoutItems = layoutMenuItems.filter((item) => !selectActionsItemNames.includes(item.name));
398
- return [
399
- ...otherLayoutItems,
400
- this.buildMenuGroupParent('Layout', selectActionsItems, {
401
- label: 'Select',
402
- icon: 'tab-unselected',
403
- }),
404
484
  ];
485
+ const columnSelectItems = layoutMenuItems.filter((item) => columnSelectItemNames.includes(item.name));
486
+ const gridSelectItems = layoutMenuItems.filter((item) => item.name === 'layout-grid-select');
487
+ const columnActionGroup = layoutMenuItems.filter((item) => ['layout-column-caption-change', 'layout-column-hide'].includes(item.name));
488
+ const otherLayoutItems = layoutMenuItems.filter((item) => !columnSelectItemNames.includes(item.name) &&
489
+ !['layout-column-caption-change', 'layout-column-hide'].includes(item.name) &&
490
+ item.name !== 'layout-grid-select');
491
+ return [gridSelectItems, columnSelectItems, columnActionGroup, otherLayoutItems];
405
492
  }
406
493
  getStyledColumnColumnMenuStructure(menuItems) {
407
494
  const styledColumnMenuItems = menuItems.filter((menuItem) => menuItem.module === 'StyledColumn');
408
- if (!styledColumnMenuItems.length) {
409
- return [];
410
- }
411
- if (styledColumnMenuItems.length === 1) {
412
- return styledColumnMenuItems;
413
- }
414
- return [
415
- this.buildMenuGroupParent('StyledColumn', styledColumnMenuItems, {
416
- label: 'Create Styled Column',
417
- }),
418
- ];
495
+ return styledColumnMenuItems;
419
496
  }
420
497
  mapAdaptableMenuItemToSystemMenuItems(adaptableMenuItems) {
421
498
  return (adaptableMenuItems !== null && adaptableMenuItems !== void 0 ? adaptableMenuItems : []).map((menuItem) => {
499
+ if (menuItem === '-') {
500
+ return menuItem;
501
+ }
422
502
  let subItems = menuItem.subItems;
423
503
  if (subItems && subItems.length > 0) {
424
504
  subItems = subItems.map((subItem) => this.mapAdaptableMenuItemToSystemMenuItems(subItem.subItems));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import DefaultIcon from './DefaultIcon';
3
+ export default (props) => (React.createElement(DefaultIcon, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
4
+ React.createElement("path", { d: "m592-481-57-57 143-182H353l-80-80h487q25 0 36 22t-4 42L592-481ZM791-56 560-287v87q0 17-11.5 28.5T520-160h-80q-17 0-28.5-11.5T400-200v-247L56-791l56-57 736 736-57 56ZM535-538Z" })));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import DefaultIcon from './DefaultIcon';
3
+ export default (props) => (React.createElement(DefaultIcon, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
4
+ React.createElement("path", { d: "M143-192v-72h432v72H143Zm480.774-240Q544-432 488-488.226t-56-136Q432-704 488.226-760t136-56Q704-816 760-759.774t56 136Q816-544 759.774-488t-136 56ZM143-492v-72h224q5 20 12 37.5t17 34.5H143Zm0 150v-72h322q24.227 18.242 51.613 30.621Q544-371 575-365v23H143Zm457-186h48v-96h-48v96Zm24-144q9.6 0 16.8-7.2 7.2-7.2 7.2-16.8 0-9.6-7.2-16.8-7.2-7.2-16.8-7.2-9.6 0-16.8 7.2-7.2 7.2-7.2 16.8 0 9.6 7.2 16.8 7.2 7.2 16.8 7.2Z" })));
@@ -100,6 +100,7 @@ import Expand from './expand';
100
100
  import ArrowExpand from './arrow-expand';
101
101
  import History from './history';
102
102
  import Filter from './filter';
103
+ import FilterOff from './filter-off';
103
104
  import Close from './close';
104
105
  import Function from './function';
105
106
  import GreaterThanOrEqual from './greater-than-or-equal';
@@ -139,6 +140,7 @@ import Lowercase from './case-lower';
139
140
  import Uppercase from './case-upper';
140
141
  import SentenceCase from './case-sentence';
141
142
  import GridFilter from './grid-filter';
143
+ import GridInfo from './grid-info';
142
144
  import Rows from './rows';
143
145
  import Quote from './quote';
144
146
  import News from './news';
@@ -156,6 +158,9 @@ import Order from './order';
156
158
  import Contact from './contact';
157
159
  import Note from './note';
158
160
  import Comments from './comments';
161
+ import SelectAll from './select-all';
162
+ import SelectOff from './select-off';
163
+ import SelectFwd from './select-fwd';
159
164
  import { IconComponent } from '../Icon';
160
165
  import { AdaptableLogger } from '../../agGrid/AdaptableLogger';
161
166
  export const allIcons = {
@@ -184,7 +189,9 @@ export const allIcons = {
184
189
  chat: Chat,
185
190
  'filter-list': ColumnFilter,
186
191
  'grid-filter': GridFilter,
192
+ 'grid-info': GridInfo,
187
193
  filter: Filter,
194
+ 'filter-off': FilterOff,
188
195
  'search-table': QuickSearch,
189
196
  lightning: FlashingCell,
190
197
  'color-palette': FormatColumn,
@@ -211,6 +218,9 @@ export const allIcons = {
211
218
  refresh: Refresh,
212
219
  delete: Delete,
213
220
  'tab-unselected': tabUnselected,
221
+ 'select-all': SelectAll,
222
+ 'select-off': SelectOff,
223
+ 'select-fwd': SelectFwd,
214
224
  checked: checkBox,
215
225
  unchecked: checkBoxOutline,
216
226
  'boolean-list': booleanList,
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import DefaultIcon from './DefaultIcon';
3
+ export default (props) => (React.createElement(DefaultIcon, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
4
+ React.createElement("path", { d: "M280-280v-400h400v400H280Zm80-80h240v-240H360v240ZM200-200v80q-33 0-56.5-23.5T120-200h80Zm-80-80v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm80-160h-80q0-33 23.5-56.5T200-840v80Zm80 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80q0 33-23.5 56.5T760-120Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80q33 0 56.5 23.5T840-760h-80Z" })));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import DefaultIcon from './DefaultIcon';
3
+ export default (props) => (React.createElement(DefaultIcon, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
4
+ React.createElement("path", { d: "m672-336-51-51 57-57H432v-72h246l-57-57 51-51 144 144-144 144ZM216-216h78v-528h-78v528Zm-72 72v-672h222v672H144Zm300 0v-72h72v72h-72Zm0-600v-72h72v72h-72Zm150 600v-72h72v72h-72Zm0-600v-72h72v72h-72Zm150 600v-72h72v72h-72Zm0-600v-72h72v72h-72ZM216-216h78-78Z" })));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import DefaultIcon from './DefaultIcon';
3
+ export default (props) => (React.createElement(DefaultIcon, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
4
+ React.createElement("path", { d: "m507-144-51-51 129.053-129.053L456-453.106 506.894-504l129.053 129.053L765-504l51 51-129.053 129.053L816-194.894 765.106-144 636.053-273.053 507-144Zm-213 0v-72h72v72h-72Zm-78-600h-72q0-29.7 21.15-50.85Q186.3-816 216-816v72Zm78 0v-72h72v72h-72Zm150 0v-72h72v72h-72Zm150 0v-72h72v72h-72Zm150 0v-72q29.7 0 50.85 21.15Q816-773.7 816-744h-72ZM216-216v72q-29.7 0-50.85-21.15Q144-186.3 144-216h72Zm-72-78v-72h72v72h-72Zm0-150v-72h72v72h-72Zm0-150v-72h72v72h-72Zm600 0v-72h72v72h-72Z" })));
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
3
- PUBLISH_TIMESTAMP: 1712613802729 || Date.now(),
4
- VERSION: "18.0.0-canary.27" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1712667835989 || Date.now(),
4
+ VERSION: "18.0.0-canary.28" || '--current-version--',
5
5
  };