@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-81596.1 → 0.0.0-bugfix-dev-KB-87855.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 (71) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-5fff8770.js → ClientSideExporterProvider-e4f717b5.js} +11 -5
  2. package/dist/cjs/{dataunit-fetcher-4a5d491a.js → dataunit-fetcher-a723f0dc.js} +5 -2
  3. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +1 -1
  4. package/dist/cjs/snk-actions-button_7.cjs.entry.js +3 -3
  5. package/dist/cjs/snk-application.cjs.entry.js +2 -5
  6. package/dist/cjs/snk-attach.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-crud.cjs.entry.js +22 -34
  8. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  9. package/dist/cjs/{snk-data-unit-4b510d6e.js → snk-data-unit-bab0b78a.js} +1 -1
  10. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  11. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  12. package/dist/cjs/snk-grid.cjs.entry.js +2 -2
  13. package/dist/cjs/{snk-guides-viewer-e8e5f7b4.js → snk-guides-viewer-b9a97db8.js} +1 -1
  14. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  15. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  16. package/dist/cjs/snk-simple-crud.cjs.entry.js +8 -5
  17. package/dist/collection/components/snk-application/snk-application.js +1 -4
  18. package/dist/collection/components/snk-crud/snk-crud.js +22 -34
  19. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  20. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +6 -3
  21. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  22. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  23. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +8 -2
  24. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  25. package/dist/components/ContinuousInsertUtils.js +10 -4
  26. package/dist/components/dataunit-fetcher.js +5 -2
  27. package/dist/components/snk-application2.js +1 -4
  28. package/dist/components/snk-crud.js +23 -35
  29. package/dist/components/snk-simple-crud2.js +6 -3
  30. package/dist/components/taskbar-actions-button2.js +2 -2
  31. package/dist/esm/{ClientSideExporterProvider-da9935ed.js → ClientSideExporterProvider-3b8ba474.js} +11 -5
  32. package/dist/esm/{dataunit-fetcher-1d02ecfc.js → dataunit-fetcher-0e025732.js} +5 -2
  33. package/dist/esm/pesquisa-grid_2.entry.js +1 -1
  34. package/dist/esm/snk-actions-button_7.entry.js +3 -3
  35. package/dist/esm/snk-application.entry.js +2 -5
  36. package/dist/esm/snk-attach.entry.js +1 -1
  37. package/dist/esm/snk-crud.entry.js +23 -35
  38. package/dist/esm/snk-data-exporter.entry.js +2 -2
  39. package/dist/esm/{snk-data-unit-7d0ce406.js → snk-data-unit-0cb53554.js} +1 -1
  40. package/dist/esm/snk-data-unit.entry.js +2 -2
  41. package/dist/esm/snk-detail-view.entry.js +2 -2
  42. package/dist/esm/snk-grid.entry.js +2 -2
  43. package/dist/esm/{snk-guides-viewer-c44b3839.js → snk-guides-viewer-83eecbd7.js} +1 -1
  44. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  45. package/dist/esm/snk-pesquisa.entry.js +1 -1
  46. package/dist/esm/snk-simple-crud.entry.js +8 -5
  47. package/dist/sankhyablocks/{p-092078e3.entry.js → p-10878f04.entry.js} +1 -1
  48. package/dist/sankhyablocks/{p-92778d5a.js → p-15784f66.js} +1 -1
  49. package/dist/sankhyablocks/{p-6293ded9.entry.js → p-15f67e59.entry.js} +2 -2
  50. package/dist/sankhyablocks/{p-6e0a5314.js → p-18c460f2.js} +1 -1
  51. package/dist/sankhyablocks/{p-b2a2a83e.entry.js → p-1bdc7355.entry.js} +1 -1
  52. package/dist/sankhyablocks/{p-ef6f0a1b.entry.js → p-475df998.entry.js} +1 -1
  53. package/dist/sankhyablocks/{p-5cc206bb.entry.js → p-6a0c8ce0.entry.js} +1 -1
  54. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  55. package/dist/sankhyablocks/p-841d3c3e.entry.js +1 -0
  56. package/dist/sankhyablocks/{p-35f85998.entry.js → p-9a7f7ca3.entry.js} +1 -1
  57. package/dist/sankhyablocks/{p-38e3ffda.entry.js → p-9b4c5dae.entry.js} +1 -1
  58. package/dist/sankhyablocks/{p-893b9483.entry.js → p-af133934.entry.js} +1 -1
  59. package/dist/sankhyablocks/{p-3b190fb1.entry.js → p-d31a701e.entry.js} +1 -1
  60. package/dist/sankhyablocks/{p-5503e89f.entry.js → p-d4752c92.entry.js} +1 -1
  61. package/dist/sankhyablocks/{p-00796b12.entry.js → p-dc6ad9a6.entry.js} +1 -1
  62. package/dist/sankhyablocks/p-e66968aa.js +1 -0
  63. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  64. package/dist/types/components/snk-crud/snk-crud.d.ts +1 -0
  65. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  66. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +1 -0
  67. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  68. package/package.json +1 -1
  69. package/dist/sankhyablocks/p-4ad638be.js +0 -1
  70. package/dist/sankhyablocks/p-a8be1d67.js +0 -60
  71. package/dist/sankhyablocks/p-d9fdb018.entry.js +0 -1
@@ -6,7 +6,7 @@ const core = require('@sankhyalabs/core');
6
6
  const index$1 = require('./index-e3e39724.js');
7
7
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
8
8
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
9
- const dataunitFetcher = require('./dataunit-fetcher-4a5d491a.js');
9
+ const dataunitFetcher = require('./dataunit-fetcher-a723f0dc.js');
10
10
  require('./filter-item-type.enum-a7ffdaa6.js');
11
11
  require('./form-config-fetcher-40d3f752.js');
12
12
  require('./constants-77c1b8bd.js');
@@ -125,11 +125,11 @@ class SnkMultiSelectionListDataSource {
125
125
  }
126
126
  return String(this._dataUnit.getFormattedValue(fieldName, value));
127
127
  }
128
- async getStaticOptions(fieldName) {
128
+ async getStaticOptions(fieldName, options) {
129
129
  if (fieldName == undefined) {
130
130
  return Promise.resolve(undefined);
131
131
  }
132
- return Promise.resolve(await dataunitFetcher.PreloadManager.getDistinct(this._dataUnit, fieldName));
132
+ return Promise.resolve(await dataunitFetcher.PreloadManager.getDistinct(this._dataUnit, fieldName, options));
133
133
  }
134
134
  fetchData(filterTerm, fieldName) {
135
135
  return new Promise(resolve => {
@@ -174,9 +174,15 @@ class RmPrecisionCustomValueFormatter {
174
174
  if (rmPrecision || rmPrecision === 0) {
175
175
  return core.NumberUtils.format(currentValue, rmPrecision, rmPrecision);
176
176
  }
177
- else {
178
- return currentValue;
177
+ const columnProps = column === null || column === void 0 ? void 0 : column.props;
178
+ if (columnProps) {
179
+ const precision = column === null || column === void 0 ? void 0 : column.props.get('precision');
180
+ const prettyPrecision = column === null || column === void 0 ? void 0 : column.props.get('prettyPrecision');
181
+ if (precision !== undefined && prettyPrecision !== undefined) {
182
+ return core.NumberUtils.format(currentValue, precision, prettyPrecision);
183
+ }
179
184
  }
185
+ return currentValue;
180
186
  }
181
187
  refreshSelectedRows() {
182
188
  var _a;
@@ -131,7 +131,7 @@ class PreloadManager {
131
131
  static getSortingFunction(dataUnit, sorting) {
132
132
  return SortingUtils__default['default'].getSortingFunction(dataUnit, sorting);
133
133
  }
134
- static async getDistinct(dataUnit, fieldName) {
134
+ static async getDistinct(dataUnit, fieldName, onlyLabel = false) {
135
135
  if (!PreloadManager.isCacheEnabled(dataUnit)) {
136
136
  return Promise.resolve(utils.ColumnFilterManager.compileDistinct(fieldName, dataUnit));
137
137
  }
@@ -150,7 +150,10 @@ class PreloadManager {
150
150
  if (fieldValue == undefined) {
151
151
  return { key: null, value: null };
152
152
  }
153
- const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
153
+ let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
154
+ if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
155
+ return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
156
+ }
154
157
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
155
158
  })
156
159
  .then(result => {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
- const dataunitFetcher = require('./dataunit-fetcher-4a5d491a.js');
6
+ const dataunitFetcher = require('./dataunit-fetcher-a723f0dc.js');
7
7
  require('./DataFetcher-1afdb18e.js');
8
8
  const ISave = require('./ISave-c76e2c51.js');
9
9
  require('@sankhyalabs/core');
@@ -10,7 +10,7 @@ require('./ISave-c76e2c51.js');
10
10
  require('./index-e3e39724.js');
11
11
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
12
12
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
13
- require('./dataunit-fetcher-4a5d491a.js');
13
+ require('./dataunit-fetcher-a723f0dc.js');
14
14
  require('./filter-item-type.enum-a7ffdaa6.js');
15
15
  const formConfigFetcher = require('./form-config-fetcher-40d3f752.js');
16
16
  const constants = require('./constants-77c1b8bd.js');
@@ -1385,7 +1385,7 @@ const SnkViewRepresentation = class {
1385
1385
  };
1386
1386
  SnkViewRepresentation.style = snkViewRepresentationCss;
1387
1387
 
1388
- const taskbarActionsButtonCss = ".sc-taskbar-actions-button-h{display:flex;width:fit-content;height:fit-content}";
1388
+ const taskbarActionsButtonCss = ".sc-taskbar-actions-button-h{--ez-dropdown--min-width:150px;display:flex;width:fit-content;height:fit-content}.ez-dropdown-container.sc-taskbar-actions-button{position:relative;display:inline-block}.ez-dropdown--sticky.sc-taskbar-actions-button{position:absolute;display:block;min-width:var(--ez-dropdown--min-width)}";
1389
1389
 
1390
1390
  const TaskbarActionsButton = class {
1391
1391
  constructor(hostRef) {
@@ -1510,7 +1510,7 @@ const TaskbarActionsButton = class {
1510
1510
  this.taskbarActionsButtonDisconnected.emit();
1511
1511
  }
1512
1512
  render() {
1513
- return (index.h(index.Host, null, index.h("div", { class: `${this.canShowDropdown() ? ' ez-elevation--16' : ''}` }, index.h("ez-button", { title: this.title, mode: 'icon', iconName: 'dots-vertical', size: 'small', enabled: this.enabled, onClick: () => this.controlDropdown() }), this.canShowDropdown() && index.h("ez-dropdown", { items: this.loadItems(), onEzClick: (evt) => this.onSelectAction(evt.detail), onEzOutsideClick: () => this._showDropdown = false, itemBuilder: (item, level) => this.dropdownItemBuilder(item, level) }))));
1513
+ return (index.h(index.Host, null, index.h("div", { class: `${this.canShowDropdown() ? ' ez-elevation--16' : ''} ez-dropdown-container` }, index.h("ez-button", { title: this.title, mode: 'icon', iconName: 'dots-vertical', size: 'small', enabled: this.enabled, onClick: () => this.controlDropdown() }), this.canShowDropdown() && index.h("ez-dropdown", { class: `ez-dropdown--sticky`, items: this.loadItems(), onEzClick: (evt) => this.onSelectAction(evt.detail), onEzOutsideClick: () => this._showDropdown = false, itemBuilder: (item, level) => this.dropdownItemBuilder(item, level) }))));
1514
1514
  }
1515
1515
  get _element() { return index.getElement(this); }
1516
1516
  };
@@ -8,7 +8,7 @@ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const ConfigStorage = require('./ConfigStorage-df09fb78.js');
9
9
  const DataFetcher = require('./DataFetcher-1afdb18e.js');
10
10
  const authFetcher = require('./auth-fetcher-1687ac0a.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-4a5d491a.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-a723f0dc.js');
12
12
  const ISave = require('./ISave-c76e2c51.js');
13
13
  const SnkMessageBuilder = require('./SnkMessageBuilder-bae64d0d.js');
14
14
  const constants = require('./constants-77c1b8bd.js');
@@ -1665,10 +1665,7 @@ const SnkApplication = class {
1665
1665
  .bind("F1", Workspace.openHelp.bind(this), { description: "Abrir ajuda" });
1666
1666
  }
1667
1667
  removeShortcuts() {
1668
- this._keyboardManager
1669
- .unbind("ctrl + g")
1670
- .unbind("ctrl + d")
1671
- .unbind("F1");
1668
+ this._keyboardManager.unbindAllShortcutKeys();
1672
1669
  }
1673
1670
  renderLoadingSkeleton() {
1674
1671
  if (!this.enableLockManagerLoadingApp)
@@ -7,7 +7,7 @@ const core = require('@sankhyalabs/core');
7
7
  const DataFetcher = require('./DataFetcher-1afdb18e.js');
8
8
  const ISave = require('./ISave-c76e2c51.js');
9
9
  require('./index-e3e39724.js');
10
- const dataunitFetcher = require('./dataunit-fetcher-4a5d491a.js');
10
+ const dataunitFetcher = require('./dataunit-fetcher-a723f0dc.js');
11
11
  require('./filter-item-type.enum-a7ffdaa6.js');
12
12
  require('./form-config-fetcher-40d3f752.js');
13
13
  const constants = require('./constants-77c1b8bd.js');
@@ -10,7 +10,7 @@ require('./ISave-c76e2c51.js');
10
10
  const index$1 = require('./index-e3e39724.js');
11
11
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
12
12
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
13
- require('./dataunit-fetcher-4a5d491a.js');
13
+ require('./dataunit-fetcher-a723f0dc.js');
14
14
  require('./filter-item-type.enum-a7ffdaa6.js');
15
15
  require('./form-config-fetcher-40d3f752.js');
16
16
  const constants = require('./constants-77c1b8bd.js');
@@ -289,29 +289,28 @@ const SnkCrud = class {
289
289
  }
290
290
  }
291
291
  async initKeyboardManager() {
292
- var _a;
293
- const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
294
- if (keyboardManager) {
295
- const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
296
- async function saveDataUnitHandlingFocus() {
297
- const element = document.activeElement;
298
- const isDocumentBody = (element == document.body);
299
- if (!isDocumentBody)
300
- element.blur();
301
- await dataUnit.saveData();
302
- if (!isDocumentBody && element.setFocus != undefined) {
303
- element.setFocus();
304
- return;
305
- }
306
- if (!isDocumentBody)
307
- element.focus();
292
+ this._keyboardManager = new core.KeyboardManager({ propagate: false, element: this._element });
293
+ const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
294
+ async function saveDataUnitHandlingFocus() {
295
+ const element = document.activeElement;
296
+ const isDocumentBody = (element == document.body);
297
+ if (!isDocumentBody)
298
+ element.blur();
299
+ await dataUnit.saveData();
300
+ if (!isDocumentBody && element.setFocus != undefined) {
301
+ element.setFocus();
302
+ return;
308
303
  }
309
- async function handleAddRecord() {
310
- if (!dataUnit.hasNewRecord()) {
311
- dataUnit.addRecord();
312
- }
304
+ if (!isDocumentBody)
305
+ element.focus();
306
+ }
307
+ async function handleAddRecord() {
308
+ if (!dataUnit.hasNewRecord()) {
309
+ dataUnit.addRecord();
313
310
  }
314
- keyboardManager
311
+ }
312
+ if (this._keyboardManager) {
313
+ this._keyboardManager
315
314
  .bind("F6", this.toggleView.bind(this), { description: "Alterna entre modo formulário e grade.", element: this._element })
316
315
  .bind("F7", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
317
316
  .bind("ctrl + \\", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
@@ -336,18 +335,7 @@ const SnkCrud = class {
336
335
  }
337
336
  async removeShortcuts() {
338
337
  var _a;
339
- const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
340
- if (keyboardManager) {
341
- keyboardManager
342
- .unbind("F6")
343
- .unbind("F7")
344
- .unbind("ctrl + \\")
345
- .unbind("F8")
346
- .unbind("F9")
347
- .unbind("ctrl + F9")
348
- .unbind("F5")
349
- .unbind("Escape");
350
- }
338
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
351
339
  }
352
340
  async toggleView() {
353
341
  const currentView = await this._viewStack.getSelectedIndex();
@@ -9,11 +9,11 @@ const IFetchDataExporterParams = require('./IFetchDataExporterParams-e78ec415.js
9
9
  const index = require('./index-e3e39724.js');
10
10
  const constants = require('./constants-77c1b8bd.js');
11
11
  const DataFetcher = require('./DataFetcher-1afdb18e.js');
12
- const snkDataUnit = require('./snk-data-unit-4b510d6e.js');
12
+ const snkDataUnit = require('./snk-data-unit-bab0b78a.js');
13
13
  require('./ISave-c76e2c51.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- require('./dataunit-fetcher-4a5d491a.js');
16
+ require('./dataunit-fetcher-a723f0dc.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
18
  require('./form-config-fetcher-40d3f752.js');
19
19
  require('./PrintUtils-bcaeb82f.js');
@@ -4,7 +4,7 @@ const index = require('./index-f9e81701.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
6
6
  const SnkMessageBuilder = require('./SnkMessageBuilder-bae64d0d.js');
7
- const dataunitFetcher = require('./dataunit-fetcher-4a5d491a.js');
7
+ const dataunitFetcher = require('./dataunit-fetcher-a723f0dc.js');
8
8
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
9
9
  const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
10
10
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkDataUnit = require('./snk-data-unit-4b510d6e.js');
5
+ const snkDataUnit = require('./snk-data-unit-bab0b78a.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils');
9
9
  require('./SnkMessageBuilder-bae64d0d.js');
10
- require('./dataunit-fetcher-4a5d491a.js');
10
+ require('./dataunit-fetcher-a723f0dc.js');
11
11
  require('./DataFetcher-1afdb18e.js');
12
12
  require('./PrintUtils-bcaeb82f.js');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
@@ -11,12 +11,12 @@ require('./ISave-c76e2c51.js');
11
11
  const index$1 = require('./index-e3e39724.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-4a5d491a.js');
14
+ require('./dataunit-fetcher-a723f0dc.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
16
  require('./form-config-fetcher-40d3f752.js');
17
17
  const constants = require('./constants-77c1b8bd.js');
18
18
  const taskbarElements = require('./taskbar-elements-7e19882d.js');
19
- const snkGuidesViewer = require('./snk-guides-viewer-e8e5f7b4.js');
19
+ const snkGuidesViewer = require('./snk-guides-viewer-b9a97db8.js');
20
20
  const SnkMessageBuilder = require('./SnkMessageBuilder-bae64d0d.js');
21
21
  require('./ConfigStorage-df09fb78.js');
22
22
  require('./PrintUtils-bcaeb82f.js');
@@ -9,13 +9,13 @@ const ConfigStorage = require('./ConfigStorage-df09fb78.js');
9
9
  const index$1 = require('./index-e3e39724.js');
10
10
  const fieldSearch = require('./field-search-68e34bf4.js');
11
11
  const index$2 = require('./index-102ba62d.js');
12
- const ClientSideExporterProvider = require('./ClientSideExporterProvider-5fff8770.js');
12
+ const ClientSideExporterProvider = require('./ClientSideExporterProvider-e4f717b5.js');
13
13
  const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
14
14
  require('./DataFetcher-1afdb18e.js');
15
15
  require('./ISave-c76e2c51.js');
16
16
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
17
17
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
18
- require('./dataunit-fetcher-4a5d491a.js');
18
+ require('./dataunit-fetcher-a723f0dc.js');
19
19
  require('./filter-item-type.enum-a7ffdaa6.js');
20
20
  require('./form-config-fetcher-40d3f752.js');
21
21
  require('./constants-77c1b8bd.js');
@@ -12,7 +12,7 @@ require('./ISave-c76e2c51.js');
12
12
  const index$1 = require('./index-e3e39724.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- require('./dataunit-fetcher-4a5d491a.js');
15
+ require('./dataunit-fetcher-a723f0dc.js');
16
16
  require('./filter-item-type.enum-a7ffdaa6.js');
17
17
  require('./form-config-fetcher-40d3f752.js');
18
18
  const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-e8e5f7b4.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-b9a97db8.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('./SnkFormConfigManager-45a8d7b7.js');
@@ -20,7 +20,7 @@ require('./index-e3e39724.js');
20
20
  require('./index-102ba62d.js');
21
21
  require('./ISave-c76e2c51.js');
22
22
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
23
- require('./dataunit-fetcher-4a5d491a.js');
23
+ require('./dataunit-fetcher-a723f0dc.js');
24
24
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
25
25
  require('@sankhyalabs/core/dist/utils/SortingUtils');
26
26
  require('./ResourceIDUtils-5ff86aa7.js');
@@ -9,7 +9,7 @@ require('./DataFetcher-1afdb18e.js');
9
9
  require('./index-e3e39724.js');
10
10
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
11
11
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
12
- require('./dataunit-fetcher-4a5d491a.js');
12
+ require('./dataunit-fetcher-a723f0dc.js');
13
13
  require('./filter-item-type.enum-a7ffdaa6.js');
14
14
  require('./form-config-fetcher-40d3f752.js');
15
15
  require('./constants-77c1b8bd.js');
@@ -9,11 +9,11 @@ const constants = require('./constants-77c1b8bd.js');
9
9
  const taskbarElements = require('./taskbar-elements-7e19882d.js');
10
10
  require('./DataFetcher-1afdb18e.js');
11
11
  require('./ISave-c76e2c51.js');
12
- const ClientSideExporterProvider = require('./ClientSideExporterProvider-5fff8770.js');
12
+ const ClientSideExporterProvider = require('./ClientSideExporterProvider-e4f717b5.js');
13
13
  const index$1 = require('./index-e3e39724.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- const dataunitFetcher = require('./dataunit-fetcher-4a5d491a.js');
16
+ const dataunitFetcher = require('./dataunit-fetcher-a723f0dc.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
18
  const formConfigFetcher = require('./form-config-fetcher-40d3f752.js');
19
19
  const fieldSearch = require('./field-search-68e34bf4.js');
@@ -664,7 +664,9 @@ const SnkSimpleCrud = class {
664
664
  window.addEventListener("keydown", this._keyDownHandler, { capture: true });
665
665
  }
666
666
  disconnectedCallback() {
667
+ var _a;
667
668
  window.removeEventListener("keydown", this._keyDownHandler);
669
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
668
670
  }
669
671
  gridConfigChangeHandler(evt) {
670
672
  evt.stopPropagation();
@@ -746,12 +748,12 @@ const SnkSimpleCrud = class {
746
748
  }
747
749
  async initKeyboardManager() {
748
750
  var _a;
749
- const keyboardManager = new core.KeyboardManager();
751
+ this._keyboardManager = new core.KeyboardManager({ propagate: false, element: this._element });
750
752
  const dataUnit = this.dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
751
753
  if (dataUnit == undefined) {
752
754
  return;
753
755
  }
754
- keyboardManager
756
+ this._keyboardManager
755
757
  .bind("F7", () => dataUnit.saveData(), { description: "Salva os dados.", element: this._element })
756
758
  .bind("F8", dataUnit.addRecord.bind(dataUnit), { description: "Adiciona um novo registro.", element: this._element })
757
759
  .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
@@ -761,7 +763,8 @@ const SnkSimpleCrud = class {
761
763
  }
762
764
  }, {
763
765
  debounceTime: 1000,
764
- description: "Cancela uma ação.", element: this._element
766
+ description: "Cancela uma ação.",
767
+ element: this._element
765
768
  });
766
769
  }
767
770
  async handleFormConfigSaved() {
@@ -1169,10 +1169,7 @@ export class SnkApplication {
1169
1169
  .bind("F1", Workspace.openHelp.bind(this), { description: "Abrir ajuda" });
1170
1170
  }
1171
1171
  removeShortcuts() {
1172
- this._keyboardManager
1173
- .unbind("ctrl + g")
1174
- .unbind("ctrl + d")
1175
- .unbind("F1");
1172
+ this._keyboardManager.unbindAllShortcutKeys();
1176
1173
  }
1177
1174
  renderLoadingSkeleton() {
1178
1175
  if (!this.enableLockManagerLoadingApp)
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from '@stencil/core';
2
- import { ApplicationContext, ElementIDUtils, FloatingManager, StringUtils, JSUtils } from '@sankhyalabs/core';
2
+ import { ApplicationContext, ElementIDUtils, FloatingManager, StringUtils, JSUtils, KeyboardManager } from '@sankhyalabs/core';
3
3
  import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
4
4
  import { PresentationMode } from '../../lib';
5
5
  import { VIEW_MODE } from '../../lib/utils/constants';
@@ -271,29 +271,28 @@ export class SnkCrud {
271
271
  ;
272
272
  }
273
273
  async initKeyboardManager() {
274
- var _a;
275
- const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
276
- if (keyboardManager) {
277
- const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
278
- async function saveDataUnitHandlingFocus() {
279
- const element = document.activeElement;
280
- const isDocumentBody = (element == document.body);
281
- if (!isDocumentBody)
282
- element.blur();
283
- await dataUnit.saveData();
284
- if (!isDocumentBody && element.setFocus != undefined) {
285
- element.setFocus();
286
- return;
287
- }
288
- if (!isDocumentBody)
289
- element.focus();
274
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
275
+ const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
276
+ async function saveDataUnitHandlingFocus() {
277
+ const element = document.activeElement;
278
+ const isDocumentBody = (element == document.body);
279
+ if (!isDocumentBody)
280
+ element.blur();
281
+ await dataUnit.saveData();
282
+ if (!isDocumentBody && element.setFocus != undefined) {
283
+ element.setFocus();
284
+ return;
290
285
  }
291
- async function handleAddRecord() {
292
- if (!dataUnit.hasNewRecord()) {
293
- dataUnit.addRecord();
294
- }
286
+ if (!isDocumentBody)
287
+ element.focus();
288
+ }
289
+ async function handleAddRecord() {
290
+ if (!dataUnit.hasNewRecord()) {
291
+ dataUnit.addRecord();
295
292
  }
296
- keyboardManager
293
+ }
294
+ if (this._keyboardManager) {
295
+ this._keyboardManager
297
296
  .bind("F6", this.toggleView.bind(this), { description: "Alterna entre modo formulário e grade.", element: this._element })
298
297
  .bind("F7", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
299
298
  .bind("ctrl + \\", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
@@ -318,18 +317,7 @@ export class SnkCrud {
318
317
  }
319
318
  async removeShortcuts() {
320
319
  var _a;
321
- const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
322
- if (keyboardManager) {
323
- keyboardManager
324
- .unbind("F6")
325
- .unbind("F7")
326
- .unbind("ctrl + \\")
327
- .unbind("F8")
328
- .unbind("F9")
329
- .unbind("ctrl + F9")
330
- .unbind("F5")
331
- .unbind("Escape");
332
- }
320
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
333
321
  }
334
322
  async toggleView() {
335
323
  const currentView = await this._viewStack.getSelectedIndex();
@@ -15,11 +15,11 @@ export default class SnkMultiSelectionListDataSource {
15
15
  }
16
16
  return String(this._dataUnit.getFormattedValue(fieldName, value));
17
17
  }
18
- async getStaticOptions(fieldName) {
18
+ async getStaticOptions(fieldName, options) {
19
19
  if (fieldName == undefined) {
20
20
  return Promise.resolve(undefined);
21
21
  }
22
- return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName));
22
+ return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName, options));
23
23
  }
24
24
  fetchData(filterTerm, fieldName) {
25
25
  return new Promise(resolve => {
@@ -639,7 +639,9 @@ export class SnkSimpleCrud {
639
639
  window.addEventListener("keydown", this._keyDownHandler, { capture: true });
640
640
  }
641
641
  disconnectedCallback() {
642
+ var _a;
642
643
  window.removeEventListener("keydown", this._keyDownHandler);
644
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
643
645
  }
644
646
  gridConfigChangeHandler(evt) {
645
647
  evt.stopPropagation();
@@ -721,12 +723,12 @@ export class SnkSimpleCrud {
721
723
  }
722
724
  async initKeyboardManager() {
723
725
  var _a;
724
- const keyboardManager = new KeyboardManager();
726
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
725
727
  const dataUnit = this.dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
726
728
  if (dataUnit == undefined) {
727
729
  return;
728
730
  }
729
- keyboardManager
731
+ this._keyboardManager
730
732
  .bind("F7", () => dataUnit.saveData(), { description: "Salva os dados.", element: this._element })
731
733
  .bind("F8", dataUnit.addRecord.bind(dataUnit), { description: "Adiciona um novo registro.", element: this._element })
732
734
  .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
@@ -736,7 +738,8 @@ export class SnkSimpleCrud {
736
738
  }
737
739
  }, {
738
740
  debounceTime: 1000,
739
- description: "Cancela uma ação.", element: this._element
741
+ description: "Cancela uma ação.",
742
+ element: this._element
740
743
  });
741
744
  }
742
745
  async handleFormConfigSaved() {
@@ -1,6 +1,19 @@
1
1
  :host {
2
+ /*@doc Define a largura mínima do componente.*/
3
+ --ez-dropdown--min-width: 150px;
2
4
  /*private*/
3
5
  display: flex;
4
6
  width: fit-content;
5
7
  height: fit-content;
6
8
  }
9
+
10
+ .ez-dropdown-container {
11
+ position: relative;
12
+ display: inline-block;
13
+ }
14
+
15
+ .ez-dropdown--sticky {
16
+ position: absolute;
17
+ display: block;
18
+ min-width: var(--ez-dropdown--min-width);
19
+ }
@@ -118,7 +118,7 @@ export class TaskbarActionsButton {
118
118
  this.taskbarActionsButtonDisconnected.emit();
119
119
  }
120
120
  render() {
121
- return (h(Host, null, h("div", { class: `${this.canShowDropdown() ? ' ez-elevation--16' : ''}` }, h("ez-button", { title: this.title, mode: 'icon', iconName: 'dots-vertical', size: 'small', enabled: this.enabled, onClick: () => this.controlDropdown() }), this.canShowDropdown() && h("ez-dropdown", { items: this.loadItems(), onEzClick: (evt) => this.onSelectAction(evt.detail), onEzOutsideClick: () => this._showDropdown = false, itemBuilder: (item, level) => this.dropdownItemBuilder(item, level) }))));
121
+ return (h(Host, null, h("div", { class: `${this.canShowDropdown() ? ' ez-elevation--16' : ''} ez-dropdown-container` }, h("ez-button", { title: this.title, mode: 'icon', iconName: 'dots-vertical', size: 'small', enabled: this.enabled, onClick: () => this.controlDropdown() }), this.canShowDropdown() && h("ez-dropdown", { class: `ez-dropdown--sticky`, items: this.loadItems(), onEzClick: (evt) => this.onSelectAction(evt.detail), onEzOutsideClick: () => this._showDropdown = false, itemBuilder: (item, level) => this.dropdownItemBuilder(item, level) }))));
122
122
  }
123
123
  static get is() { return "taskbar-actions-button"; }
124
124
  static get encapsulation() { return "scoped"; }
@@ -24,9 +24,15 @@ export default class RmPrecisionCustomValueFormatter {
24
24
  if (rmPrecision || rmPrecision === 0) {
25
25
  return NumberUtils.format(currentValue, rmPrecision, rmPrecision);
26
26
  }
27
- else {
28
- return currentValue;
27
+ const columnProps = column === null || column === void 0 ? void 0 : column.props;
28
+ if (columnProps) {
29
+ const precision = column === null || column === void 0 ? void 0 : column.props.get('precision');
30
+ const prettyPrecision = column === null || column === void 0 ? void 0 : column.props.get('prettyPrecision');
31
+ if (precision !== undefined && prettyPrecision !== undefined) {
32
+ return NumberUtils.format(currentValue, precision, prettyPrecision);
33
+ }
29
34
  }
35
+ return currentValue;
30
36
  }
31
37
  refreshSelectedRows() {
32
38
  var _a;
@@ -23,7 +23,7 @@ export default class PreloadManager {
23
23
  static getSortingFunction(dataUnit, sorting) {
24
24
  return SortingUtils.getSortingFunction(dataUnit, sorting);
25
25
  }
26
- static async getDistinct(dataUnit, fieldName) {
26
+ static async getDistinct(dataUnit, fieldName, onlyLabel = false) {
27
27
  if (!PreloadManager.isCacheEnabled(dataUnit)) {
28
28
  return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, dataUnit));
29
29
  }
@@ -42,7 +42,10 @@ export default class PreloadManager {
42
42
  if (fieldValue == undefined) {
43
43
  return { key: null, value: null };
44
44
  }
45
- const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
45
+ let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
46
+ if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
47
+ return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
48
+ }
46
49
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
47
50
  })
48
51
  .then(result => {
@@ -168,11 +168,11 @@ class SnkMultiSelectionListDataSource {
168
168
  }
169
169
  return String(this._dataUnit.getFormattedValue(fieldName, value));
170
170
  }
171
- async getStaticOptions(fieldName) {
171
+ async getStaticOptions(fieldName, options) {
172
172
  if (fieldName == undefined) {
173
173
  return Promise.resolve(undefined);
174
174
  }
175
- return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName));
175
+ return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName, options));
176
176
  }
177
177
  fetchData(filterTerm, fieldName) {
178
178
  return new Promise(resolve => {
@@ -248,9 +248,15 @@ class RmPrecisionCustomValueFormatter {
248
248
  if (rmPrecision || rmPrecision === 0) {
249
249
  return NumberUtils.format(currentValue, rmPrecision, rmPrecision);
250
250
  }
251
- else {
252
- return currentValue;
251
+ const columnProps = column === null || column === void 0 ? void 0 : column.props;
252
+ if (columnProps) {
253
+ const precision = column === null || column === void 0 ? void 0 : column.props.get('precision');
254
+ const prettyPrecision = column === null || column === void 0 ? void 0 : column.props.get('prettyPrecision');
255
+ if (precision !== undefined && prettyPrecision !== undefined) {
256
+ return NumberUtils.format(currentValue, precision, prettyPrecision);
257
+ }
253
258
  }
259
+ return currentValue;
254
260
  }
255
261
  refreshSelectedRows() {
256
262
  var _a;