gd-bs
Version:
Bootstrap JavaScript, TypeScript and Web Components library.
107 lines (100 loc) • 3.22 kB
TypeScript
/**
* <div id="demo"></div>
* <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/gd-sprest-bs/5.0.3/gd-sprest-bs.min.js"></script>
* <script type="text/javascript">
* // Wait for the window to be loaded
* window.addEventListener("load", function() {
* // Create the list box
* $REST.Components.ListBox({
* el: document.querySelector("#demo"),
* label: "Colors",
* placeholder: "Search Colors",
* items: [
* {
* text: "Red",
* value: "red"
* },
* {
* text: "Blue",
* value: "blue"
* },
* {
* text: "Green",
* value: "green"
* },
* {
* text: "Purple",
* value: "purple"
* },
* {
* text: "Brown",
* value: "brown"
* },
* {
* text: "Yellow",
* value: "yellow"
* },
* {
* text: "Orange",
* value: "orange"
* }
* ]
* });
* });
* </script>
*/
/**
* List Box
*
* ```ts
* import { Components } from "gd-sprest-bs";
*
* // Create the list box
* let el = document.querySelector("#list-box");
* Components.Collapse({
* el: el,
* label: "Colors",
* placeholder: "Search Colors",
* items: [
* { text: "Red", value: "red" },
* { text: "Blue", value: "blue" },
* { text: "Green", value: "green" },
* { text: "Purple", value: "purple" },
* { text: "Brown", value: "brown" },
* { text: "Yellow", value: "yellow" },
* { text: "Orange", value: "orange" }
* ]
* });
* ```
*/
export const ListBox: (props: IListBoxProps, template?: string) => IListBox;
import { IBase, IBaseProps } from "../types";
import { IDropdownItem } from "../dropdown/types";
/**
* List Box
*/
export interface IListBox extends IBase<IListBoxProps> {
/** The element. */
el: HTMLElement;
/** The selected listbox items. */
getValue: () => IDropdownItem | Array<IDropdownItem>;
/** Sets the options */
setOptions: (items: Array<IDropdownItem>) => void;
/** Sets the listbox value. */
setValue: (value?: string | Array<string> | Array<IDropdownItem>) => void;
}
/**
* List Box Properties
*/
export interface IListBoxProps extends IBaseProps<IListBox> {
label?: string;
id?: string;
isReadonly?: boolean;
items: Array<IDropdownItem>;
multi?: boolean;
onLoadData?: () => Array<IDropdownItem> | PromiseLike<Array<IDropdownItem>>;
onChange?: (items: IDropdownItem | Array<IDropdownItem>, ev?: Event) => void;
placeholder?: string;
required?: boolean;
value?: string | Array<string>;
}