UNPKG

aurelia-materialize-bridge

Version:
315 lines (265 loc) 7.88 kB
import { PLATFORM } from "aurelia-pal"; import { deprecated } from "./aurelia"; /** * Plugin configuration builder */ export class ConfigBuilder { globalResources = []; noWavesAttach: boolean = false; autoButtonWaves: boolean = false; useGlobalResources: boolean = true; lookupSearchingText: string = "Searching..."; lookupNoMatchesText: string = "No Matches"; selectDropdownOptions: Partial<M.DropdownOptions>; useAll(): ConfigBuilder { return this .useAutoComplete() .useBadge() .useBox() .useBreadcrumbs() .useButton() .useCard() .useCarousel() .useCharacterCounter() .useCheckbox() .useChip() .useCollapsible() .useCollection() .useColors() .useDatePicker() .useDropdown() .useFab() .useFile() .useFooter() .useInput() .useLookup() .useModal() .useNavbar() .usePagination() .useParallax() .useProgress() .usePushpin() .useRadio() .useRange() .useScrollSpy() .useSelect() .useSidenav() .useSlider() .useSwitch() .useTabs() .useTapTarget() .useTimePicker() .useTooltip() .useWaitCursor() .useWaves() .useAutoButtonWaves(true) .useValidationContainer() .useWell(); } useAutoComplete(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./autocomplete/autocomplete")); return this; } useBadge(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./badge/badge")); return this; } useBox(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./box/box")); return this; } useBreadcrumbs(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./breadcrumbs/breadcrumbs")); return this; } useButton(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./button/button")); return this; } useCarousel(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./carousel/carousel")); this.globalResources.push(PLATFORM.moduleName("./carousel/carousel-item")); return this; } useCharacterCounter(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./char-counter/char-counter")); return this; } useCard(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./card/card")); return this; } useCheckbox(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./checkbox/checkbox")); return this; } useChip(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./chip/chip")); this.globalResources.push(PLATFORM.moduleName("./chip/chips")); return this; } /** * Use my control */ useClickCounter(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./click-counter/click-counter")); return this; } useCollapsible(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./collapsible/collapsible")); return this; } useCollection(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./collection/collection")); this.globalResources.push(PLATFORM.moduleName("./collection/collection-item")); this.globalResources.push(PLATFORM.moduleName("./collection/collection-header")); this.globalResources.push(PLATFORM.moduleName("./collection/md-collection-selector")); return this; } useColors(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./colors/md-colors")); return this; } @deprecated({error: false, message: "Will be removed soon. Please consider using `useColors`."}) useLegacyColors(): ConfigBuilder { let i = this.globalResources.indexOf("./colors/md-colors"); if (i >= 0) { this.globalResources.splice(i, 1); } this.globalResources.push(PLATFORM.moduleName("./colors/md-colors-legacy")); return this; } useDatePicker(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./datepicker/datepicker")); return this; } useDropdown(): ConfigBuilder { // this.globalResources.push("./dropdown/dropdown-element"); this.globalResources.push(PLATFORM.moduleName("./dropdown/dropdown")); return this; } useFab(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./fab/fab")); return this; } useFile(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./file/file")); return this; } useFooter(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./footer/footer")); return this; } useInput(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./input/input")); this.globalResources.push(PLATFORM.moduleName("./input/input-prefix")); return this; } useLookup(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./lookup/lookup")); return this; } useModal(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./modal/modal")); return this; } useNavbar(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./navbar/navbar")); return this; } usePagination(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./pagination/pagination")); return this; } useParallax(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./parallax/parallax")); return this; } useProgress(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./progress/progress")); return this; } usePushpin(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./pushpin/pushpin")); return this; } useRadio(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./radio/radio")); return this; } useRange(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./range/range")); return this; } useScrollSpy(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./scrollspy/scrollspy")); return this; } useSelect(dropdownOptions?: Partial<M.DropdownOptions>): ConfigBuilder { this.selectDropdownOptions = dropdownOptions; this.globalResources.push(PLATFORM.moduleName("./select/select")); return this; } useSidenav(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./sidenav/sidenav")); this.globalResources.push(PLATFORM.moduleName("./sidenav/sidenav-collapse")); return this; } useSlider(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./slider/slider")); // this.globalResources.push("./slider/slide"); return this; } useSwitch(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./switch/switch")); return this; } useTabs(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./tabs/tabs")); return this; } useTapTarget(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./tap-target/tap-target")); return this; } useTimePicker(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./timepicker/timepicker")); return this; } useTooltip(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./tooltip/tooltip")); return this; } useWaitCursor(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./wait-cursor/wait-cursor")); return this; } useWaves(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./waves/waves")); return this; } useValidationContainer(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./validation/validation-container")); return this; } useWell(): ConfigBuilder { this.globalResources.push(PLATFORM.moduleName("./well/md-well")); return this; } preventWavesAttach(): ConfigBuilder { this.noWavesAttach = true; return this; } useAutoButtonWaves(use: boolean): ConfigBuilder { this.autoButtonWaves = use; return this; } /** * Don't globalize any resources * Allows you to import yourself via <require></require> */ withoutGlobalResources(): ConfigBuilder { this.useGlobalResources = false; return this; } }