Delete self contained Thunder Tests
Back to .net8.0 api/v4/InfinityQS ApiExplorerSettings Wafer Counter Color Sorting
This commit is contained in:
164
Server/wwwroot/package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js
vendored
Normal file
164
Server/wwwroot/package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
// dropdown-menu.tsx
|
||||
import { h } from "@stencil/core";
|
||||
export class DropdownMenu {
|
||||
constructor() {
|
||||
this.isOpen = false;
|
||||
this.size = 'l';
|
||||
this.hideTopPadding = false;
|
||||
this.filteredItems = [];
|
||||
}
|
||||
handleMenuFilter(event) {
|
||||
const searchValue = event.detail;
|
||||
this.filterDropdownItems(searchValue);
|
||||
}
|
||||
handleDropdownItemValueEmission(event) {
|
||||
this.ifxDropdownMenuItem.emit(event.detail);
|
||||
}
|
||||
filterDropdownItems(searchValue) {
|
||||
const allItems = Array.from(this.el.querySelectorAll('ifx-dropdown-item'));
|
||||
let dropdownItem, txtValue;
|
||||
let query = searchValue.toUpperCase();
|
||||
for (let i = 0; i < allItems.length; i++) {
|
||||
dropdownItem = allItems[i];
|
||||
txtValue = dropdownItem.textContent || dropdownItem.innerText;
|
||||
if (txtValue.toUpperCase().indexOf(query) > -1) {
|
||||
dropdownItem.setAttribute('hide', false);
|
||||
}
|
||||
else {
|
||||
dropdownItem.setAttribute('hide', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
componentWillUpdate() {
|
||||
this.menuSize.emit(this.size);
|
||||
}
|
||||
componentWillLoad() {
|
||||
this.filteredItems = Array.from(this.el.querySelectorAll('ifx-dropdown-item'));
|
||||
const searchField = this.el.querySelector('ifx-search-field');
|
||||
const dropdownHeader = this.el.querySelector('ifx-dropdown-header');
|
||||
if (searchField || dropdownHeader) {
|
||||
this.hideTopPadding = true;
|
||||
}
|
||||
else
|
||||
this.hideTopPadding = false;
|
||||
}
|
||||
render() {
|
||||
return (h("div", { class: `dropdown-menu
|
||||
${this.isOpen ? 'show' : ''}
|
||||
${this.hideTopPadding ? 'hideTopPadding' : ""}
|
||||
${this.size === 's' ? 'small' : ""}` }, h("slot", null)));
|
||||
}
|
||||
static get is() { return "ifx-dropdown-menu"; }
|
||||
static get encapsulation() { return "shadow"; }
|
||||
static get originalStyleUrls() {
|
||||
return {
|
||||
"$": ["dropdown-menu.scss"]
|
||||
};
|
||||
}
|
||||
static get styleUrls() {
|
||||
return {
|
||||
"$": ["dropdown-menu.css"]
|
||||
};
|
||||
}
|
||||
static get properties() {
|
||||
return {
|
||||
"isOpen": {
|
||||
"type": "boolean",
|
||||
"mutable": false,
|
||||
"complexType": {
|
||||
"original": "boolean",
|
||||
"resolved": "boolean",
|
||||
"references": {}
|
||||
},
|
||||
"required": false,
|
||||
"optional": false,
|
||||
"docs": {
|
||||
"tags": [],
|
||||
"text": ""
|
||||
},
|
||||
"attribute": "is-open",
|
||||
"reflect": false,
|
||||
"defaultValue": "false"
|
||||
},
|
||||
"size": {
|
||||
"type": "string",
|
||||
"mutable": false,
|
||||
"complexType": {
|
||||
"original": "string",
|
||||
"resolved": "string",
|
||||
"references": {}
|
||||
},
|
||||
"required": false,
|
||||
"optional": false,
|
||||
"docs": {
|
||||
"tags": [],
|
||||
"text": ""
|
||||
},
|
||||
"attribute": "size",
|
||||
"reflect": false,
|
||||
"defaultValue": "'l'"
|
||||
}
|
||||
};
|
||||
}
|
||||
static get states() {
|
||||
return {
|
||||
"hideTopPadding": {},
|
||||
"filteredItems": {}
|
||||
};
|
||||
}
|
||||
static get events() {
|
||||
return [{
|
||||
"method": "menuSize",
|
||||
"name": "menuSize",
|
||||
"bubbles": true,
|
||||
"cancelable": true,
|
||||
"composed": true,
|
||||
"docs": {
|
||||
"tags": [],
|
||||
"text": ""
|
||||
},
|
||||
"complexType": {
|
||||
"original": "any",
|
||||
"resolved": "any",
|
||||
"references": {}
|
||||
}
|
||||
}, {
|
||||
"method": "ifxDropdownMenuItem",
|
||||
"name": "ifxDropdownMenuItem",
|
||||
"bubbles": true,
|
||||
"cancelable": true,
|
||||
"composed": true,
|
||||
"docs": {
|
||||
"tags": [],
|
||||
"text": ""
|
||||
},
|
||||
"complexType": {
|
||||
"original": "CustomEvent",
|
||||
"resolved": "CustomEvent<any>",
|
||||
"references": {
|
||||
"CustomEvent": {
|
||||
"location": "global",
|
||||
"id": "global::CustomEvent"
|
||||
}
|
||||
}
|
||||
}
|
||||
}];
|
||||
}
|
||||
static get elementRef() { return "el"; }
|
||||
static get listeners() {
|
||||
return [{
|
||||
"name": "ifxInput",
|
||||
"method": "handleMenuFilter",
|
||||
"target": undefined,
|
||||
"capture": false,
|
||||
"passive": false
|
||||
}, {
|
||||
"name": "ifxDropdownItem",
|
||||
"method": "handleDropdownItemValueEmission",
|
||||
"target": undefined,
|
||||
"capture": false,
|
||||
"passive": false
|
||||
}];
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=dropdown-menu.js.map
|
Reference in New Issue
Block a user