reneco-hierarchized-picker 0.4.3-beta.20 → 0.4.3-beta.22
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.
- package/dist/cjs/reneco-hierarchized-picker_2.cjs.entry.js +41 -29
- package/dist/collection/components/hierarchized-picker/hierarchized-picker.css +2 -2
- package/dist/collection/components/hierarchized-picker/hierarchized-picker.js +35 -13
- package/dist/collection/components/treejs/index.js +0 -1
- package/dist/collection/features/keyboard-navigation/keyboard-navigation.js +6 -12
- package/dist/custom-elements/index.js +41 -29
- package/dist/esm/reneco-hierarchized-picker_2.entry.js +41 -29
- package/dist/esm-es5/reneco-hierarchized-picker_2.entry.js +1 -1
- package/dist/reneco-hierarchized-picker/p-73168a50.system.js +1 -1
- package/dist/reneco-hierarchized-picker/p-85df7783.system.entry.js +3 -0
- package/dist/reneco-hierarchized-picker/p-b0ba6526.entry.js +1 -0
- package/dist/reneco-hierarchized-picker/reneco-hierarchized-picker.esm.js +1 -1
- package/package.json +1 -1
- package/dist/reneco-hierarchized-picker/p-0df46cca.system.entry.js +0 -3
- package/dist/reneco-hierarchized-picker/p-cc9ee330.entry.js +0 -1
|
@@ -328,7 +328,6 @@ Tree.prototype.bindEvent = function (ele) {
|
|
|
328
328
|
};
|
|
329
329
|
Tree.prototype.onItemClick = async function (id, rightclick = false) {
|
|
330
330
|
// TODO Temporarily ignores disabled mode for selecting nodes if mode is tree
|
|
331
|
-
console.log("coucou");
|
|
332
331
|
if (this.options.parentApi.isDisabled && this.options.parentApi.optionsManager.getOptions().mode != "tree")
|
|
333
332
|
return;
|
|
334
333
|
const pickerValue = await this.options.parentApi.getValue();
|
|
@@ -18623,36 +18622,31 @@ function setupKeyboardNavigation(component, optionsManager, navigateInTree) {
|
|
|
18623
18622
|
if (component && component.loadedTreeJs && component.loadedTreeJs.liElementsById && component.loadedTreeJs.treeNodes) {
|
|
18624
18623
|
focusNode(component.loadedTreeJs.liElementsById, component.loadedTreeJs.liElementsById[component.loadedTreeJs.treeNodes[focusedNodeIndex].id]);
|
|
18625
18624
|
}
|
|
18626
|
-
//todo, put back ?
|
|
18627
|
-
// if ((component.el as any)._hasKeydownListener) {
|
|
18628
|
-
// return;
|
|
18629
|
-
// }
|
|
18630
|
-
component.el._hasKeydownListener = true;
|
|
18631
18625
|
if (!component._keydownListenerAdded) {
|
|
18632
18626
|
component._keydownListenerAdded = true;
|
|
18633
18627
|
component.el.addEventListener('keydown', (event) => {
|
|
18634
18628
|
var _a, _b;
|
|
18635
|
-
console.log("Navigation 01", event);
|
|
18636
18629
|
event.stopPropagation();
|
|
18637
|
-
console.log("Navigation 02");
|
|
18638
18630
|
const tree = component.loadedTreeJs;
|
|
18639
18631
|
let treeNodesFromTree = findAllTreeNodes(tree.treeNodes, tree.liElementsById);
|
|
18640
|
-
console.log("Navigation 03");
|
|
18641
18632
|
if (!tree || !treeNodesFromTree.length)
|
|
18642
18633
|
return;
|
|
18643
18634
|
let spaceNode = treeNodesFromTree[focusedNodeIndex];
|
|
18644
18635
|
let activeNode = treeNodesFromTree[focusedNodeIndex];
|
|
18645
18636
|
let liElement = tree.liElementsById[activeNode.id];
|
|
18646
18637
|
const handledEvents = ['tab', '0', 'arrowup', 'arrowdown', 'arrowleft', 'arrowright'];
|
|
18647
|
-
console.log("Navigation 04", event.key);
|
|
18648
18638
|
switch (event.key.toLowerCase()) {
|
|
18649
18639
|
case 'tab':
|
|
18650
18640
|
case '0':
|
|
18651
18641
|
event.preventDefault();
|
|
18652
18642
|
{ //(spaceNode?.nodeId) {
|
|
18653
18643
|
component.setNodeAsSelected(spaceNode.nodeId, component.loadedTreeJs, true);
|
|
18654
|
-
|
|
18655
|
-
|
|
18644
|
+
if (optionsManager.getOptions().mode != "tree" && !optionsManager.getOptions().multiple) {
|
|
18645
|
+
setTimeout(() => {
|
|
18646
|
+
component.showTree('hide');
|
|
18647
|
+
// TODO put back? >> focusMainInput(component);
|
|
18648
|
+
}, 100);
|
|
18649
|
+
}
|
|
18656
18650
|
}
|
|
18657
18651
|
break;
|
|
18658
18652
|
case 'arrowup':
|
|
@@ -18692,10 +18686,6 @@ function setupKeyboardNavigation(component, optionsManager, navigateInTree) {
|
|
|
18692
18686
|
}
|
|
18693
18687
|
}
|
|
18694
18688
|
|
|
18695
|
-
// Utility functions
|
|
18696
|
-
function isInsidePicker(component, target) {
|
|
18697
|
-
return target !== null && component.el.contains(target);
|
|
18698
|
-
}
|
|
18699
18689
|
// Focus management
|
|
18700
18690
|
async function focusSearchInput(component) {
|
|
18701
18691
|
const searchInput = component.el.querySelector('search-input input');
|
|
@@ -18747,7 +18737,7 @@ function focusInSearchEvent(component) {
|
|
|
18747
18737
|
function focusOutSearchEvent(component, event) {
|
|
18748
18738
|
}
|
|
18749
18739
|
|
|
18750
|
-
const hierarchizedPickerCss = "reneco-hierarchized-picker .hierarchized-picker-raw-tree-area{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker div:focus{outline:none}reneco-hierarchized-picker .loader{color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black)) !important;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:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA))) !important;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);color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker input:focus-visible{outline:unset !important;outline-color:unset !important;outline-style:unset !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}";
|
|
18740
|
+
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{color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black)) !important;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:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA))) !important;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);color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker input:focus-visible{outline:unset !important;outline-color:unset !important;outline-style:unset !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}";
|
|
18751
18741
|
|
|
18752
18742
|
const HierarchizedPickerComponent = class {
|
|
18753
18743
|
/**
|
|
@@ -18836,15 +18826,39 @@ const HierarchizedPickerComponent = class {
|
|
|
18836
18826
|
const val1 = obj1[key];
|
|
18837
18827
|
const val2 = obj2[key];
|
|
18838
18828
|
if (Array.isArray(val1) && Array.isArray(val2)) {
|
|
18839
|
-
|
|
18829
|
+
// Compare array length
|
|
18830
|
+
if (val1.length !== val2.length) {
|
|
18840
18831
|
diffs.push(fullKey);
|
|
18832
|
+
continue;
|
|
18833
|
+
}
|
|
18834
|
+
// Compare each element deeply
|
|
18835
|
+
for (let i = 0; i < val1.length; i++) {
|
|
18836
|
+
const v1 = val1[i];
|
|
18837
|
+
const v2 = val2[i];
|
|
18838
|
+
if (typeof v1 === 'object' &&
|
|
18839
|
+
v1 !== null &&
|
|
18840
|
+
typeof v2 === 'object' &&
|
|
18841
|
+
v2 !== null) {
|
|
18842
|
+
const subDiffs = this.diffKeys(v1, v2, `${fullKey}[${i}]`);
|
|
18843
|
+
if (subDiffs.length > 0) {
|
|
18844
|
+
diffs.push(fullKey);
|
|
18845
|
+
break; // stop at first mismatch in array
|
|
18846
|
+
}
|
|
18847
|
+
}
|
|
18848
|
+
else if (v1 !== v2) {
|
|
18849
|
+
diffs.push(fullKey);
|
|
18850
|
+
break;
|
|
18851
|
+
}
|
|
18841
18852
|
}
|
|
18842
18853
|
}
|
|
18843
18854
|
else if (val1 &&
|
|
18844
18855
|
val2 &&
|
|
18845
18856
|
typeof val1 === 'object' &&
|
|
18846
18857
|
typeof val2 === 'object') {
|
|
18847
|
-
|
|
18858
|
+
// Recursive deep object comparison
|
|
18859
|
+
const subDiffs = this.diffKeys(val1, val2, fullKey);
|
|
18860
|
+
if (subDiffs.length > 0)
|
|
18861
|
+
diffs.push(...subDiffs);
|
|
18848
18862
|
}
|
|
18849
18863
|
else if (val1 !== val2) {
|
|
18850
18864
|
diffs.push(fullKey);
|
|
@@ -18897,18 +18911,17 @@ const HierarchizedPickerComponent = class {
|
|
|
18897
18911
|
if (oldValue && JSON.stringify(newValue.options) != JSON.stringify(oldValue.options)) {
|
|
18898
18912
|
this.value = [];
|
|
18899
18913
|
}
|
|
18900
|
-
console.log("Setnewoptions 01", newValue, oldValue);
|
|
18901
18914
|
if ((newValue === null || newValue === void 0 ? void 0 : newValue.loading) == 'display' || (newValue && !newValue.loading)) {
|
|
18902
18915
|
if ((oldValue && this.isChangeInOptions(newValue, oldValue)) || !oldValue) {
|
|
18903
18916
|
if (!oldValue) {
|
|
18904
18917
|
oldValue = savedOldValue;
|
|
18905
18918
|
}
|
|
18906
|
-
console.log("Setnewoptions 02");
|
|
18907
18919
|
const propDiffs = this.diffKeys(oldValue, this.optionsManager.initializeOptions(newValue));
|
|
18908
18920
|
const noReloadProps = ["multiple"];
|
|
18909
|
-
|
|
18910
|
-
|
|
18911
|
-
|
|
18921
|
+
const ignoredProps = ["token"];
|
|
18922
|
+
const filteredDiffs = propDiffs.filter(prop => !ignoredProps.includes(prop));
|
|
18923
|
+
if (filteredDiffs.length == 1 && filteredDiffs.some(item => noReloadProps.includes(item))) {
|
|
18924
|
+
const propChanged = filteredDiffs[0];
|
|
18912
18925
|
switch (propChanged) {
|
|
18913
18926
|
case "multiple":
|
|
18914
18927
|
document.querySelectorAll('#tree-area-' + this.componentID + ' .treejs-checkbox').forEach((item) => (item.style.display = (this.theOptions.multiple ? 'inline-block' : 'none')));
|
|
@@ -19229,8 +19242,9 @@ const HierarchizedPickerComponent = class {
|
|
|
19229
19242
|
console.timeEnd = function () { };
|
|
19230
19243
|
}
|
|
19231
19244
|
// Setup component unique ID
|
|
19232
|
-
if (this.optionsManager.getOptions().id)
|
|
19245
|
+
if (this.optionsManager.getOptions().id) {
|
|
19233
19246
|
this.componentID = this.optionsManager.getOptions().id;
|
|
19247
|
+
}
|
|
19234
19248
|
else if (!this.componentID) {
|
|
19235
19249
|
let componentID = (Array.from(document.querySelectorAll('reneco-hierarchized-picker')).indexOf(this.el) + 1);
|
|
19236
19250
|
while (document.querySelectorAll(`#hierarchized-picker-${componentID}`).length > 0) {
|
|
@@ -19573,7 +19587,6 @@ const HierarchizedPickerComponent = class {
|
|
|
19573
19587
|
this.itemContextMenuItemClick.emit(e);
|
|
19574
19588
|
}
|
|
19575
19589
|
setNodeAsSelected(id, treeToUpdate, userClick) {
|
|
19576
|
-
console.log("setNodeAsSelected", id);
|
|
19577
19590
|
// TODO Temporarily ignores disabled mode for selecting nodes if mode is tree
|
|
19578
19591
|
if (((this.isDisabled && this.optionsManager.getOptions().mode != "tree") && this.shownTree && this.setValueOnClick) ||
|
|
19579
19592
|
(this.loadedTreeJs.liElementsById[id] && this.loadedTreeJs.liElementsById[id].classList.value && this.loadedTreeJs.liElementsById[id].classList.value.indexOf('readonly_node') != -1)) {
|
|
@@ -19650,7 +19663,7 @@ const HierarchizedPickerComponent = class {
|
|
|
19650
19663
|
clearAutocomplete();
|
|
19651
19664
|
if (!this.canload || !this.optionsManager.getOptions().displayTree)
|
|
19652
19665
|
return;
|
|
19653
|
-
const isStillInsidePicker = isInsidePicker(this, document.activeElement);
|
|
19666
|
+
const isStillInsidePicker = false; // TODO put back? >> isInsidePicker(this, document.activeElement);
|
|
19654
19667
|
if ((focused === 'hide' || this.isDisabled) && !isStillInsidePicker) {
|
|
19655
19668
|
this.hasFocus = ['hide'];
|
|
19656
19669
|
const elem = document.querySelector('#hierarchized-picker-' + this.componentID + ' input.hierarchized-picker-search');
|
|
@@ -19833,7 +19846,6 @@ const HierarchizedPickerComponent = class {
|
|
|
19833
19846
|
this.translateDataForTree(this.rawDataManager.getData());
|
|
19834
19847
|
}
|
|
19835
19848
|
checkFields(values, allowSetValueOnClick = true) {
|
|
19836
|
-
console.log("checkFields", values);
|
|
19837
19849
|
if (!this.loadedTreeJs)
|
|
19838
19850
|
return;
|
|
19839
19851
|
this.setValueOnClick = allowSetValueOnClick;
|
|
@@ -19963,7 +19975,7 @@ const HierarchizedPickerComponent = class {
|
|
|
19963
19975
|
clickPickerModalArea(this);
|
|
19964
19976
|
} }, index.h("div", { class: "loader", ref: el => {
|
|
19965
19977
|
this.loader = el;
|
|
19966
|
-
} }, index.h("div", { class: "loader-inner" }, "Loading...")), index.h("div", { class: `hierarchized-picker-modal ${!this.ready ? 'hidden' : ''}`, tabindex: ""
|
|
19978
|
+
} }, index.h("div", { class: "loader-inner" }, "Loading...")), index.h("div", { class: `hierarchized-picker-modal ${!this.ready ? 'hidden' : ''}`, tabindex: "0" }, 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' : ''), tabindex: "0", onClick: event => {
|
|
19967
19979
|
clickPickerModalArea(this);
|
|
19968
19980
|
} }, index.h("div", { class: "loader", ref: el => {
|
|
19969
19981
|
this.loader = el;
|
|
@@ -3,9 +3,9 @@ reneco-hierarchized-picker .hierarchized-picker-raw-tree-area {
|
|
|
3
3
|
box-sizing: border-box;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
reneco-hierarchized-picker div:focus {
|
|
6
|
+
/* reneco-hierarchized-picker div:focus {
|
|
7
7
|
outline: none;
|
|
8
|
-
}
|
|
8
|
+
} */
|
|
9
9
|
|
|
10
10
|
reneco-hierarchized-picker .loader {
|
|
11
11
|
color: var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black)) !important;
|
|
@@ -9,7 +9,7 @@ import { RawDataManager } from '../../core/raw-data-manager';
|
|
|
9
9
|
import { OptionsManager } from '../../core/options-manager';
|
|
10
10
|
import { fillTreeWithObject, completeCurrentTreeWithTree, getPropertyFromNode } from '../../features/tree/tree-utils';
|
|
11
11
|
import { displayAutocompleteWithResults, clearAutocomplete } from '../../features/autocomplete/autocomplete';
|
|
12
|
-
import { focusSearchInput, focusMainInput, focusInSearchEvent, focusOutSearchEvent, clickPickerModalArea
|
|
12
|
+
import { focusSearchInput, focusMainInput, focusInSearchEvent, focusOutSearchEvent, clickPickerModalArea } from '../../features/events/focus-handlers';
|
|
13
13
|
import { setupKeyboardNavigation } from '../../features/keyboard-navigation/keyboard-navigation';
|
|
14
14
|
export class HierarchizedPickerComponent {
|
|
15
15
|
/**
|
|
@@ -98,15 +98,39 @@ export class HierarchizedPickerComponent {
|
|
|
98
98
|
const val1 = obj1[key];
|
|
99
99
|
const val2 = obj2[key];
|
|
100
100
|
if (Array.isArray(val1) && Array.isArray(val2)) {
|
|
101
|
-
|
|
101
|
+
// Compare array length
|
|
102
|
+
if (val1.length !== val2.length) {
|
|
102
103
|
diffs.push(fullKey);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
// Compare each element deeply
|
|
107
|
+
for (let i = 0; i < val1.length; i++) {
|
|
108
|
+
const v1 = val1[i];
|
|
109
|
+
const v2 = val2[i];
|
|
110
|
+
if (typeof v1 === 'object' &&
|
|
111
|
+
v1 !== null &&
|
|
112
|
+
typeof v2 === 'object' &&
|
|
113
|
+
v2 !== null) {
|
|
114
|
+
const subDiffs = this.diffKeys(v1, v2, `${fullKey}[${i}]`);
|
|
115
|
+
if (subDiffs.length > 0) {
|
|
116
|
+
diffs.push(fullKey);
|
|
117
|
+
break; // stop at first mismatch in array
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (v1 !== v2) {
|
|
121
|
+
diffs.push(fullKey);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
103
124
|
}
|
|
104
125
|
}
|
|
105
126
|
else if (val1 &&
|
|
106
127
|
val2 &&
|
|
107
128
|
typeof val1 === 'object' &&
|
|
108
129
|
typeof val2 === 'object') {
|
|
109
|
-
|
|
130
|
+
// Recursive deep object comparison
|
|
131
|
+
const subDiffs = this.diffKeys(val1, val2, fullKey);
|
|
132
|
+
if (subDiffs.length > 0)
|
|
133
|
+
diffs.push(...subDiffs);
|
|
110
134
|
}
|
|
111
135
|
else if (val1 !== val2) {
|
|
112
136
|
diffs.push(fullKey);
|
|
@@ -159,18 +183,17 @@ export class HierarchizedPickerComponent {
|
|
|
159
183
|
if (oldValue && JSON.stringify(newValue.options) != JSON.stringify(oldValue.options)) {
|
|
160
184
|
this.value = [];
|
|
161
185
|
}
|
|
162
|
-
console.log("Setnewoptions 01", newValue, oldValue);
|
|
163
186
|
if ((newValue === null || newValue === void 0 ? void 0 : newValue.loading) == 'display' || (newValue && !newValue.loading)) {
|
|
164
187
|
if ((oldValue && this.isChangeInOptions(newValue, oldValue)) || !oldValue) {
|
|
165
188
|
if (!oldValue) {
|
|
166
189
|
oldValue = savedOldValue;
|
|
167
190
|
}
|
|
168
|
-
console.log("Setnewoptions 02");
|
|
169
191
|
const propDiffs = this.diffKeys(oldValue, this.optionsManager.initializeOptions(newValue));
|
|
170
192
|
const noReloadProps = ["multiple"];
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
193
|
+
const ignoredProps = ["token"];
|
|
194
|
+
const filteredDiffs = propDiffs.filter(prop => !ignoredProps.includes(prop));
|
|
195
|
+
if (filteredDiffs.length == 1 && filteredDiffs.some(item => noReloadProps.includes(item))) {
|
|
196
|
+
const propChanged = filteredDiffs[0];
|
|
174
197
|
switch (propChanged) {
|
|
175
198
|
case "multiple":
|
|
176
199
|
document.querySelectorAll('#tree-area-' + this.componentID + ' .treejs-checkbox').forEach((item) => (item.style.display = (this.theOptions.multiple ? 'inline-block' : 'none')));
|
|
@@ -487,8 +510,9 @@ export class HierarchizedPickerComponent {
|
|
|
487
510
|
this.mylog('----- HIERARCHIZED-PICKER DEBUG MODE ON -----');
|
|
488
511
|
}
|
|
489
512
|
// Setup component unique ID
|
|
490
|
-
if (this.optionsManager.getOptions().id)
|
|
513
|
+
if (this.optionsManager.getOptions().id) {
|
|
491
514
|
this.componentID = this.optionsManager.getOptions().id;
|
|
515
|
+
}
|
|
492
516
|
else if (!this.componentID) {
|
|
493
517
|
let componentID = (Array.from(document.querySelectorAll('reneco-hierarchized-picker')).indexOf(this.el) + 1);
|
|
494
518
|
while (document.querySelectorAll(`#hierarchized-picker-${componentID}`).length > 0) {
|
|
@@ -831,7 +855,6 @@ export class HierarchizedPickerComponent {
|
|
|
831
855
|
this.itemContextMenuItemClick.emit(e);
|
|
832
856
|
}
|
|
833
857
|
setNodeAsSelected(id, treeToUpdate, userClick) {
|
|
834
|
-
console.log("setNodeAsSelected", id);
|
|
835
858
|
// TODO Temporarily ignores disabled mode for selecting nodes if mode is tree
|
|
836
859
|
if (((this.isDisabled && this.optionsManager.getOptions().mode != "tree") && this.shownTree && this.setValueOnClick) ||
|
|
837
860
|
(this.loadedTreeJs.liElementsById[id] && this.loadedTreeJs.liElementsById[id].classList.value && this.loadedTreeJs.liElementsById[id].classList.value.indexOf('readonly_node') != -1)) {
|
|
@@ -908,7 +931,7 @@ export class HierarchizedPickerComponent {
|
|
|
908
931
|
clearAutocomplete();
|
|
909
932
|
if (!this.canload || !this.optionsManager.getOptions().displayTree)
|
|
910
933
|
return;
|
|
911
|
-
const isStillInsidePicker = isInsidePicker(this, document.activeElement);
|
|
934
|
+
const isStillInsidePicker = false; // TODO put back? >> isInsidePicker(this, document.activeElement);
|
|
912
935
|
if ((focused === 'hide' || this.isDisabled) && !isStillInsidePicker) {
|
|
913
936
|
this.hasFocus = ['hide'];
|
|
914
937
|
const elem = document.querySelector('#hierarchized-picker-' + this.componentID + ' input.hierarchized-picker-search');
|
|
@@ -1091,7 +1114,6 @@ export class HierarchizedPickerComponent {
|
|
|
1091
1114
|
this.translateDataForTree(this.rawDataManager.getData());
|
|
1092
1115
|
}
|
|
1093
1116
|
checkFields(values, allowSetValueOnClick = true) {
|
|
1094
|
-
console.log("checkFields", values);
|
|
1095
1117
|
if (!this.loadedTreeJs)
|
|
1096
1118
|
return;
|
|
1097
1119
|
this.setValueOnClick = allowSetValueOnClick;
|
|
@@ -1221,7 +1243,7 @@ export class HierarchizedPickerComponent {
|
|
|
1221
1243
|
clickPickerModalArea(this, event);
|
|
1222
1244
|
} }, h("div", { class: "loader", ref: el => {
|
|
1223
1245
|
this.loader = el;
|
|
1224
|
-
} }, h("div", { class: "loader-inner" }, "Loading...")), h("div", { class: `hierarchized-picker-modal ${!this.ready ? 'hidden' : ''}`, tabindex: ""
|
|
1246
|
+
} }, h("div", { class: "loader-inner" }, "Loading...")), h("div", { class: `hierarchized-picker-modal ${!this.ready ? 'hidden' : ''}`, tabindex: "0" }, 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) }), h("ul", { id: "autocomplete-results-area" }), h("div", { id: 'tree-area-' + this.componentID, class: 'hierarchized-picker-tree hierarchized-picker-tree-area ' + this.pickerClass }))))) : (h("div", { class: 'hierarchized-picker-raw-tree-area' + (this.isDisabled ? ' readonly' : ''), tabindex: "0", onClick: event => {
|
|
1225
1247
|
clickPickerModalArea(this, event);
|
|
1226
1248
|
} }, h("div", { class: "loader", ref: el => {
|
|
1227
1249
|
this.loader = el;
|
|
@@ -192,7 +192,6 @@ Tree.prototype.bindEvent = function (ele) {
|
|
|
192
192
|
};
|
|
193
193
|
Tree.prototype.onItemClick = async function (id, rightclick = false) {
|
|
194
194
|
// TODO Temporarily ignores disabled mode for selecting nodes if mode is tree
|
|
195
|
-
console.log("coucou");
|
|
196
195
|
if (this.options.parentApi.isDisabled && this.options.parentApi.optionsManager.getOptions().mode != "tree")
|
|
197
196
|
return;
|
|
198
197
|
const pickerValue = await this.options.parentApi.getValue();
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { focusMainInput } from "../events/focus-handlers";
|
|
2
1
|
let focusedNodeIndex = 0;
|
|
3
2
|
export function setupKeyboardNavigation(component, optionsManager, navigateInTree) {
|
|
4
3
|
if (!optionsManager.getOptions().keyboardNavigation)
|
|
@@ -29,36 +28,31 @@ export function setupKeyboardNavigation(component, optionsManager, navigateInTre
|
|
|
29
28
|
if (component && component.loadedTreeJs && component.loadedTreeJs.liElementsById && component.loadedTreeJs.treeNodes) {
|
|
30
29
|
focusNode(component.loadedTreeJs.liElementsById, component.loadedTreeJs.liElementsById[component.loadedTreeJs.treeNodes[focusedNodeIndex].id]);
|
|
31
30
|
}
|
|
32
|
-
//todo, put back ?
|
|
33
|
-
// if ((component.el as any)._hasKeydownListener) {
|
|
34
|
-
// return;
|
|
35
|
-
// }
|
|
36
|
-
component.el._hasKeydownListener = true;
|
|
37
31
|
if (!component._keydownListenerAdded) {
|
|
38
32
|
component._keydownListenerAdded = true;
|
|
39
33
|
component.el.addEventListener('keydown', (event) => {
|
|
40
34
|
var _a, _b;
|
|
41
|
-
console.log("Navigation 01", event);
|
|
42
35
|
event.stopPropagation();
|
|
43
|
-
console.log("Navigation 02");
|
|
44
36
|
const tree = component.loadedTreeJs;
|
|
45
37
|
let treeNodesFromTree = findAllTreeNodes(tree.treeNodes, tree.liElementsById);
|
|
46
|
-
console.log("Navigation 03");
|
|
47
38
|
if (!tree || !treeNodesFromTree.length)
|
|
48
39
|
return;
|
|
49
40
|
let spaceNode = treeNodesFromTree[focusedNodeIndex];
|
|
50
41
|
let activeNode = treeNodesFromTree[focusedNodeIndex];
|
|
51
42
|
let liElement = tree.liElementsById[activeNode.id];
|
|
52
43
|
const handledEvents = ['tab', '0', 'arrowup', 'arrowdown', 'arrowleft', 'arrowright'];
|
|
53
|
-
console.log("Navigation 04", event.key);
|
|
54
44
|
switch (event.key.toLowerCase()) {
|
|
55
45
|
case 'tab':
|
|
56
46
|
case '0':
|
|
57
47
|
event.preventDefault();
|
|
58
48
|
if (true) { //(spaceNode?.nodeId) {
|
|
59
49
|
component.setNodeAsSelected(spaceNode.nodeId, component.loadedTreeJs, true);
|
|
60
|
-
|
|
61
|
-
|
|
50
|
+
if (optionsManager.getOptions().mode != "tree" && !optionsManager.getOptions().multiple) {
|
|
51
|
+
setTimeout(() => {
|
|
52
|
+
component.showTree('hide');
|
|
53
|
+
// TODO put back? >> focusMainInput(component);
|
|
54
|
+
}, 100);
|
|
55
|
+
}
|
|
62
56
|
}
|
|
63
57
|
break;
|
|
64
58
|
case 'arrowup':
|