@sankhyalabs/sankhyablocks 8.16.0-dev.110 → 8.16.0-dev.111

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 (111) hide show
  1. package/dist/cjs/{SnkMessageBuilder-aecd7c18.js → SnkMessageBuilder-9deeae08.js} +4 -3
  2. package/dist/cjs/index-f9e81701.js +2 -2
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  5. package/dist/cjs/{snk-actions-button_7.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +61 -0
  6. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-attach.cjs.entry.js +1 -1
  8. package/dist/cjs/snk-crud.cjs.entry.js +2 -26
  9. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  10. package/dist/cjs/{snk-data-unit-ebfdb9ba.js → snk-data-unit-57916de4.js} +1 -1
  11. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  12. package/dist/cjs/snk-detail-view.cjs.entry.js +57 -5
  13. package/dist/cjs/snk-form-view.cjs.entry.js +19 -7
  14. package/dist/cjs/snk-grid.cjs.entry.js +22 -23
  15. package/dist/cjs/{snk-guides-viewer-fd39f437.js → snk-guides-viewer-d33379cd.js} +36 -24
  16. package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -3
  17. package/dist/cjs/snk-simple-crud.cjs.entry.js +73 -85
  18. package/dist/cjs/snk-taskbar.cjs.entry.js +7 -3
  19. package/dist/cjs/{taskbar-elements-02379452.js → taskbar-elements-6f4e06af.js} +8 -0
  20. package/dist/cjs/{field-search-68e34bf4.js → taskbar-processor-2fba34a8.js} +0 -35
  21. package/dist/collection/collection-manifest.json +1 -0
  22. package/dist/collection/components/snk-crud/snk-crud.js +2 -26
  23. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +58 -4
  24. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  25. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +36 -40
  26. package/dist/collection/components/snk-grid/snk-grid.js +36 -36
  27. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +75 -85
  28. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +8 -0
  29. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  30. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  31. package/dist/collection/components/snk-taskbar/snk-taskbar.js +28 -2
  32. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  33. package/dist/collection/lib/message/resources/snk-grid.msg.js +1 -1
  34. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  35. package/dist/components/ContinuousInsertUtils.js +2 -33
  36. package/dist/components/SnkMessageBuilder.js +4 -3
  37. package/dist/components/index.d.ts +1 -0
  38. package/dist/components/index.js +1 -0
  39. package/dist/components/snk-attach2.js +34 -28
  40. package/dist/components/snk-crud.js +75 -93
  41. package/dist/components/snk-detail-view2.js +193 -117
  42. package/dist/components/snk-form-view2.js +22 -8
  43. package/dist/components/snk-grid2.js +62 -57
  44. package/dist/components/snk-simple-crud2.js +104 -109
  45. package/dist/components/snk-taskbar2.js +29 -10
  46. package/dist/components/taskbar-split-button.d.ts +11 -0
  47. package/dist/components/taskbar-split-button.js +6 -0
  48. package/dist/components/taskbar-split-button2.js +87 -0
  49. package/dist/esm/{SnkMessageBuilder-12f5fe1a.js → SnkMessageBuilder-2dbd8fa2.js} +4 -3
  50. package/dist/esm/index-a7d3d3f1.js +2 -2
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm/sankhyablocks.js +1 -1
  53. package/dist/esm/{snk-actions-button_7.entry.js → snk-actions-button_8.entry.js} +61 -1
  54. package/dist/esm/snk-application.entry.js +1 -1
  55. package/dist/esm/snk-attach.entry.js +1 -1
  56. package/dist/esm/snk-crud.entry.js +3 -27
  57. package/dist/esm/snk-data-exporter.entry.js +2 -2
  58. package/dist/esm/{snk-data-unit-03654813.js → snk-data-unit-65c9dd1a.js} +1 -1
  59. package/dist/esm/snk-data-unit.entry.js +2 -2
  60. package/dist/esm/snk-detail-view.entry.js +59 -7
  61. package/dist/esm/snk-form-view.entry.js +19 -7
  62. package/dist/esm/snk-grid.entry.js +20 -21
  63. package/dist/esm/{snk-guides-viewer-75e06feb.js → snk-guides-viewer-72953334.js} +37 -25
  64. package/dist/esm/snk-guides-viewer.entry.js +4 -3
  65. package/dist/esm/snk-simple-crud.entry.js +74 -86
  66. package/dist/esm/snk-taskbar.entry.js +7 -3
  67. package/dist/esm/{taskbar-elements-c62b6c66.js → taskbar-elements-f2cb4922.js} +8 -0
  68. package/dist/esm/{field-search-f8b1d91e.js → taskbar-processor-3436124c.js} +1 -34
  69. package/dist/sankhyablocks/p-0fadb620.js +1 -0
  70. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  71. package/dist/sankhyablocks/{p-2c08fa3e.entry.js → p-1bdffb17.entry.js} +1 -1
  72. package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
  73. package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
  74. package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
  75. package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
  76. package/dist/sankhyablocks/p-4689c2e6.js +1 -0
  77. package/dist/sankhyablocks/{p-271c86d3.entry.js → p-52d10014.entry.js} +1 -1
  78. package/dist/sankhyablocks/p-6a03b190.entry.js +1 -0
  79. package/dist/sankhyablocks/{p-ad07f0c5.entry.js → p-7beeabc1.entry.js} +1 -1
  80. package/dist/sankhyablocks/{p-4a93daef.entry.js → p-a4ebeec4.entry.js} +1 -1
  81. package/dist/sankhyablocks/p-bc101064.entry.js +1 -0
  82. package/dist/sankhyablocks/{p-f4d5bb7f.js → p-c9675d64.js} +1 -1
  83. package/dist/sankhyablocks/{p-4e861843.entry.js → p-ce94e6c4.entry.js} +1 -1
  84. package/dist/sankhyablocks/p-d07b18a4.js +1 -0
  85. package/dist/sankhyablocks/{p-6a0c8ce0.entry.js → p-ddf93f36.entry.js} +1 -1
  86. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  87. package/dist/types/components/snk-crud/snk-crud.d.ts +0 -3
  88. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +12 -0
  89. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  90. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -6
  91. package/dist/types/components/snk-grid/snk-grid.d.ts +7 -5
  92. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +10 -10
  93. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  94. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +5 -0
  95. package/dist/types/components.d.ts +107 -8
  96. package/package.json +1 -1
  97. package/react/components.d.ts +1 -0
  98. package/react/components.js +1 -0
  99. package/react/components.js.map +1 -1
  100. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  101. package/dist/sankhyablocks/p-1a51dfde.entry.js +0 -1
  102. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  103. package/dist/sankhyablocks/p-23736d75.js +0 -1
  104. package/dist/sankhyablocks/p-2d6df7e7.entry.js +0 -1
  105. package/dist/sankhyablocks/p-41da5310.js +0 -1
  106. package/dist/sankhyablocks/p-65be98c5.entry.js +0 -1
  107. package/dist/sankhyablocks/p-80f8c22c.js +0 -1
  108. package/dist/sankhyablocks/p-cc8c3bca.entry.js +0 -1
  109. package/dist/sankhyablocks/p-cf1f25ed.entry.js +0 -1
  110. package/dist/sankhyablocks/p-fb0f0087.js +0 -1
  111. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, forceUpdate, Host } from '@stencil/core/internal/client';
2
- import { ObjectUtils, Action, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { ObjectUtils, StringUtils, Action, KeyboardManager, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { S as SnkFormConfigManager } from './SnkFormConfigManager.js';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
5
  import './DataFetcher.js';
@@ -10,41 +10,43 @@ import './dataunit-fetcher.js';
10
10
  import './filter-item-type.enum.js';
11
11
  import './form-config-fetcher.js';
12
12
  import { V as VIEW_MODE } from './constants.js';
13
- import { T as TaskbarElement, d as defineCustomElement$4 } from './snk-taskbar2.js';
14
- import { o as openFieldSearch, T as TaskbarProcessor, b as buildFieldSearch } from './ContinuousInsertUtils.js';
13
+ import { T as TaskbarElement, d as defineCustomElement$5 } from './snk-taskbar2.js';
14
+ import { T as TaskbarProcessor } from './ContinuousInsertUtils.js';
15
15
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
16
- import { d as defineCustomElement$x } from './snk-actions-button2.js';
17
- import { d as defineCustomElement$w } from './snk-attach2.js';
18
- import { d as defineCustomElement$v } from './snk-config-options2.js';
19
- import { d as defineCustomElement$u } from './snk-configurator2.js';
20
- import { d as defineCustomElement$t } from './snk-data-exporter2.js';
21
- import { d as defineCustomElement$s } from './snk-data-unit2.js';
16
+ import { buildFieldSearch, SHORTCUT_SEARCH_FIELD, LABEL_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
17
+ import { d as defineCustomElement$y } from './snk-actions-button2.js';
18
+ import { d as defineCustomElement$x } from './snk-attach2.js';
19
+ import { d as defineCustomElement$w } from './snk-config-options2.js';
20
+ import { d as defineCustomElement$v } from './snk-configurator2.js';
21
+ import { d as defineCustomElement$u } from './snk-data-exporter2.js';
22
+ import { d as defineCustomElement$t } from './snk-data-unit2.js';
22
23
  import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
23
- import { d as defineCustomElement$r } from './snk-exporter-email-sender2.js';
24
- import { d as defineCustomElement$q } from './snk-expression-group2.js';
25
- import { d as defineCustomElement$p } from './snk-expression-item2.js';
26
- import { d as defineCustomElement$n } from './snk-filter-advanced-mode2.js';
27
- import { d as defineCustomElement$m } from './snk-filter-assistent-mode2.js';
28
- import { d as defineCustomElement$l } from './snk-filter-bar2.js';
29
- import { d as defineCustomElement$k } from './snk-filter-detail2.js';
30
- import { d as defineCustomElement$j } from './snk-filter-field-search2.js';
31
- import { d as defineCustomElement$i } from './snk-filter-item2.js';
32
- import { d as defineCustomElement$h } from './snk-filter-param-config2.js';
33
- import { d as defineCustomElement$f } from './snk-form-summary2.js';
34
- import { d as defineCustomElement$e } from './snk-form-view2.js';
35
- import { d as defineCustomElement$d } from './snk-grid2.js';
36
- import { d as defineCustomElement$c } from './snk-grid-config2.js';
37
- import { d as defineCustomElement$b } from './snk-layout-form-config2.js';
38
- import { d as defineCustomElement$a } from './snk-personalized-filter2.js';
39
- import { d as defineCustomElement$9 } from './snk-select-box2.js';
40
- import { d as defineCustomElement$8 } from './snk-simple-bar2.js';
41
- import { d as defineCustomElement$7 } from './snk-simple-crud2.js';
42
- import { d as defineCustomElement$6 } from './snk-simple-form-config2.js';
43
- import { d as defineCustomElement$3 } from './snk-view-representation2.js';
44
- import { d as defineCustomElement$2 } from './taskbar-actions-button2.js';
45
- import { d as defineCustomElement$o } from './snk-field-config2.js';
46
- import { d as defineCustomElement$g } from './snk-form-config2.js';
47
- import { d as defineCustomElement$5 } from './snk-tab-config2.js';
24
+ import { d as defineCustomElement$s } from './snk-exporter-email-sender2.js';
25
+ import { d as defineCustomElement$r } from './snk-expression-group2.js';
26
+ import { d as defineCustomElement$q } from './snk-expression-item2.js';
27
+ import { d as defineCustomElement$o } from './snk-filter-advanced-mode2.js';
28
+ import { d as defineCustomElement$n } from './snk-filter-assistent-mode2.js';
29
+ import { d as defineCustomElement$m } from './snk-filter-bar2.js';
30
+ import { d as defineCustomElement$l } from './snk-filter-detail2.js';
31
+ import { d as defineCustomElement$k } from './snk-filter-field-search2.js';
32
+ import { d as defineCustomElement$j } from './snk-filter-item2.js';
33
+ import { d as defineCustomElement$i } from './snk-filter-param-config2.js';
34
+ import { d as defineCustomElement$g } from './snk-form-summary2.js';
35
+ import { d as defineCustomElement$f } from './snk-form-view2.js';
36
+ import { d as defineCustomElement$e } from './snk-grid2.js';
37
+ import { d as defineCustomElement$d } from './snk-grid-config2.js';
38
+ import { d as defineCustomElement$c } from './snk-layout-form-config2.js';
39
+ import { d as defineCustomElement$b } from './snk-personalized-filter2.js';
40
+ import { d as defineCustomElement$a } from './snk-select-box2.js';
41
+ import { d as defineCustomElement$9 } from './snk-simple-bar2.js';
42
+ import { d as defineCustomElement$8 } from './snk-simple-crud2.js';
43
+ import { d as defineCustomElement$7 } from './snk-simple-form-config2.js';
44
+ import { d as defineCustomElement$4 } from './snk-view-representation2.js';
45
+ import { d as defineCustomElement$3 } from './taskbar-actions-button2.js';
46
+ import { d as defineCustomElement$2 } from './taskbar-split-button2.js';
47
+ import { d as defineCustomElement$p } from './snk-field-config2.js';
48
+ import { d as defineCustomElement$h } from './snk-form-config2.js';
49
+ import { d as defineCustomElement$6 } from './snk-tab-config2.js';
48
50
 
49
51
  const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-small:var(--space--2xs, 8px);--snk-guides-viewer__header--min-height:68px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-small);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-small)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-small));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-small))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
50
52
 
@@ -85,6 +87,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
85
87
  this._customEditors = undefined;
86
88
  this._customRenders = undefined;
87
89
  this._fieldsProps = {};
90
+ this._mainForm = undefined;
88
91
  }
89
92
  observeDataUnit() {
90
93
  this.loadGuides(true);
@@ -111,12 +114,6 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
111
114
  this._formEditorConfigManager = masterConfig ? this._configManager : this._currentDetail.formConfigManager;
112
115
  this._formEditorDataUnit = masterConfig ? this.dataUnit : this._currentDetail.dataUnit;
113
116
  }
114
- /**
115
- * Abre o localizador de campos
116
- */
117
- async findField() {
118
- await openFieldSearch(this._moreOptions, this._fieldSearch);
119
- }
120
117
  /**
121
118
  * Registra um editor customizado para campos da grade e formulário
122
119
  */
@@ -361,7 +358,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
361
358
  const sheet = this._masterFormMetadata.getSheet(cardId);
362
359
  if (sheet) {
363
360
  const cardConfig = (_c = (_b = this.masterFormConfig) === null || _b === void 0 ? void 0 : _b.cardsState) === null || _c === void 0 ? void 0 : _c.get(cardId);
364
- content = h("snk-form-view", { ref: ref => this._mainForm = ref, fixed: cardConfig === null || cardConfig === void 0 ? void 0 : cardConfig.fixed, summaryFields: (_e = (_d = this.masterFormConfig) === null || _d === void 0 ? void 0 : _d.summary) === null || _e === void 0 ? void 0 : _e.get(cardId), name: cardId, label: sheet.label, fields: sheet.fields, dataUnit: this.dataUnit, formMetadata: this._masterFormMetadata, recordsValidator: this.recordsValidator, fieldToFocus: this._fieldToGetFocus, key: guideId, onSnkRequestClearFieldToFocus: _ => this.clearFieldToFocusHandler(), customEditors: this._customEditors, fieldsProps: this._fieldsProps }, this.presentationMode == PresentationMode.SECONDARY && this.buildTaskBar());
361
+ content = h("snk-form-view", { ref: ref => this._mainForm = ref, fixed: cardConfig === null || cardConfig === void 0 ? void 0 : cardConfig.fixed, summaryFields: (_e = (_d = this.masterFormConfig) === null || _d === void 0 ? void 0 : _d.summary) === null || _e === void 0 ? void 0 : _e.get(cardId), name: cardId, label: sheet.label, fields: sheet.fields, dataUnit: this.dataUnit, formMetadata: this._masterFormMetadata, recordsValidator: this.recordsValidator, fieldToFocus: this._fieldToGetFocus, key: guideId, onSnkRequestClearFieldToFocus: _ => this.clearFieldToFocusHandler(), customEditors: this._customEditors, fieldsProps: this._fieldsProps, fieldSearch: this._fieldSearch }, this.presentationMode == PresentationMode.SECONDARY && this.buildTaskBar());
365
362
  }
366
363
  }
367
364
  return content;
@@ -461,12 +458,10 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
461
458
  }
462
459
  this._guideHasChanged = false;
463
460
  }
464
- getFieldsSearch(actionButton, item) {
461
+ getFieldsSearch(item) {
465
462
  if (this._fieldSearch == undefined || this._hasToCreateFieldSearch) {
466
463
  this._hasToCreateFieldSearch = false;
467
- this._moreOptions = actionButton;
468
- actionButton.addEventListener("taskbarActionsButtonDisconnected", () => this._hasToCreateFieldSearch = true);
469
- this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option, actionButton));
464
+ this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
470
465
  }
471
466
  return this._fieldSearch;
472
467
  }
@@ -474,7 +469,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
474
469
  return Promise.resolve(this._configManager.getFieldsList(argument)
475
470
  .map(field => ({ value: field.name, label: field.label })));
476
471
  }
477
- onSelectField(option, actionButton) {
472
+ onSelectField(option) {
478
473
  if (option == undefined) {
479
474
  return;
480
475
  }
@@ -483,24 +478,28 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
483
478
  if (fieldGuideName !== this.selectedGuide.id) {
484
479
  this.changeGuideHandler(fieldGuideName);
485
480
  }
486
- actionButton.hideActions();
487
481
  }
488
482
  getActionsList() {
483
+ var _a;
484
+ const hardList = [];
485
+ if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
486
+ return hardList.concat((_a = this.taskbarManager.getMoreOptions(this.getTaskBarId(), this.configName, this.dataState, this.actionsList)) !== null && _a !== void 0 ? _a : []);
487
+ }
488
+ return hardList.concat(this.actionsList);
489
+ }
490
+ getSettingsListForm() {
489
491
  const hardList = [{
490
- value: "",
492
+ value: StringUtils.generateUUID(),
491
493
  label: this.getMessage("snkCrud.findColumn"),
492
494
  disableCloseOnSelect: true,
493
495
  eagerInitialize: true,
494
- itemBuilder: (actionButton, item) => this.getFieldsSearch(actionButton, item)
496
+ itemBuilder: (_, item) => this.getFieldsSearch(item)
495
497
  }];
496
- if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
497
- return hardList.concat(this.taskbarManager.getMoreOptions(this.getTaskBarId(), this.configName, this.dataState, this.actionsList));
498
- }
499
- return hardList.concat(this.actionsList);
498
+ return hardList;
500
499
  }
501
500
  buildTaskBar() {
502
501
  var _a;
503
- return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? TaskbarElement.SAVE : TaskbarElement.INSERT, "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
502
+ return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), actionsSettingsList: this.getSettingsListForm(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? TaskbarElement.SAVE : TaskbarElement.INSERT, "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
504
503
  }
505
504
  async dataUnitActionHandler(action) {
506
505
  var _a;
@@ -576,11 +575,24 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
576
575
  }
577
576
  componentDidLoad() {
578
577
  this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
578
+ this.initKeyboardManager();
579
+ }
580
+ disconnectedCallback() {
581
+ var _a;
582
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
583
+ }
584
+ async initKeyboardManager() {
585
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
586
+ this._keyboardManager.bind(SHORTCUT_SEARCH_FIELD, async () => {
587
+ if (!this._mainForm)
588
+ return;
589
+ await this._mainForm.showSearchField();
590
+ }, { description: LABEL_SEARCH_FIELD, element: this._element });
579
591
  }
580
592
  render() {
581
593
  var _a, _b;
582
594
  if (this._formEditorConfigManager != undefined) {
583
- return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
595
+ return (h("snk-form-config", { tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
584
596
  }
585
597
  if (!this.dataUnit || !this._configManager.isLoaded) {
586
598
  return;
@@ -603,6 +615,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
603
615
  fieldsProps: this._fieldsProps
604
616
  }), this.getContent())), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), messagesBuilder: this.messagesBuilder, onOpenConfig: (evt) => this.openConfig(evt.detail), resourceID: this.resourceID })));
605
617
  }
618
+ get _element() { return this; }
606
619
  static get watchers() { return {
607
620
  "dataUnit": ["observeDataUnit"],
608
621
  "dataState": ["observeDataState"],
@@ -637,8 +650,8 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
637
650
  "_customEditors": [32],
638
651
  "_customRenders": [32],
639
652
  "_fieldsProps": [32],
653
+ "_mainForm": [32],
640
654
  "showFormConfig": [64],
641
- "findField": [64],
642
655
  "addCustomEditor": [64],
643
656
  "addGridCustomRender": [64],
644
657
  "setFieldProp": [64],
@@ -654,7 +667,7 @@ function defineCustomElement$1() {
654
667
  if (typeof customElements === "undefined") {
655
668
  return;
656
669
  }
657
- const components = ["snk-guides-viewer", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-layout-form-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-tab-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button"];
670
+ const components = ["snk-guides-viewer", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-layout-form-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-tab-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button", "taskbar-split-button"];
658
671
  components.forEach(tagName => { switch (tagName) {
659
672
  case "snk-guides-viewer":
660
673
  if (!customElements.get(tagName)) {
@@ -663,32 +676,32 @@ function defineCustomElement$1() {
663
676
  break;
664
677
  case "snk-actions-button":
665
678
  if (!customElements.get(tagName)) {
666
- defineCustomElement$x();
679
+ defineCustomElement$y();
667
680
  }
668
681
  break;
669
682
  case "snk-attach":
670
683
  if (!customElements.get(tagName)) {
671
- defineCustomElement$w();
684
+ defineCustomElement$x();
672
685
  }
673
686
  break;
674
687
  case "snk-config-options":
675
688
  if (!customElements.get(tagName)) {
676
- defineCustomElement$v();
689
+ defineCustomElement$w();
677
690
  }
678
691
  break;
679
692
  case "snk-configurator":
680
693
  if (!customElements.get(tagName)) {
681
- defineCustomElement$u();
694
+ defineCustomElement$v();
682
695
  }
683
696
  break;
684
697
  case "snk-data-exporter":
685
698
  if (!customElements.get(tagName)) {
686
- defineCustomElement$t();
699
+ defineCustomElement$u();
687
700
  }
688
701
  break;
689
702
  case "snk-data-unit":
690
703
  if (!customElements.get(tagName)) {
691
- defineCustomElement$s();
704
+ defineCustomElement$t();
692
705
  }
693
706
  break;
694
707
  case "snk-detail-view":
@@ -698,130 +711,135 @@ function defineCustomElement$1() {
698
711
  break;
699
712
  case "snk-exporter-email-sender":
700
713
  if (!customElements.get(tagName)) {
701
- defineCustomElement$r();
714
+ defineCustomElement$s();
702
715
  }
703
716
  break;
704
717
  case "snk-expression-group":
705
718
  if (!customElements.get(tagName)) {
706
- defineCustomElement$q();
719
+ defineCustomElement$r();
707
720
  }
708
721
  break;
709
722
  case "snk-expression-item":
710
723
  if (!customElements.get(tagName)) {
711
- defineCustomElement$p();
724
+ defineCustomElement$q();
712
725
  }
713
726
  break;
714
727
  case "snk-field-config":
715
728
  if (!customElements.get(tagName)) {
716
- defineCustomElement$o();
729
+ defineCustomElement$p();
717
730
  }
718
731
  break;
719
732
  case "snk-filter-advanced-mode":
720
733
  if (!customElements.get(tagName)) {
721
- defineCustomElement$n();
734
+ defineCustomElement$o();
722
735
  }
723
736
  break;
724
737
  case "snk-filter-assistent-mode":
725
738
  if (!customElements.get(tagName)) {
726
- defineCustomElement$m();
739
+ defineCustomElement$n();
727
740
  }
728
741
  break;
729
742
  case "snk-filter-bar":
730
743
  if (!customElements.get(tagName)) {
731
- defineCustomElement$l();
744
+ defineCustomElement$m();
732
745
  }
733
746
  break;
734
747
  case "snk-filter-detail":
735
748
  if (!customElements.get(tagName)) {
736
- defineCustomElement$k();
749
+ defineCustomElement$l();
737
750
  }
738
751
  break;
739
752
  case "snk-filter-field-search":
740
753
  if (!customElements.get(tagName)) {
741
- defineCustomElement$j();
754
+ defineCustomElement$k();
742
755
  }
743
756
  break;
744
757
  case "snk-filter-item":
745
758
  if (!customElements.get(tagName)) {
746
- defineCustomElement$i();
759
+ defineCustomElement$j();
747
760
  }
748
761
  break;
749
762
  case "snk-filter-param-config":
750
763
  if (!customElements.get(tagName)) {
751
- defineCustomElement$h();
764
+ defineCustomElement$i();
752
765
  }
753
766
  break;
754
767
  case "snk-form-config":
755
768
  if (!customElements.get(tagName)) {
756
- defineCustomElement$g();
769
+ defineCustomElement$h();
757
770
  }
758
771
  break;
759
772
  case "snk-form-summary":
760
773
  if (!customElements.get(tagName)) {
761
- defineCustomElement$f();
774
+ defineCustomElement$g();
762
775
  }
763
776
  break;
764
777
  case "snk-form-view":
765
778
  if (!customElements.get(tagName)) {
766
- defineCustomElement$e();
779
+ defineCustomElement$f();
767
780
  }
768
781
  break;
769
782
  case "snk-grid":
770
783
  if (!customElements.get(tagName)) {
771
- defineCustomElement$d();
784
+ defineCustomElement$e();
772
785
  }
773
786
  break;
774
787
  case "snk-grid-config":
775
788
  if (!customElements.get(tagName)) {
776
- defineCustomElement$c();
789
+ defineCustomElement$d();
777
790
  }
778
791
  break;
779
792
  case "snk-layout-form-config":
780
793
  if (!customElements.get(tagName)) {
781
- defineCustomElement$b();
794
+ defineCustomElement$c();
782
795
  }
783
796
  break;
784
797
  case "snk-personalized-filter":
785
798
  if (!customElements.get(tagName)) {
786
- defineCustomElement$a();
799
+ defineCustomElement$b();
787
800
  }
788
801
  break;
789
802
  case "snk-select-box":
790
803
  if (!customElements.get(tagName)) {
791
- defineCustomElement$9();
804
+ defineCustomElement$a();
792
805
  }
793
806
  break;
794
807
  case "snk-simple-bar":
795
808
  if (!customElements.get(tagName)) {
796
- defineCustomElement$8();
809
+ defineCustomElement$9();
797
810
  }
798
811
  break;
799
812
  case "snk-simple-crud":
800
813
  if (!customElements.get(tagName)) {
801
- defineCustomElement$7();
814
+ defineCustomElement$8();
802
815
  }
803
816
  break;
804
817
  case "snk-simple-form-config":
805
818
  if (!customElements.get(tagName)) {
806
- defineCustomElement$6();
819
+ defineCustomElement$7();
807
820
  }
808
821
  break;
809
822
  case "snk-tab-config":
810
823
  if (!customElements.get(tagName)) {
811
- defineCustomElement$5();
824
+ defineCustomElement$6();
812
825
  }
813
826
  break;
814
827
  case "snk-taskbar":
815
828
  if (!customElements.get(tagName)) {
816
- defineCustomElement$4();
829
+ defineCustomElement$5();
817
830
  }
818
831
  break;
819
832
  case "snk-view-representation":
820
833
  if (!customElements.get(tagName)) {
821
- defineCustomElement$3();
834
+ defineCustomElement$4();
822
835
  }
823
836
  break;
824
837
  case "taskbar-actions-button":
838
+ if (!customElements.get(tagName)) {
839
+ defineCustomElement$3();
840
+ }
841
+ break;
842
+ case "taskbar-split-button":
825
843
  if (!customElements.get(tagName)) {
826
844
  defineCustomElement$2();
827
845
  }
@@ -884,6 +902,8 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
884
902
  this._disabledButtons = undefined;
885
903
  this._currentView = undefined;
886
904
  this.attachmentRegisterKey = undefined;
905
+ this._fieldToGetFocus = undefined;
906
+ this._hasToCreateFieldSearch = true;
887
907
  this.formConfigManager = undefined;
888
908
  this.dataUnitName = undefined;
889
909
  this.resourceID = undefined;
@@ -1103,6 +1123,11 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1103
1123
  async componentDidLoad() {
1104
1124
  await this.observerPropsCustomEditor(this.customEditors);
1105
1125
  await this.observeCustomRenders(this.customRenders);
1126
+ this.initKeyboardManager();
1127
+ }
1128
+ disconnectedCallback() {
1129
+ var _a;
1130
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
1106
1131
  }
1107
1132
  async dataUnitActionHandler(action) {
1108
1133
  if (action.type === Action.FIELD_INVALIDATED) {
@@ -1116,11 +1141,55 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1116
1141
  normalizeBranchGuideId(id) {
1117
1142
  return id === null || id === void 0 ? void 0 : id.replace(/child\[(.*?)\]/g, '$1').replace(/::/g, '>');
1118
1143
  }
1144
+ getSettingsListForm() {
1145
+ const hardList = [{
1146
+ value: StringUtils.generateUUID(),
1147
+ label: this.messagesBuilder.getMessage("snkCrud.findColumn", undefined),
1148
+ disableCloseOnSelect: true,
1149
+ eagerInitialize: true,
1150
+ itemBuilder: (_, item) => this.getFieldsSearch(item)
1151
+ }];
1152
+ return hardList;
1153
+ }
1154
+ getFieldsSearch(item) {
1155
+ if (this._fieldSearch == undefined || this._hasToCreateFieldSearch) {
1156
+ this._hasToCreateFieldSearch = false;
1157
+ this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
1158
+ }
1159
+ return this._fieldSearch;
1160
+ }
1161
+ fieldsOptionLoader(argument) {
1162
+ const searchTerm = argument === null || argument === void 0 ? void 0 : argument.toLowerCase();
1163
+ const allFields = this.getFormFields().map(field => { var _a; return (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(field.name); });
1164
+ const filteredFields = allFields.filter(field => {
1165
+ var _a, _b;
1166
+ return ((_a = field.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchTerm)) ||
1167
+ ((_b = field.label) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchTerm));
1168
+ });
1169
+ const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
1170
+ return Promise.resolve(options);
1171
+ }
1172
+ onSelectField(option) {
1173
+ if (option == undefined) {
1174
+ return;
1175
+ }
1176
+ this._fieldToGetFocus = option.value;
1177
+ }
1178
+ clearFieldToFocusHandler() {
1179
+ this._fieldToGetFocus = undefined;
1180
+ }
1181
+ async initKeyboardManager() {
1182
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
1183
+ this._keyboardManager.bind(SHORTCUT_SEARCH_FIELD, async () => {
1184
+ await this._snkFormView.showSearchField();
1185
+ }, { description: LABEL_SEARCH_FIELD, element: this._element });
1186
+ }
1119
1187
  render() {
1120
1188
  this.updateLabel();
1121
1189
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
1122
- return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: this.presentationMode, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS", outlineMode: false }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems) }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: this.presentationMode, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }, h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
1190
+ return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: this.presentationMode, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS", outlineMode: false }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), fieldToFocus: this._fieldToGetFocus, label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems), onSnkRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this), fieldSearch: this._fieldSearch }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: this.presentationMode, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS", actionsSettingsList: this.getSettingsListForm() }, h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
1123
1191
  }
1192
+ get _element() { return this; }
1124
1193
  static get watchers() { return {
1125
1194
  "dataUnit": ["observeDataUnit"],
1126
1195
  "dataState": ["observerDataState"],
@@ -1148,6 +1217,8 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1148
1217
  "_disabledButtons": [32],
1149
1218
  "_currentView": [32],
1150
1219
  "attachmentRegisterKey": [32],
1220
+ "_fieldToGetFocus": [32],
1221
+ "_hasToCreateFieldSearch": [32],
1151
1222
  "changeViewMode": [64],
1152
1223
  "configGrid": [64],
1153
1224
  "showUp": [64],
@@ -1159,7 +1230,7 @@ function defineCustomElement() {
1159
1230
  if (typeof customElements === "undefined") {
1160
1231
  return;
1161
1232
  }
1162
- const components = ["snk-detail-view", "snk-actions-button", "snk-attach", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-layout-form-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button"];
1233
+ const components = ["snk-detail-view", "snk-actions-button", "snk-attach", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-layout-form-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button", "taskbar-split-button"];
1163
1234
  components.forEach(tagName => { switch (tagName) {
1164
1235
  case "snk-detail-view":
1165
1236
  if (!customElements.get(tagName)) {
@@ -1168,140 +1239,145 @@ function defineCustomElement() {
1168
1239
  break;
1169
1240
  case "snk-actions-button":
1170
1241
  if (!customElements.get(tagName)) {
1171
- defineCustomElement$x();
1242
+ defineCustomElement$y();
1172
1243
  }
1173
1244
  break;
1174
1245
  case "snk-attach":
1175
1246
  if (!customElements.get(tagName)) {
1176
- defineCustomElement$w();
1247
+ defineCustomElement$x();
1177
1248
  }
1178
1249
  break;
1179
1250
  case "snk-configurator":
1180
1251
  if (!customElements.get(tagName)) {
1181
- defineCustomElement$u();
1252
+ defineCustomElement$v();
1182
1253
  }
1183
1254
  break;
1184
1255
  case "snk-data-exporter":
1185
1256
  if (!customElements.get(tagName)) {
1186
- defineCustomElement$t();
1257
+ defineCustomElement$u();
1187
1258
  }
1188
1259
  break;
1189
1260
  case "snk-data-unit":
1190
1261
  if (!customElements.get(tagName)) {
1191
- defineCustomElement$s();
1262
+ defineCustomElement$t();
1192
1263
  }
1193
1264
  break;
1194
1265
  case "snk-exporter-email-sender":
1195
1266
  if (!customElements.get(tagName)) {
1196
- defineCustomElement$r();
1267
+ defineCustomElement$s();
1197
1268
  }
1198
1269
  break;
1199
1270
  case "snk-expression-group":
1200
1271
  if (!customElements.get(tagName)) {
1201
- defineCustomElement$q();
1272
+ defineCustomElement$r();
1202
1273
  }
1203
1274
  break;
1204
1275
  case "snk-expression-item":
1205
1276
  if (!customElements.get(tagName)) {
1206
- defineCustomElement$p();
1277
+ defineCustomElement$q();
1207
1278
  }
1208
1279
  break;
1209
1280
  case "snk-filter-advanced-mode":
1210
1281
  if (!customElements.get(tagName)) {
1211
- defineCustomElement$n();
1282
+ defineCustomElement$o();
1212
1283
  }
1213
1284
  break;
1214
1285
  case "snk-filter-assistent-mode":
1215
1286
  if (!customElements.get(tagName)) {
1216
- defineCustomElement$m();
1287
+ defineCustomElement$n();
1217
1288
  }
1218
1289
  break;
1219
1290
  case "snk-filter-bar":
1220
1291
  if (!customElements.get(tagName)) {
1221
- defineCustomElement$l();
1292
+ defineCustomElement$m();
1222
1293
  }
1223
1294
  break;
1224
1295
  case "snk-filter-detail":
1225
1296
  if (!customElements.get(tagName)) {
1226
- defineCustomElement$k();
1297
+ defineCustomElement$l();
1227
1298
  }
1228
1299
  break;
1229
1300
  case "snk-filter-field-search":
1230
1301
  if (!customElements.get(tagName)) {
1231
- defineCustomElement$j();
1302
+ defineCustomElement$k();
1232
1303
  }
1233
1304
  break;
1234
1305
  case "snk-filter-item":
1235
1306
  if (!customElements.get(tagName)) {
1236
- defineCustomElement$i();
1307
+ defineCustomElement$j();
1237
1308
  }
1238
1309
  break;
1239
1310
  case "snk-filter-param-config":
1240
1311
  if (!customElements.get(tagName)) {
1241
- defineCustomElement$h();
1312
+ defineCustomElement$i();
1242
1313
  }
1243
1314
  break;
1244
1315
  case "snk-form-summary":
1245
1316
  if (!customElements.get(tagName)) {
1246
- defineCustomElement$f();
1317
+ defineCustomElement$g();
1247
1318
  }
1248
1319
  break;
1249
1320
  case "snk-form-view":
1250
1321
  if (!customElements.get(tagName)) {
1251
- defineCustomElement$e();
1322
+ defineCustomElement$f();
1252
1323
  }
1253
1324
  break;
1254
1325
  case "snk-grid":
1255
1326
  if (!customElements.get(tagName)) {
1256
- defineCustomElement$d();
1327
+ defineCustomElement$e();
1257
1328
  }
1258
1329
  break;
1259
1330
  case "snk-grid-config":
1260
1331
  if (!customElements.get(tagName)) {
1261
- defineCustomElement$c();
1332
+ defineCustomElement$d();
1262
1333
  }
1263
1334
  break;
1264
1335
  case "snk-layout-form-config":
1265
1336
  if (!customElements.get(tagName)) {
1266
- defineCustomElement$b();
1337
+ defineCustomElement$c();
1267
1338
  }
1268
1339
  break;
1269
1340
  case "snk-personalized-filter":
1270
1341
  if (!customElements.get(tagName)) {
1271
- defineCustomElement$a();
1342
+ defineCustomElement$b();
1272
1343
  }
1273
1344
  break;
1274
1345
  case "snk-select-box":
1275
1346
  if (!customElements.get(tagName)) {
1276
- defineCustomElement$9();
1347
+ defineCustomElement$a();
1277
1348
  }
1278
1349
  break;
1279
1350
  case "snk-simple-bar":
1280
1351
  if (!customElements.get(tagName)) {
1281
- defineCustomElement$8();
1352
+ defineCustomElement$9();
1282
1353
  }
1283
1354
  break;
1284
1355
  case "snk-simple-crud":
1285
1356
  if (!customElements.get(tagName)) {
1286
- defineCustomElement$7();
1357
+ defineCustomElement$8();
1287
1358
  }
1288
1359
  break;
1289
1360
  case "snk-simple-form-config":
1290
1361
  if (!customElements.get(tagName)) {
1291
- defineCustomElement$6();
1362
+ defineCustomElement$7();
1292
1363
  }
1293
1364
  break;
1294
1365
  case "snk-taskbar":
1295
1366
  if (!customElements.get(tagName)) {
1296
- defineCustomElement$4();
1367
+ defineCustomElement$5();
1297
1368
  }
1298
1369
  break;
1299
1370
  case "snk-view-representation":
1300
1371
  if (!customElements.get(tagName)) {
1301
- defineCustomElement$3();
1372
+ defineCustomElement$4();
1302
1373
  }
1303
1374
  break;
1304
1375
  case "taskbar-actions-button":
1376
+ if (!customElements.get(tagName)) {
1377
+ defineCustomElement$3();
1378
+ }
1379
+ break;
1380
+ case "taskbar-split-button":
1305
1381
  if (!customElements.get(tagName)) {
1306
1382
  defineCustomElement$2();
1307
1383
  }