Sha256: 84b2160df64f62c3d089ea820cb68350f947bb8b30f7daeb19dc43cb2426f84e
Contents?: true
Size: 1.65 KB
Versions: 8
Compression:
Stored size: 1.65 KB
Contents
# frozen_string_literal: true module Playbook module PbTypeahead class Typeahead include Playbook::Props prop :async, type: Playbook::Props::Boolean, default: false prop :default_options, type: Playbook::Props::HashArray, default: [] prop :get_option_label prop :get_option_value prop :id prop :label prop :load_options prop :name prop :options, type: Playbook::Props::HashArray, default: [] prop :pills, type: Playbook::Props::Boolean, default: false prop :placeholder prop :search_term_minimum_length, default: 3 prop :search_debounce_timeout, default: 250 prop :value partial "pb_typeahead/typeahead" def classname generate_classname("pb_typeahead_kit") end def data Hash(values[:data]).merge( pb_typeahead_kit: true, pb_typeahead_kit_search_term_minimum_length: search_term_minimum_length, pb_typeahead_kit_search_debounce_timeout: search_debounce_timeout ) end def typeahead_with_pills_options base_options = { defaultValue: default_options, id: id, isMulti: true, label: label, options: options, placeholder: placeholder } base_options.merge!({getOptionLabel: get_option_label}) if get_option_label.present? base_options.merge!({getOptionValue: get_option_value}) if get_option_value.present? base_options.merge!({ async: true, loadOptions: load_options, }) if async base_options end end end end
Version data entries
8 entries across 8 versions & 1 rubygems