mirror of
https://github.com/Combodo/iTop.git
synced 2026-08-10 07:48:19 +02:00
N°8772 - Form dependencies manager implementation
- Form SDK implementation - Basic Forms - Dynamics Forms - Basic Blocks + Data Model Block - Form Compilation - Turbo integration
This commit is contained in:
25
node_modules/tom-select/src/plugins/optgroup_columns/plugin.scss
generated
vendored
Normal file
25
node_modules/tom-select/src/plugins/optgroup_columns/plugin.scss
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
.#{$select-ns}-dropdown.plugin-optgroup_columns {
|
||||
.ts-dropdown-content{
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.optgroup {
|
||||
border-right: 1px solid #f2f2f2;
|
||||
border-top: 0 none;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.optgroup:last-child {
|
||||
border-right: 0 none;
|
||||
}
|
||||
|
||||
.optgroup::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.optgroup-header {
|
||||
border-top: 0 none;
|
||||
}
|
||||
}
|
||||
59
node_modules/tom-select/src/plugins/optgroup_columns/plugin.ts
generated
vendored
Normal file
59
node_modules/tom-select/src/plugins/optgroup_columns/plugin.ts
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
/**
|
||||
* Plugin: "optgroup_columns" (Tom Select.js)
|
||||
* Copyright (c) contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
||||
* file except in compliance with the License. You may obtain a copy of the License at:
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under
|
||||
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
||||
* ANY KIND, either express or implied. See the License for the specific language
|
||||
* governing permissions and limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
import type TomSelect from '../../tom-select.ts';
|
||||
import * as constants from '../../constants.ts';
|
||||
import { parentMatch, nodeIndex } from '../../vanilla.ts';
|
||||
|
||||
export default function(this:TomSelect) {
|
||||
var self = this;
|
||||
|
||||
var orig_keydown = self.onKeyDown;
|
||||
|
||||
self.hook('instead','onKeyDown',(evt:KeyboardEvent)=>{
|
||||
var index, option, options, optgroup;
|
||||
|
||||
if( !self.isOpen || !(evt.keyCode === constants.KEY_LEFT || evt.keyCode === constants.KEY_RIGHT)) {
|
||||
return orig_keydown.call(self,evt);
|
||||
}
|
||||
|
||||
self.ignoreHover = true;
|
||||
optgroup = parentMatch(self.activeOption,'[data-group]');
|
||||
index = nodeIndex(self.activeOption,'[data-selectable]');
|
||||
|
||||
if( !optgroup ){
|
||||
return;
|
||||
}
|
||||
|
||||
if( evt.keyCode === constants.KEY_LEFT ){
|
||||
optgroup = optgroup.previousSibling;
|
||||
} else {
|
||||
optgroup = optgroup.nextSibling;
|
||||
}
|
||||
|
||||
if( !optgroup ){
|
||||
return;
|
||||
}
|
||||
|
||||
options = (<HTMLOptGroupElement>optgroup).querySelectorAll('[data-selectable]');
|
||||
option = options[ Math.min(options.length - 1, index) ] as HTMLElement;
|
||||
|
||||
if( option ){
|
||||
self.setActiveOption(option);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user