diff --git a/src/components/base/BaseSelect.vue b/src/components/base/BaseSelect.vue index b7a5538..6abe91a 100644 --- a/src/components/base/BaseSelect.vue +++ b/src/components/base/BaseSelect.vue @@ -13,22 +13,42 @@ map-options, :clearable="clearable", dropdown-icon="app:down-arrow", - :menu-offset="[0, 8]" + :menu-offset="[0, 8]", + :use-input="useInput", + :placeholder="useInput && placeholder ? placeholder : ''", + @filter="filterFn", + :popup-content-style="popupContentStyle" ) template(v-slot:selected) - span(v-if="!value?.icon", :class="{placeholder: placeholder}") {{ textSelect }} + span(v-if="!value?.icon", :class="placeholderColor") {{ textSelect }} q-icon.selected-icon( v-else, :name="iconSelect", size="24px" ) - template(v-slot:option="scope") + template(v-slot:option="scope", v-if="!customOption") q-item(v-bind="scope.itemProps", style="justify-content: center", v-if="value?.icon") q-item-section(avatar, style="padding: 0px; min-width: 0px") q-icon.icon(:name="scope.opt.icon", size="24px") q-item.item.px-4.py-2(v-bind="scope.itemProps", style="justify-content: center", v-else) q-item-section q-item-label.text-dark.text-base.font-medium {{ scope.opt.label }} + template(v-slot:option="{itemProps, opt}", v-else) + slot( + name="customOption", + :props="itemProps", + :label="opt.label" + :avatar="opt.avatar", + :medcard="opt.medcard" + ) + template(v-slot:prepend, v-if="iconLeft") + slot(name="iconLeft") + template(v-slot:append, v-if="iconRight") + slot(name="iconRight") + template(v-slot:before-options) + slot(name="beforeOptions") + template(v-slot:no-option) + slot(name="noOption") diff --git a/src/pages/medcards/components/MedicalCardSearchHeader.vue b/src/pages/medcards/components/MedicalCardSearchHeader.vue index 4293ff2..2ec8d57 100644 --- a/src/pages/medcards/components/MedicalCardSearchHeader.vue +++ b/src/pages/medcards/components/MedicalCardSearchHeader.vue @@ -1,17 +1,37 @@