reneco-hierarchized-picker 0.4.2 → 0.4.3-beta.10

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 (25) hide show
  1. package/dist/cjs/reneco-hierarchized-picker_2.cjs.entry.js +132 -62
  2. package/dist/collection/components/hierarchized-picker/hierarchized-picker.css +32 -17
  3. package/dist/collection/components/hierarchized-picker/hierarchized-picker.js +84 -19
  4. package/dist/collection/components/search-input/search-input.css +13 -17
  5. package/dist/collection/components/search-input/search-input.js +4 -2
  6. package/dist/collection/components/treejs/index.js +9 -6
  7. package/dist/collection/core/raw-data-manager.js +4 -0
  8. package/dist/collection/features/keyboard-navigation/keyboard-navigation.js +32 -31
  9. package/dist/collection/utils/conf-helper.js +0 -1
  10. package/dist/collection/utils/constants.js +7 -0
  11. package/dist/collection/utils/theme-utils.js +4 -1
  12. package/dist/custom-elements/index.js +132 -62
  13. package/dist/esm/reneco-hierarchized-picker_2.entry.js +132 -62
  14. package/dist/esm-es5/reneco-hierarchized-picker_2.entry.js +2 -2
  15. package/dist/reneco-hierarchized-picker/p-4c2ebe4c.entry.js +1 -0
  16. package/dist/reneco-hierarchized-picker/p-5d560499.system.entry.js +3 -0
  17. package/dist/reneco-hierarchized-picker/p-73168a50.system.js +1 -1
  18. package/dist/reneco-hierarchized-picker/reneco-hierarchized-picker.esm.js +1 -1
  19. package/dist/types/components/hierarchized-picker/hierarchized-picker.d.ts +10 -2
  20. package/dist/types/components.d.ts +4 -0
  21. package/dist/types/features/keyboard-navigation/keyboard-navigation.d.ts +2 -1
  22. package/dist/types/utils/constants.d.ts +7 -0
  23. package/package.json +1 -1
  24. package/dist/reneco-hierarchized-picker/p-a0b09a0d.entry.js +0 -1
  25. package/dist/reneco-hierarchized-picker/p-b9b4b7a6.system.entry.js +0 -3
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-55df525c.js');
6
6
 
7
7
  function applyPickerTheme(theme, defaultTheme) {
8
+ var _a;
8
9
  const docstyle = document.documentElement.style;
9
10
  docstyle.setProperty('--hpicker-theme-palette-primary-main', (theme === null || theme === void 0 ? void 0 : theme.palette.primary.main) || defaultTheme.palette.primary.main);
10
11
  docstyle.setProperty('--hpicker-theme-palette-primary-light', (theme === null || theme === void 0 ? void 0 : theme.palette.primary.light) || defaultTheme.palette.primary.light);
@@ -12,9 +13,11 @@ function applyPickerTheme(theme, defaultTheme) {
12
13
  docstyle.setProperty('--hpicker-theme-palette-background-default', (theme === null || theme === void 0 ? void 0 : theme.palette.background.default) || defaultTheme.palette.background.default);
13
14
  docstyle.setProperty('--hpicker-theme-palette-background-light', (theme === null || theme === void 0 ? void 0 : theme.palette.background.light) || defaultTheme.palette.background.light);
14
15
  docstyle.setProperty('--hpicker-theme-palette-background-dark', (theme === null || theme === void 0 ? void 0 : theme.palette.background.dark) || defaultTheme.palette.background.dark);
16
+ docstyle.setProperty('--hpicker-theme-palette-input-background-color', (theme === null || theme === void 0 ? void 0 : theme.palette.input.background) || defaultTheme.palette.input.background);
17
+ docstyle.setProperty('--hpicker-theme-palette-input-border-style', (theme === null || theme === void 0 ? void 0 : theme.palette.input.borderStyle) || defaultTheme.palette.input.borderStyle);
15
18
  docstyle.setProperty('--hpicker-theme-typography-body-font-size', (theme === null || theme === void 0 ? void 0 : theme.typography.body.fontSize) || defaultTheme.typography.body.fontSize);
16
19
  docstyle.setProperty('--hpicker-theme-typography-body-font-weight', (theme === null || theme === void 0 ? void 0 : theme.typography.body.fontWeight) || defaultTheme.typography.body.fontWeight);
17
- docstyle.setProperty('--hpicker-theme-palette-font-color', (theme === null || theme === void 0 ? void 0 : theme.palette.text.primary) || defaultTheme.palette.text.primary);
20
+ docstyle.setProperty('--hpicker-theme-modal-height', ((_a = theme === null || theme === void 0 ? void 0 : theme.modale) === null || _a === void 0 ? void 0 : _a.height) || defaultTheme.modale.height);
18
21
  }
19
22
 
20
23
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -312,10 +315,10 @@ Tree.prototype.bindEvent = function (ele) {
312
315
  return;
313
316
  const { target } = e;
314
317
  if (target.nodeName === 'SPAN' && (target.classList.contains('treejs-checkbox') || target.classList.contains('treejs-label'))) {
315
- this.onItemClick(target.parentNode.nodeId);
318
+ this.onItemClick(target.parentNode.nodeId, e.button == 2);
316
319
  }
317
320
  else if (target.nodeName === 'LI' && target.classList.contains('treejs-node')) {
318
- this.onItemClick(target.nodeId);
321
+ this.onItemClick(target.nodeId, e.button == 2);
319
322
  }
320
323
  else if (target.nodeName === 'SPAN' && target.classList.contains('treejs-switcher')) {
321
324
  this.onSwitcherClick(target);
@@ -365,13 +368,16 @@ Tree.prototype.bindEvent = function (ele) {
365
368
  }
366
369
  }, false);
367
370
  };
368
- Tree.prototype.onItemClick = function (id) {
371
+ Tree.prototype.onItemClick = async function (id, rightclick = false) {
369
372
  // TODO Temporarily ignores disabled mode for selecting nodes if mode is tree
370
373
  if (this.options.parentApi.isDisabled && this.options.parentApi.optionsManager.getOptions().mode != "tree")
371
374
  return;
372
- if (!this.options.parentApi.theOptions.multiple)
373
- this.emptyNodesCheckStatus();
374
- this.options.parentApi.setNodeAsSelected(id, this, true);
375
+ const pickerValue = await this.options.parentApi.getValue();
376
+ if (!rightclick || !pickerValue || pickerValue.nodeid != id) {
377
+ if (!this.options.parentApi.theOptions.multiple)
378
+ this.emptyNodesCheckStatus();
379
+ this.options.parentApi.setNodeAsSelected(id, this, true);
380
+ }
375
381
  };
376
382
  Tree.prototype.unCheckElement = function (id) {
377
383
  this.setValue(id);
@@ -17901,7 +17907,6 @@ function isInstanceOfIConf(object) {
17901
17907
  toret = false;
17902
17908
  errorToLog = "options.url value '" + object.url + "' doesn't meet interface IConf requirements, is wrongly formated or doesn't match option.source value";
17903
17909
  }
17904
- //TODO allow Function along with string
17905
17910
  if (!((object.source != 'webservice' && !object.token) ||
17906
17911
  (object.source == 'webservice' && object.token && (typeof object.token == 'string' || typeof object.token == 'function')))) {
17907
17912
  toret = false;
@@ -18097,6 +18102,10 @@ const defaultPickerTheme = {
18097
18102
  text: {
18098
18103
  primary: '#000',
18099
18104
  },
18105
+ input: {
18106
+ background: '#fff',
18107
+ borderStyle: 'none'
18108
+ }
18100
18109
  },
18101
18110
  typography: {
18102
18111
  body: {
@@ -18104,6 +18113,9 @@ const defaultPickerTheme = {
18104
18113
  fontWeight: '400',
18105
18114
  },
18106
18115
  },
18116
+ modale: {
18117
+ height: "200px",
18118
+ }
18107
18119
  };
18108
18120
  // const defaultPickerTheme = {
18109
18121
  // palette: {
@@ -18189,6 +18201,10 @@ class RawDataManager {
18189
18201
  async getFromClassification(endpoint, options, loader) {
18190
18202
  let pathSegment = '';
18191
18203
  const queryParams = [];
18204
+ if (options['Reach']) {
18205
+ queryParams.push(`id=${options['Reach'].join('&id=')}`);
18206
+ delete options['Reach'];
18207
+ }
18192
18208
  for (const key in options) {
18193
18209
  if (!options.hasOwnProperty(key))
18194
18210
  continue;
@@ -18626,73 +18642,74 @@ function focusOutSearchEvent(component, event) {
18626
18642
  manageFocusOut(component, event);
18627
18643
  }
18628
18644
 
18629
- function setupKeyboardNavigation(component) {
18645
+ function setupKeyboardNavigation(component, navigateInTree) {
18630
18646
  const treeArea = component.el.querySelector('.hierarchized-picker-tree-area');
18631
18647
  if (!treeArea)
18632
18648
  return;
18633
18649
  let focusedNodeIndex = 0;
18634
- const treeNodes = Array.from(treeArea.querySelectorAll('.treejs-node'));
18635
- function focusNode(index) {
18636
- treeNodes.forEach(node => node.classList.remove('treejs-node__checked'));
18637
- const targetNode = treeNodes[index];
18638
- if (targetNode) {
18639
- targetNode.classList.add('treejs-node__checked');
18640
- targetNode.scrollIntoView({ block: 'nearest' });
18641
- }
18650
+ function focusNode(allLiElements, liElementToFocus) {
18651
+ Object.values(allLiElements).forEach((liNode) => {
18652
+ liNode.classList.remove('treejs-node__focused');
18653
+ });
18654
+ liElementToFocus.classList.add('treejs-node__focused');
18642
18655
  }
18643
18656
  component.el.addEventListener('keydown', (event) => {
18644
- var _a, _b, _c;
18657
+ var _a, _b;
18645
18658
  event.stopPropagation();
18646
18659
  const tree = component.loadedTreeJs;
18647
- if (!tree || !treeNodes.length)
18660
+ const treeNodesFromTree = tree.treeNodes;
18661
+ if (!tree || !treeNodesFromTree.length)
18648
18662
  return;
18663
+ const spaceNode = treeNodesFromTree[focusedNodeIndex];
18664
+ const activeNode = treeNodesFromTree[focusedNodeIndex];
18665
+ const liElement = tree.liElementsById[activeNode.id];
18649
18666
  switch (event.key) {
18650
18667
  case 'Tab':
18668
+ case '0':
18651
18669
  event.preventDefault();
18652
- component.showTree('hide');
18653
- setTimeout(() => focusMainInput(), 10);
18670
+ { //(spaceNode?.nodeId) {
18671
+ component.setNodeAsSelected(spaceNode.nodeId, component.loadedTreeJs, true);
18672
+ component.showTree('hide');
18673
+ setTimeout(() => focusMainInput(), 100);
18674
+ }
18654
18675
  break;
18655
18676
  case 'ArrowUp':
18656
18677
  event.preventDefault();
18657
18678
  focusedNodeIndex = Math.max(focusedNodeIndex - 1, 0);
18658
- focusNode(focusedNodeIndex);
18679
+ const newActiveNodeUp = treeNodesFromTree[focusedNodeIndex];
18680
+ const newLiElementUp = tree.liElementsById[newActiveNodeUp.id];
18681
+ focusNode(tree.liElementsById, newLiElementUp);
18659
18682
  break;
18660
18683
  case 'ArrowDown':
18661
18684
  event.preventDefault();
18662
- focusedNodeIndex = Math.min(focusedNodeIndex + 1, treeNodes.length - 1);
18663
- focusNode(focusedNodeIndex);
18685
+ focusedNodeIndex = Math.min(focusedNodeIndex + 1, treeNodesFromTree.length - 1);
18686
+ const newActiveNodeDown = treeNodesFromTree[focusedNodeIndex];
18687
+ const newLiElementDown = tree.liElementsById[newActiveNodeDown.id];
18688
+ focusNode(tree.liElementsById, newLiElementDown);
18664
18689
  break;
18665
18690
  case 'ArrowLeft':
18666
18691
  event.preventDefault();
18667
- const leftSwitcher = (_a = treeNodes[focusedNodeIndex]) === null || _a === void 0 ? void 0 : _a.querySelector('.treejs-switcher');
18692
+ const leftSwitcher = liElement.querySelector('.treejs-switcher');
18668
18693
  if (leftSwitcher) {
18669
- (_b = component.loadedTreeJs) === null || _b === void 0 ? void 0 : _b.onSwitcherClick(leftSwitcher);
18694
+ (_a = component.loadedTreeJs) === null || _a === void 0 ? void 0 : _a.onSwitcherClick(leftSwitcher);
18670
18695
  component.showTree('hide');
18671
18696
  }
18672
18697
  break;
18673
18698
  case 'ArrowRight':
18674
18699
  event.preventDefault();
18675
- const activeNode = treeNodes[focusedNodeIndex];
18676
- const rightSwitcher = activeNode === null || activeNode === void 0 ? void 0 : activeNode.querySelector('.treejs-switcher');
18700
+ const rightSwitcher = liElement.querySelector('.treejs-switcher');
18677
18701
  if (rightSwitcher) {
18678
- (_c = component.loadedTreeJs) === null || _c === void 0 ? void 0 : _c.onSwitcherClick(rightSwitcher);
18679
- }
18680
- break;
18681
- case '0':
18682
- event.preventDefault();
18683
- const spaceNode = treeNodes[focusedNodeIndex];
18684
- if (spaceNode === null || spaceNode === void 0 ? void 0 : spaceNode.nodeId) {
18685
- component.setNodeAsSelected(spaceNode.nodeId, component.loadedTreeJs, true);
18686
- component.showTree('hide');
18687
- setTimeout(() => focusMainInput(), 10);
18702
+ (_b = component.loadedTreeJs) === null || _b === void 0 ? void 0 : _b.onSwitcherClick(rightSwitcher);
18688
18703
  }
18689
18704
  break;
18690
18705
  }
18706
+ navigateInTree.emit(event.key);
18691
18707
  });
18692
- focusNode(focusedNodeIndex);
18708
+ if (component && component.loadedTreeJs && component.loadedTreeJs.liElementsById && component.loadedTreeJs.treeNodes)
18709
+ setTimeout(() => focusNode(component.loadedTreeJs.liElementsById, component.loadedTreeJs.liElementsById[component.loadedTreeJs.treeNodes[focusedNodeIndex].id]), 100);
18693
18710
  }
18694
18711
 
18695
- const hierarchizedPickerCss = "reneco-hierarchized-picker .hierarchized-picker-raw-tree-area{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader{position:absolute;z-index:1;min-width:100%;min-height:100%;background:#FFFFFF99;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader .loader-inner{background:#FFF;padding:20px;-webkit-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader:not(.loading){display:none}reneco-hierarchized-picker .scrollable{overflow-y:auto;position:relative}reneco-hierarchized-picker .treejs{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--hpicker-theme-typography-tree-font-size, 14px) !important;font-weight:var(--hpicker-theme-typography-tree-font-weight, 400) !important}reneco-hierarchized-picker .treejs *:after,reneco-hierarchized-picker .treejs *:before{-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .treejs>.treejs-node{padding-left:0}reneco-hierarchized-picker .treejs .treejs-nodes{list-style:none;padding-left:20px;overflow:hidden;-webkit-transition:height 150ms ease-out, opacity 150ms ease-out;-o-transition:height 150ms ease-out, opacity 150ms ease-out;transition:height 150ms ease-out, opacity 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-node{cursor:pointer;overflow:hidden;position:relative}reneco-hierarchized-picker .treejs .treejs-node.treejs-placeholder{padding-left:20px}reneco-hierarchized-picker .treejs .treejs-switcher{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative;-webkit-transition:-webkit-transform 150ms ease-out;transition:-webkit-transform 150ms ease-out;-o-transition:transform 150ms ease-out;transition:transform 150ms ease-out;transition:transform 150ms ease-out, -webkit-transform 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-switcher:before{position:absolute;top:8px;left:6px;display:block;content:' ';border:4px solid transparent;border-top:4px solid rgba(0, 0, 0, 0.4);-webkit-transition:border-color 150ms;-o-transition:border-color 150ms;transition:border-color 150ms}reneco-hierarchized-picker .treejs .treejs-switcher:hover:before{border-top:4px solid var(--hpicker-theme-palette-font-color)}reneco-hierarchized-picker .treejs-node__checked>.treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-primary-contrastText) !important}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-switcher{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-nodes{height:0}reneco-hierarchized-picker .treejs .treejs-checkbox{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;cursor:pointer;position:absolute;top:2px;content:' ';display:block;width:16px;height:16px;border:1px solid #d9d9d9;border-radius:2px}reneco-hierarchized-picker .treejs .treejs-checkbox:hover:before{-webkit-box-shadow:0 0 2px 1px #1890ff;box-shadow:0 0 2px 1px #1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:4px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}reneco-hierarchized-picker .treejs .treejs-node__halfchecked{background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c))}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:9px;left:3px;width:10px;height:2px;background-color:#fff}reneco-hierarchized-picker .treejs .treejs-node__disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25)}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox{cursor:not-allowed}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:before{cursor:not-allowed;border-color:#d9d9d9 !important;background-color:#f5f5f5 !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:hover:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-label{vertical-align:middle}reneco-hierarchized-picker .treejs .treejs-node__deprecated>.treejs-label{text-decoration:line-through}reneco-hierarchized-picker .treejs .treejs-node__desaturated>.treejs-label{opacity:.5}reneco-hierarchized-picker .treejs .treejs-node__searchmatch>.treejs-label{font-weight:bolder}reneco-hierarchized-picker .treejs .dragging{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c));display:inline;opacity:.9;padding:11px 0px;display:block}reneco-hierarchized-picker .treejs .dragover{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c))}reneco-hierarchized-picker .treejs .dragover-over::after{content:\"\";display:block;width:2px;height:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-before::after{content:\"\";display:block;height:2px;width:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-after::after{content:\"\";display:block;height:2px;width:100%;position:absolute;bottom:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .fieldError{color:red !important}reneco-hierarchized-picker .hidden{display:none;opacity:0}reneco-hierarchized-picker ul.treejs-nodes:first-child{padding-left:0px !important;margin-top:0px !important;margin-left:0px !important;background-color:var(--hpicker-theme-palette-background-dark)}reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){margin:0 !important;padding-left:15px !important;background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF)))}reneco-hierarchized-picker ul.treejs-nodes{margin-left:15px !important;padding-left:0px !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node ul.treejs-nodes{margin:11px 0 0 0 !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node__close ul.treejs-nodes{margin:0 !important}reneco-hierarchized-picker li.treejs-node__close{background-color:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA)))}reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c));padding-bottom:0px !important}reneco-hierarchized-picker li:not(.treejs-node__close) ul.treejs-nodes li{margin-top:2px !important}reneco-hierarchized-picker ul li:last-child{margin-bottom:0px !important}reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--hpicker-theme-palette-primary-light) !important;color:var(--hpicker-theme-palette-primary-ContrastText, var(--mui-palette-primary-ContrastText, var(--ion-color-primary-contrast, #000)))!important}reneco-hierarchized-picker li.treejs-node{padding:2px 0px;margin-bottom:2px}reneco-hierarchized-picker .treejs-node.readonly_node{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:darkgrey}reneco-hierarchized-picker .treejs-node:not(.readonly_node){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker .hierarchized-picker-container{position:relative;width:100%}reneco-hierarchized-picker .hierarchized-picker-input-area{background-color:transparent !important;display:inline;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}reneco-hierarchized-picker .hierarchized-picker-input-area .input-wrapper{padding-left:10px !important}reneco-hierarchized-picker .hierarchized-picker-input{-ms-flex:2;flex:2}reneco-hierarchized-picker .hierarchized-picker-input.readonly{pointer-events:none;cursor:initial}reneco-hierarchized-picker .hierarchized-picker-input.hierarchized-picker-icon{margin-left:8px}reneco-hierarchized-picker .hierarchized-picker-label{position:stacked;margin-left:5px}reneco-hierarchized-picker .hierarchized-picker-tree-area{width:333px !important;padding-top:48px}reneco-hierarchized-picker .hierarchized-picker-modal-area{background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF))) !important;position:absolute;z-index:10;padding-left:15px;overflow:scroll;top:20px;min-height:100px;max-height:200px;-webkit-box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);border-radius:4px;margin-right:0px !important}reneco-hierarchized-picker .hierarchized-picker-modal{display:inline-block;width:357px}reneco-hierarchized-picker .hierarchized-picker{display:-ms-flexbox;display:flex;width:100%;font-family:'Roboto', sans-serif}reneco-hierarchized-picker .hierarchized-picker-spinner{margin:35px 0px 0px 145px}reneco-hierarchized-picker .reneco:before{position:relative;top:1px}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco{padding:10px 15px}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco:hover{cursor:pointer}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco-close{-webkit-transform:translate(5px, -8px);transform:translate(5px, -8px);color:var(--ion-color-danger, red) !important}reneco-hierarchized-picker .treejs .treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, var(--ion-color-dark-shade, #121212)))}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before,reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;border-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker #autocomplete-results-area{position:absolute;margin-top:48px;background-color:white;left:15px;z-index:10;padding:0px 5px;max-width:340px;max-height:110px;overflow:auto}reneco-hierarchized-picker #autocomplete-results-area li{list-style-type:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;margin:1px}reneco-hierarchized-picker .hierarchized-picker-raw-tree-area li.treejs-node{padding:11px 0px;display:block}reneco-hierarchized-picker input[title]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.hierarchized-picker-raw-tree-area.readonly li.treejs-node .treejs-switcher{pointer-events:all}::-webkit-scrollbar-thumb{background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433)));width:8px;margin:5px;border-radius:5px}::-webkit-scrollbar{background:var(--ion-color-medium-tint, #E0E0E0);width:8px;height:8px;margin:5px;cursor:pointer;border-radius:5px}::-webkit-scrollbar-corner{background-color:var(--ion-color-light-tint, #FFF)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__close{background-color:var(--ion-color-dark-tint, #424242);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--ion-color-dark, #212121);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--ion-color-background, var(--hpicker-theme-palette-background-default, rgba(221, 169, 37, 0.18)));color:var(--ion-color-primary-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker .treejs-switcher:before{border-top-color:var(--ion-color-dark-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked .treejs-switcher:before{color:var(--ion-color-light-contrast, #111111) !important}[class$=\"-dark\"] reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){background-color:var(--ion-color-light-contrast, #111111) !important}";
18712
+ const hierarchizedPickerCss = "reneco-hierarchized-picker .hierarchized-picker-raw-tree-area{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader{position:absolute;z-index:1;min-width:100%;min-height:100%;background:#FFFFFF99;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader .loader-inner{background:#FFF;padding:20px;-webkit-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader:not(.loading){display:none}reneco-hierarchized-picker .scrollable{overflow-y:auto;position:relative}reneco-hierarchized-picker .treejs{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--hpicker-theme-typography-tree-font-size, 14px) !important;font-weight:var(--hpicker-theme-typography-tree-font-weight, 400) !important}reneco-hierarchized-picker .treejs *:after,reneco-hierarchized-picker .treejs *:before{-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .treejs>.treejs-node{padding-left:0}reneco-hierarchized-picker .treejs .treejs-nodes{list-style:none;padding-left:20px;overflow:hidden;-webkit-transition:height 150ms ease-out, opacity 150ms ease-out;-o-transition:height 150ms ease-out, opacity 150ms ease-out;transition:height 150ms ease-out, opacity 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-node{cursor:pointer;overflow:hidden;position:relative}reneco-hierarchized-picker .treejs .treejs-node.treejs-placeholder{padding-left:20px}reneco-hierarchized-picker .treejs .treejs-switcher{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative;-webkit-transition:-webkit-transform 150ms ease-out;transition:-webkit-transform 150ms ease-out;-o-transition:transform 150ms ease-out;transition:transform 150ms ease-out;transition:transform 150ms ease-out, -webkit-transform 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-switcher:before{position:absolute;top:8px;left:6px;display:block;content:' ';border:4px solid transparent;border-top:4px solid rgba(0, 0, 0, 0.4);-webkit-transition:border-color 150ms;-o-transition:border-color 150ms;transition:border-color 150ms}reneco-hierarchized-picker .treejs .treejs-switcher:hover:before{border-top:4px solid var(--hpicker-theme-palette-font-color)}reneco-hierarchized-picker .treejs-node__checked>.treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-primary-contrastText) !important}reneco-hierarchized-picker .treejs-node__focused{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-switcher{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-nodes{height:0}reneco-hierarchized-picker .treejs .treejs-checkbox{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;cursor:pointer;position:absolute;top:2px;content:' ';display:block;width:16px;height:16px;border:1px solid #d9d9d9;border-radius:2px}reneco-hierarchized-picker .treejs .treejs-checkbox:hover:before{-webkit-box-shadow:0 0 2px 1px #1890ff;box-shadow:0 0 2px 1px #1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:4px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}reneco-hierarchized-picker .treejs .treejs-node__halfchecked{background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c))}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:9px;left:3px;width:10px;height:2px;background-color:#fff}reneco-hierarchized-picker .treejs .treejs-node__disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25)}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox{cursor:not-allowed}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:before{cursor:not-allowed;border-color:#d9d9d9 !important;background-color:#f5f5f5 !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:hover:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-label{vertical-align:middle}reneco-hierarchized-picker .treejs .treejs-node__deprecated>.treejs-label{text-decoration:line-through}reneco-hierarchized-picker .treejs .treejs-node__desaturated>.treejs-label{opacity:.5}reneco-hierarchized-picker .treejs .treejs-node__searchmatch>.treejs-label{font-weight:bolder}reneco-hierarchized-picker .treejs .dragging{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c));display:inline;opacity:.9;padding:11px 0px;display:block}reneco-hierarchized-picker .treejs .dragover{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c))}reneco-hierarchized-picker .treejs .dragover-over::after{content:\"\";display:block;width:2px;height:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-before::after{content:\"\";display:block;height:2px;width:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-after::after{content:\"\";display:block;height:2px;width:100%;position:absolute;bottom:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .fieldError{color:red !important}reneco-hierarchized-picker .hidden{display:none;opacity:0}reneco-hierarchized-picker ul.treejs-nodes:first-child{padding-left:0px !important;margin-top:0px !important;margin-left:0px !important;background-color:var(--hpicker-theme-palette-background-dark)}reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){margin:0 !important;padding-left:15px !important;background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF)))}reneco-hierarchized-picker ul.treejs-nodes{margin-left:15px !important;padding-left:0px !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node ul.treejs-nodes{margin:11px 0 0 0 !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node__close ul.treejs-nodes{margin:0 !important}reneco-hierarchized-picker li.treejs-node__close{background-color:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA)))}reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c));padding-bottom:0px !important}reneco-hierarchized-picker li:not(.treejs-node__close) ul.treejs-nodes li{margin-top:2px !important}reneco-hierarchized-picker ul li:last-child{margin-bottom:0px !important}reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--hpicker-theme-palette-primary-light) !important;color:var(--hpicker-theme-palette-primary-ContrastText, var(--mui-palette-primary-ContrastText, var(--ion-color-primary-contrast, #000)))!important}reneco-hierarchized-picker li.treejs-node{padding:2px 0px;margin-bottom:2px}reneco-hierarchized-picker .treejs-node.readonly_node{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:darkgrey}reneco-hierarchized-picker .treejs-node:not(.readonly_node){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker .hierarchized-picker-container{position:relative;width:100%}reneco-hierarchized-picker .hierarchized-picker-input-area{background-color:transparent !important;display:-ms-flexbox;display:flex;width:100%;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}reneco-hierarchized-picker .hierarchized-picker-input-area .input-wrapper{padding-left:10px !important}reneco-hierarchized-picker .hierarchized-picker-input{-ms-flex:2;flex:2}reneco-hierarchized-picker .hierarchized-picker-input input{width:100%}reneco-hierarchized-picker .hierarchized-picker-input.readonly{pointer-events:none;cursor:initial}reneco-hierarchized-picker .hierarchized-picker-label{position:stacked;margin-left:5px}reneco-hierarchized-picker .hierarchized-picker-tree-area{padding-top:10px}reneco-hierarchized-picker .hierarchized-picker-modal-area{position:absolute;width:100%;background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF))) !important;z-index:10;overflow:scroll;top:20px;min-height:100px;max-height:var(--hpicker-theme-modal-height, \"200px\") !important;-webkit-box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);border-radius:4px;margin-right:0px !important}reneco-hierarchized-picker .hierarchized-picker-modal-area.display-modale-top{bottom:30px !important;top:unset !important}reneco-hierarchized-picker .hierarchized-picker-modal{padding:0px 15px}reneco-hierarchized-picker .hierarchized-picker{display:-ms-flexbox;display:flex;width:100%;font-family:'Roboto', sans-serif}reneco-hierarchized-picker .hierarchized-picker-spinner{margin:35px 0px 0px 145px}reneco-hierarchized-picker .reneco:before{position:relative;top:1px}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco:hover{cursor:pointer}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco-close{color:var(--ion-color-danger, red) !important;padding-left:10px}reneco-hierarchized-picker .treejs .treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, var(--ion-color-dark-shade, #121212)))}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before,reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;border-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker #autocomplete-results-area{position:absolute;margin-top:48px;background-color:white;left:15px;z-index:10;padding:0px 5px;max-width:340px;max-height:110px;overflow:auto}reneco-hierarchized-picker #autocomplete-results-area li{list-style-type:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;margin:1px}reneco-hierarchized-picker .hierarchized-picker-raw-tree-area li.treejs-node{padding:11px 0px;display:block}reneco-hierarchized-picker input[title]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}reneco-hierarchized-picker input{background-color:var(--hpicker-theme-palette-input-background-color, #eeeeee);border-style:var(--hpicker-theme-palette-input-border-style, solid)}reneco-hierarchized-picker input:focus-visible{outline:none !important}.hierarchized-picker-raw-tree-area.readonly li.treejs-node .treejs-switcher{pointer-events:all}::-webkit-scrollbar-thumb{background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433)));width:8px;margin:5px;border-radius:5px}::-webkit-scrollbar{background:var(--ion-color-medium-tint, #E0E0E0);width:8px;height:8px;margin:5px;cursor:pointer;border-radius:5px}::-webkit-scrollbar-corner{background-color:var(--ion-color-light-tint, #FFF)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__close{background-color:var(--ion-color-dark-tint, #424242);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--ion-color-dark, #212121);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--ion-color-background, var(--hpicker-theme-palette-background-default, rgba(221, 169, 37, 0.18)));color:var(--ion-color-primary-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker .treejs-switcher:before{border-top-color:var(--ion-color-dark-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked .treejs-switcher:before{color:var(--ion-color-light-contrast, #111111) !important}[class$=\"-dark\"] reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){background-color:var(--ion-color-light-contrast, #111111) !important}";
18696
18713
 
18697
18714
  const HierarchizedPickerComponent = class {
18698
18715
  /**
@@ -18778,7 +18795,7 @@ const HierarchizedPickerComponent = class {
18778
18795
  // this.rawData = null;
18779
18796
  // }
18780
18797
  // this.ready = false;
18781
- //NOTE: This could work in a synchronous environment =>
18798
+ //NOTE: This could work in a synchronous environment =>
18782
18799
  // reloadCurrentValues() {
18783
18800
  // let savedValues = this.value;
18784
18801
  // this.value = [];
@@ -18787,6 +18804,10 @@ const HierarchizedPickerComponent = class {
18787
18804
  // });
18788
18805
  // ---------------------------------------
18789
18806
  // this.theOptions = newValue;
18807
+ if (oldValue && JSON.stringify(newValue.options) == JSON.stringify(oldValue.options)) {
18808
+ this.ready = true;
18809
+ return;
18810
+ }
18790
18811
  if (typeof newValue == 'string')
18791
18812
  newValue = JSON.parse(newValue);
18792
18813
  if (typeof oldValue == 'string')
@@ -18872,6 +18893,9 @@ const HierarchizedPickerComponent = class {
18872
18893
  this.itemDropped = index.createEvent(this, "itemDropped", 7);
18873
18894
  this.itemContextMenuItemClick = index.createEvent(this, "itemContextMenuItemClick", 7);
18874
18895
  this.searchResult = index.createEvent(this, "searchResult", 7);
18896
+ this.navigateInTree = index.createEvent(this, "navigateInTree", 7);
18897
+ this.modaleHeight = 200;
18898
+ this.modalePosition = 'bottom';
18875
18899
  this.canload = true; // Determines wether the component may be loaded
18876
18900
  this.ready = false; // State to determine if all the elements of the component have been loaded
18877
18901
  this.searchToDisplay = 0; // Counter to trigger the research on proper time
@@ -18879,6 +18903,33 @@ const HierarchizedPickerComponent = class {
18879
18903
  this.lastSearchMatchCounter = 0; // Counter of number of matches for last search
18880
18904
  this.setValueOnClick = true; // Tells wether we edit the picker value on click in the tree
18881
18905
  this.mylog = console.log; // Custom log function for debug purposes
18906
+ this.getShortenedFullpath = (realFullpath) => {
18907
+ var _a, _b, _c, _d;
18908
+ let toret = realFullpath;
18909
+ try {
18910
+ const property_nodeid = (this.optionsManager.getOptions().origin == 'classification' ? "startNode" : "StartNodeID");
18911
+ const property_value = this.optionsManager.getOptions().options[property_nodeid];
18912
+ if (property_value in ["0", 0])
18913
+ return toret;
18914
+ if (isNumeric(property_value)) {
18915
+ if (this.optionsManager.getOptions().origin == 'classification') {
18916
+ const { Translations, Properties } = this.rawDataManager.getData();
18917
+ const currentLanguage = this.optionsManager.getOptions().language;
18918
+ toret = ((_b = (_a = Translations[currentLanguage]) === null || _a === void 0 ? void 0 : _a.translated_name) !== null && _b !== void 0 ? _b : Properties === null || Properties === void 0 ? void 0 : Properties.System_Name) + realFullpath.replace(((_d = (_c = Translations[currentLanguage]) === null || _c === void 0 ? void 0 : _c.translated_fullpath) !== null && _d !== void 0 ? _d : Properties === null || Properties === void 0 ? void 0 : Properties.System_Fullpath), "");
18919
+ }
18920
+ else {
18921
+ const { fullpath, fullpathTranslated, title, valueTranslated } = this.rawDataManager.getData();
18922
+ toret = (valueTranslated !== null && valueTranslated !== void 0 ? valueTranslated : title) + realFullpath.replace((fullpathTranslated !== null && fullpathTranslated !== void 0 ? fullpathTranslated : fullpath), "");
18923
+ }
18924
+ }
18925
+ else
18926
+ this.errorToLog = "Error in getFullpath : startnode is not number";
18927
+ }
18928
+ catch (error) {
18929
+ this.errorToLog = "Error in getFullpath " + error.toString();
18930
+ }
18931
+ return toret;
18932
+ };
18882
18933
  this.options = undefined;
18883
18934
  this.valueChangeCallback = undefined;
18884
18935
  this.disabled = undefined;
@@ -18927,7 +18978,7 @@ const HierarchizedPickerComponent = class {
18927
18978
  }
18928
18979
  componentDidLoad() {
18929
18980
  this.mylog('----- componentDidLoad beginning -----');
18930
- setupKeyboardNavigation(this);
18981
+ setupKeyboardNavigation(this, this.navigateInTree);
18931
18982
  focusMainInput();
18932
18983
  }
18933
18984
  displayWhenLoaded() {
@@ -19048,7 +19099,9 @@ const HierarchizedPickerComponent = class {
19048
19099
  this.canload = result.toret;
19049
19100
  this.errorToLog = result.errorToLog;
19050
19101
  await this.initComponent();
19051
- applyPickerTheme(this.optionsManager.getOptions().theme, defaultPickerTheme);
19102
+ let defaultPickerThemeForInit = defaultPickerTheme;
19103
+ defaultPickerTheme.modale.height = this.modaleHeight + "px";
19104
+ applyPickerTheme(this.optionsManager.getOptions().theme, defaultPickerThemeForInit);
19052
19105
  // Displays option values
19053
19106
  this.mylog(this.optionsManager.getOptions());
19054
19107
  window.addEventListener('click', (evt) => {
@@ -19142,9 +19195,9 @@ const HierarchizedPickerComponent = class {
19142
19195
  }
19143
19196
  }
19144
19197
  // TODO > Celine would rather like the context (thesaurus or position) to be extracted another way
19145
- getContextualApiURL() {
19198
+ getContextualApiURL(init = false) {
19146
19199
  const { options, url } = this.optionsManager.getOptions();
19147
- if (options.Reach) {
19200
+ if (init && options.Reach) {
19148
19201
  // Use a base URL for relative paths
19149
19202
  const base = window.location.origin; // fallback for relative URLs
19150
19203
  const parsedUrl = new URL(url, base);
@@ -19152,18 +19205,18 @@ const HierarchizedPickerComponent = class {
19152
19205
  let dynamicType = pathSegments[pathSegments.length - 2];
19153
19206
  if (['thesaurus', 'position'].indexOf(dynamicType) == -1)
19154
19207
  dynamicType = pathSegments[pathSegments.length - 1];
19155
- const newPathname = `/api/v1/classification/reach/${dynamicType}/${options.Reach}`;
19156
- this.optionsManager.dropReach();
19208
+ const newPathname = `/api/v1/classification/reach/${dynamicType}`;
19157
19209
  return `${parsedUrl.origin}${newPathname}`;
19158
19210
  }
19159
19211
  return url;
19160
19212
  }
19161
- getContextualApiParams(options = null, search = null) {
19213
+ getContextualApiParams(options = null, search = null, init = false) {
19162
19214
  if (!options)
19163
19215
  options = this.optionsManager.getOptions().options;
19164
19216
  let optionsToReturn = Object.assign({}, options);
19165
- if (options.Reach) {
19217
+ if (!init)
19166
19218
  delete optionsToReturn.Reach;
19219
+ if (optionsToReturn.Reach) {
19167
19220
  if ("startNode" in optionsToReturn) {
19168
19221
  optionsToReturn.startingnode = optionsToReturn.startNode;
19169
19222
  delete optionsToReturn.startNode;
@@ -19328,9 +19381,11 @@ const HierarchizedPickerComponent = class {
19328
19381
  this.ignoreOptionsChanges = false;
19329
19382
  },
19330
19383
  });
19331
- Object.values(myTree.liElementsById).forEach((el) => {
19332
- el.classList.remove('treejs-node__searchmatch');
19333
- });
19384
+ if (this.searchResultData.length == 0) {
19385
+ Object.values(myTree.liElementsById).forEach((el) => {
19386
+ el.classList.remove('treejs-node__searchmatch');
19387
+ });
19388
+ }
19334
19389
  this.loadedTreeJs = myTree;
19335
19390
  this.collapseAllNodes();
19336
19391
  // TODO Make something that makes sense, this is a temporary quick fix :
@@ -19468,6 +19523,14 @@ const HierarchizedPickerComponent = class {
19468
19523
  const previousShownTree = this.shownTree;
19469
19524
  this.shownTree = this.hasFocus.length > 0;
19470
19525
  if (this.shownTree && !previousShownTree) {
19526
+ console.log("component value", document.querySelector('#hierarchized-picker-input-' + this.componentID));
19527
+ console.log("shouldOpenModalAbove", this.shouldOpenModalAbove(document.querySelector('#hierarchized-picker-input-' + this.componentID), this.modaleHeight));
19528
+ if (this.shouldOpenModalAbove(document.querySelector('#hierarchized-picker-input-' + this.componentID), this.modaleHeight)) {
19529
+ this.modalePosition = 'top';
19530
+ }
19531
+ else {
19532
+ this.modalePosition = 'bottom';
19533
+ }
19471
19534
  focusSearchInput(this);
19472
19535
  }
19473
19536
  }
@@ -19513,8 +19576,8 @@ const HierarchizedPickerComponent = class {
19513
19576
  if (!value)
19514
19577
  value = this.value;
19515
19578
  this.displayedValue = value.map(item => {
19516
- var _a;
19517
- return (_a = (this.optionsManager.getOptions().isFullpath ? item.fullpathTranslated : item.shortpathTranslated)) !== null && _a !== void 0 ? _a : `Node ${item.nodeid}`;
19579
+ var _a, _b;
19580
+ return (_b = (this.optionsManager.getOptions().isFullpath ? this.getShortenedFullpath((_a = item.fullpathTranslated) !== null && _a !== void 0 ? _a : item.fullpath) : item.shortpathTranslated)) !== null && _b !== void 0 ? _b : `Node ${item.nodeid}`;
19518
19581
  }).join(';');
19519
19582
  }
19520
19583
  // Search a value in the tree and triggers a search when necessary
@@ -19575,8 +19638,8 @@ const HierarchizedPickerComponent = class {
19575
19638
  loadDataForTree(init, loader) {
19576
19639
  if (this.optionsManager.getOptions().source == 'webservice') {
19577
19640
  if (this.optionsManager.getOptions().origin == 'classification') {
19578
- const contextualApiParams = this.getContextualApiParams();
19579
- const contextualApiURL = this.getContextualApiURL();
19641
+ const contextualApiParams = this.getContextualApiParams(null, null, true);
19642
+ const contextualApiURL = this.getContextualApiURL(true);
19580
19643
  this.rawDataManager.getFromClassification(contextualApiURL, contextualApiParams, loader).then((data) => {
19581
19644
  this.rawData = data;
19582
19645
  if (init) {
@@ -19701,9 +19764,14 @@ const HierarchizedPickerComponent = class {
19701
19764
  return "No selection";
19702
19765
  }
19703
19766
  return this.value
19704
- .map(item => { var _a, _b, _c; return (_c = (_b = (_a = item.fullpath) !== null && _a !== void 0 ? _a : item.fullpathTranslated) !== null && _b !== void 0 ? _b : item.shortpathTranslated) !== null && _c !== void 0 ? _c : `Node ${item.nodeid}`; })
19767
+ .map(item => { var _a, _b; return (_b = (_a = this.getShortenedFullpath(item.fullpathTranslated)) !== null && _a !== void 0 ? _a : item.fullpath) !== null && _b !== void 0 ? _b : `Node ${item.nodeid}`; })
19705
19768
  .join('; ');
19706
19769
  }
19770
+ shouldOpenModalAbove(inputElement, modaleHeight) {
19771
+ const inputRect = inputElement.getBoundingClientRect();
19772
+ const spaceLeft = window.innerHeight - inputRect.y;
19773
+ return spaceLeft < modaleHeight;
19774
+ }
19707
19775
  render() {
19708
19776
  return this.optionsManager.getOptions() ? (index.h("div", { id: 'hierarchized-picker-' + this.componentID, class: 'hierarchized-picker ' + (this.isDisabled ? 'readonly-mode' : '') }, this.optionsManager.getOptions().mode == 'input' ? (index.h("div", { class: "hierarchized-picker-container" }, index.h("div", { style: { display: 'none' }, ref: el => {
19709
19777
  this.loader = el;
@@ -19719,11 +19787,11 @@ const HierarchizedPickerComponent = class {
19719
19787
  } }, index.h("input", { class: "native-input sc-ion-input-md", "aria-labelledby": "ion-input-13-lbl", autocapitalize: "off", autocomplete: "off", autocorrect: "off", name: "ion-input-13", placeholder: "", readonly: "", spellcheck: "false", type: "text", value: this.displayedValue, title: this.getFullpathTooltip() })), this.displayedValue && !this.isDisabled && this.canload ? index.h("span", { class: "reneco reneco-close", onClick: () => this.clearPicker() }) : ''), index.h("div", { ref: el => {
19720
19788
  // Uncomment if you want the modale of picker in input mode to scroll to selected node on openning >>>
19721
19789
  this.scrollable = el;
19722
- }, class: 'hierarchized-picker-modal-area ' + (!this.shownTree ? ' hidden ' : ''), onClick: event => {
19790
+ }, class: `hierarchized-picker-modal-area ${!this.shownTree ? ' hidden ' : ''} ${this.modalePosition == 'top' ? "display-modale-top" : ""}`, onClick: event => {
19723
19791
  clickPickerModalArea(this);
19724
19792
  } }, index.h("div", { class: "loader", ref: el => {
19725
19793
  this.loader = el;
19726
- } }, index.h("div", { class: "loader-inner" }, "Loading...")), index.h("div", { class: 'hierarchized-picker-modal ' + (!this.ready ? 'hidden' : '') }, index.h("search-input", { placeholder: getLanguageValue(this.optionsManager.getOptions().searchPlaceholder, this.optionsManager.getOptions().language, defaultLanguage), onInputFocus: () => focusInSearchEvent(this), onInputBlur: () => focusOutSearchEvent(this, event), onSearch: (event) => this.search(event.detail) }), index.h("ul", { id: "autocomplete-results-area" }), index.h("div", { id: 'tree-area-' + this.componentID, class: 'hierarchized-picker-tree hierarchized-picker-tree-area ' + this.pickerClass }))))) : (index.h("div", { class: 'hierarchized-picker-raw-tree-area' + (this.isDisabled ? ' readonly' : ''), onClick: event => {
19794
+ } }, index.h("div", { class: "loader-inner" }, "Loading...")), index.h("div", { class: `hierarchized-picker-modal ${!this.ready ? 'hidden' : ''}` }, index.h("search-input", { placeholder: getLanguageValue(this.optionsManager.getOptions().searchPlaceholder, this.optionsManager.getOptions().language, defaultLanguage), onInputFocus: () => focusInSearchEvent(this), onInputBlur: () => focusOutSearchEvent(this, event), onSearch: (event) => this.search(event.detail) }), index.h("ul", { id: "autocomplete-results-area" }), index.h("div", { id: 'tree-area-' + this.componentID, class: 'hierarchized-picker-tree hierarchized-picker-tree-area ' + this.pickerClass }))))) : (index.h("div", { class: 'hierarchized-picker-raw-tree-area' + (this.isDisabled ? ' readonly' : ''), onClick: event => {
19727
19795
  clickPickerModalArea(this);
19728
19796
  } }, index.h("div", { class: "loader", ref: el => {
19729
19797
  this.loader = el;
@@ -19743,7 +19811,7 @@ const HierarchizedPickerComponent = class {
19743
19811
  };
19744
19812
  HierarchizedPickerComponent.style = hierarchizedPickerCss;
19745
19813
 
19746
- const searchInputCss = ".search-input-container{width:100%;margin:0}.search-input{width:100%;border:none}.search-input:focus{border:none !important;outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .hierarchized-picker-input-area .input-wrapper{padding-left:10px !important}reneco-hierarchized-picker .hierarchized-picker-input input,reneco-hierarchized-picker .hierarchized-picker-search input{padding-left:5px !important;text-overflow:ellipsis !important;border:0;background:transparent;outline:none;font-size:var(--hpicker-theme-typography-body-font-size, var(--mui-typography-body-font-size, 14px)) !important;font-weight:var(--hpicker-theme-typography-body-font-weight, var(--mui-typography-body-font-weight, 400)) !important}reneco-hierarchized-picker .hierarchized-picker-search input{width:90%;color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, var(--ion-color-light-tint, #fff))) !important}reneco-hierarchized-picker .hierarchized-picker-search{background-color:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-medium-tint, #E0E0E0)));position:absolute !important;width:333px !important;margin-top:10px;border-radius:4px;padding:8.5px}reneco-hierarchized-picker #searchInTree{padding:8.5px 8px;background:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, var(--ion-color-background, rgba(221, 169, 37, 0.18))));border:none !important;border-radius:4px}reneco-hierarchized-picker #searchInTree:focus{border:none !important;outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}";
19814
+ const searchInputCss = ".search-input-container{display:-ms-flexbox;display:flex;gap:8px;margin-top:10px}.search-input-container .reneco-search{margin-top:3px}.search-input-container input{border-radius:4px;padding:5px}.search-input{width:100%;border:none}.search-input:focus{border:none !important;outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .hierarchized-picker-input-area .input-wrapper{padding-left:10px !important}reneco-hierarchized-picker .hierarchized-picker-input input,reneco-hierarchized-picker .hierarchized-picker-search input{font-size:var(--hpicker-theme-typography-body-font-size, var(--mui-typography-body-font-size, 14px)) !important;font-weight:var(--hpicker-theme-typography-body-font-weight, var(--mui-typography-body-font-weight, 400)) !important}reneco-hierarchized-picker .hierarchized-picker-search input{color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, var(--ion-color-light-tint, #fff))) !important}reneco-hierarchized-picker #searchInTree{padding:8.5px 8px;background:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, var(--ion-color-background, rgba(221, 169, 37, 0.18))));border:none !important;border-radius:4px}reneco-hierarchized-picker #searchInTree:focus{border:none !important;outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}";
19747
19815
 
19748
19816
  const SearchInput = class {
19749
19817
  constructor(hostRef) {
@@ -19779,9 +19847,11 @@ const SearchInput = class {
19779
19847
  }
19780
19848
  }
19781
19849
  render() {
19782
- return (index.h("div", { id: "hierarchized-picker-input-search-",
19850
+ return (index.h("div", { id: "hierarchized-picker-input-search",
19783
19851
  // TODO: need component ID ?
19784
- class: "search-input-container reneco reneco-search", ref: (el) => (this.rootElement = el) }, index.h("input", { ref: (el) => (this.inputElement = el), type: "text", class: "native-input search-input hierarchized-picker-search reneco reneco-search sc-ion-input-md-h sc-ion-input-md-s md", placeholder: this.placeholder, onFocus: () => this.handleFocus(), onBlur: (event) => this.handleBlur(event), onInput: (event) => this.handleInput(event) })));
19852
+ class: "search-input-container", ref: (el) => (this.rootElement = el) }, index.h("div", { class: "reneco reneco-search" }), index.h("input", { ref: (el) => (this.inputElement = el), type: "text", class: "native-input sc-ion-input-md-h sc-ion-input-md-s md search-input hierarchized-picker-search",
19853
+ //class="native-input search-input hierarchized-picker-search sc-ion-input-md-h sc-ion-input-md-s md"
19854
+ placeholder: this.placeholder, onFocus: () => this.handleFocus(), onBlur: (event) => this.handleBlur(event), onInput: (event) => this.handleInput(event) })));
19785
19855
  }
19786
19856
  };
19787
19857
  SearchInput.style = searchInputCss;
@@ -91,6 +91,11 @@ reneco-hierarchized-picker .treejs {
91
91
  reneco-hierarchized-picker .treejs-node__checked > .treejs-switcher:before {
92
92
  border-top: 4px solid var(--hpicker-theme-palette-primary-contrastText) !important;
93
93
  }
94
+ reneco-hierarchized-picker .treejs-node__focused {
95
+ text-decoration: underline;
96
+ text-decoration-thickness: 2px;
97
+ text-underline-offset: 2px;
98
+ }
94
99
  reneco-hierarchized-picker .treejs .treejs-node__close > .treejs-switcher {
95
100
  -webkit-transform: rotate(-90deg);
96
101
  -ms-transform: rotate(-90deg);
@@ -332,7 +337,8 @@ reneco-hierarchized-picker .hierarchized-picker-container{
332
337
 
333
338
  reneco-hierarchized-picker .hierarchized-picker-input-area {
334
339
  background-color: transparent !important;
335
- display: inline;
340
+ display: flex;
341
+ width: 100%;
336
342
  flex-direction : row;
337
343
  align-items : center
338
344
  }
@@ -345,36 +351,36 @@ reneco-hierarchized-picker .hierarchized-picker-input{
345
351
  flex: 2;
346
352
  }
347
353
 
354
+ reneco-hierarchized-picker .hierarchized-picker-input input{
355
+ width: 100%;
356
+ }
357
+
348
358
  reneco-hierarchized-picker .hierarchized-picker-input.readonly{
349
359
  pointer-events: none;
350
360
  cursor: initial;
351
361
  }
352
362
 
353
- reneco-hierarchized-picker .hierarchized-picker-input.hierarchized-picker-icon{
354
- margin-left: 8px;
355
- }
356
-
357
363
  reneco-hierarchized-picker .hierarchized-picker-label{
358
364
  position: stacked;
359
365
  margin-left: 5px;
360
366
  }
361
367
 
362
368
  reneco-hierarchized-picker .hierarchized-picker-tree-area{
363
- width: 333px !important;
364
- padding-top: 48px;
369
+ padding-top: 10px;
365
370
  }
366
371
 
367
372
  reneco-hierarchized-picker .hierarchized-picker-modal-area{
368
- background-color: var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF))) !important;
369
373
  position: absolute;
374
+ width: 100%;
375
+
376
+ background-color: var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF))) !important;
370
377
  z-index: 10;
371
- padding-left: 15px;
372
378
  overflow: scroll;
373
379
 
374
380
  top: 20px;
375
381
 
376
382
  min-height: 100px;
377
- max-height: 200px;
383
+ max-height: var(--hpicker-theme-modal-height, "200px") !important;
378
384
 
379
385
  box-shadow: 0 0px 15px 0 rgba(0, 0, 0, 0.2);
380
386
  border-radius: 4px;
@@ -382,9 +388,13 @@ reneco-hierarchized-picker .hierarchized-picker-modal-area{
382
388
  margin-right: 0px !important;
383
389
  }
384
390
 
391
+ reneco-hierarchized-picker .hierarchized-picker-modal-area.display-modale-top{
392
+ bottom: 30px !important;
393
+ top: unset !important;
394
+ }
395
+
385
396
  reneco-hierarchized-picker .hierarchized-picker-modal{
386
- display: inline-block;
387
- width : 357px
397
+ padding: 0px 15px;
388
398
  }
389
399
 
390
400
  reneco-hierarchized-picker .hierarchized-picker{
@@ -402,16 +412,12 @@ reneco-hierarchized-picker .reneco:before{
402
412
  top: 1px;
403
413
  }
404
414
 
405
- /* ICON BUTTONS */
406
- reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco{
407
- padding: 10px 15px;
408
- }
409
415
  reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco:hover{
410
416
  cursor: pointer;
411
417
  }
412
418
  reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco-close{
413
- transform: translate(5px, -8px);
414
419
  color : var(--ion-color-danger, red) !important;
420
+ padding-left: 10px;
415
421
  }
416
422
 
417
423
  /* ICON DROPDOWN */
@@ -465,6 +471,15 @@ reneco-hierarchized-picker input[title] {
465
471
  white-space: nowrap;
466
472
  }
467
473
 
474
+ reneco-hierarchized-picker input {
475
+ background-color: var(--hpicker-theme-palette-input-background-color, #eeeeee);
476
+ border-style: var(--hpicker-theme-palette-input-border-style, solid);
477
+ }
478
+
479
+ reneco-hierarchized-picker input:focus-visible {
480
+ outline: none !important;
481
+ }
482
+
468
483
  /* TODO For now, the readonly status is ignored for the mode tree, probably need a rework sometime */
469
484
  /* .hierarchized-picker-raw-tree-area.readonly li.treejs-node{
470
485
  cursor: initial;