mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-05-12 12:21:50 +00:00
Refactor dropdown component
This commit is contained in:
parent
d5d34e1cc4
commit
fb927e12ba
76 changed files with 321 additions and 194 deletions
enterprise/web-frontend/modules/baserow_enterprise
builder/components/elements
components/teams
integrations/localBaserow/components/userSources
premium/web-frontend/modules/baserow_premium/components/field
web-frontend
modules
builder/components
FontFamilySelector.vue
dataSource
elements/components/forms
VisibilityForm.vue
general
ColumnElementForm.vueHeadingElementForm.vueInputTextElementForm.vueLinkNavigationSelectionForm.vueTableElementForm.vue
style
page/settings
theme
userSource
workflowAction
core
assets/scss/components
components
ColorPickerContext.vueDropdown.vuePaginatedDropdown.vuePicker.vue
ai
integrations
onboarding
services
settings
workflowActions
workspace
mixins
pages
database/components
docs
field
FieldCollaboratorDropdown.vueFieldDateSubForm.vueFieldDurationSubForm.vueFieldForm.vueFieldLinkRowSubForm.vueFieldNumberSubForm.vueFieldRatingSubForm.vueFieldRollupSubForm.vueFieldSelectOptionsDropdown.vueFieldSelectTargetFieldSubForm.vueFieldSelectThroughFieldSubForm.vue
row
table
view
ViewFieldConditionItem.vueViewFilterFormOperator.vueViewFilterTypeCollaborators.vueViewFilterTypeFileTypeDropdown.vueViewFilterTypeLinkRow.vueViewFilterTypeMultiStepDate.vueViewFilterTypeMultipleSelectOptions.vueViewFilterTypeSelectOptions.vueViewGroupByContext.vueViewSortContext.vue
form
webhook
integrations/localBaserow/components/services
stories
Checkbox.stories.mdxDropdown.stories.mdxFormGroup.stories.mdxFormInput.stories.mdxFormTextarea.stories.mdxRadio.stories.mdxRadioButton.stories.mdxRadioGroup.stories.mdxSwitchInput.stories.mdx
test/unit
core/components/__snapshots__
database/components/view/__snapshots__
|
@ -12,7 +12,7 @@
|
|||
required
|
||||
class="margin-bottom-2"
|
||||
>
|
||||
<Dropdown v-model="values.user_source_id" :show-search="false" small>
|
||||
<Dropdown v-model="values.user_source_id" :show-search="false">
|
||||
<DropdownItem
|
||||
v-for="userSource in userSources"
|
||||
:key="userSource.id"
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
v-model="values.default_role"
|
||||
:show-search="false"
|
||||
:fixed-items="true"
|
||||
small
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="role in roles"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
class="local-baserow-user-source-form__table-selector"
|
||||
:databases="integration.context_data.databases"
|
||||
:display-view-dropdown="false"
|
||||
dropdown-sizes="large"
|
||||
dropdown-size="large"
|
||||
/>
|
||||
|
||||
<p>{{ $t('localBaserowUserSourceForm.description') }}</p>
|
||||
|
@ -22,6 +22,7 @@
|
|||
:placeholder="
|
||||
$t('localBaserowUserSourceForm.emailFieldLabelPlaceholder')
|
||||
"
|
||||
size="large"
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="field in emailFields"
|
||||
|
@ -46,6 +47,7 @@
|
|||
fixed-items
|
||||
:disabled="!selectedTable"
|
||||
:placeholder="$t('localBaserowUserSourceForm.nameFieldPlaceholder')"
|
||||
size="large"
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="field in nameFields"
|
||||
|
@ -63,12 +65,14 @@
|
|||
<FormGroup
|
||||
:label="$t('localBaserowUserSourceForm.roleFieldLabel')"
|
||||
small-label
|
||||
required
|
||||
>
|
||||
<Dropdown
|
||||
v-model="values.role_field_id"
|
||||
fixed-items
|
||||
:disabled="!selectedTable"
|
||||
:placeholder="$t('localBaserowUserSourceForm.roleFieldPlaceholder')"
|
||||
size="large"
|
||||
>
|
||||
<DropdownItem
|
||||
key="use-default-role"
|
||||
|
|
|
@ -18,12 +18,9 @@
|
|||
<Dropdown
|
||||
v-model="values.ai_file_field_id"
|
||||
class="dropdown--floating"
|
||||
:class="{
|
||||
'dropdown--error': $v.values.ai_file_field_id.$error,
|
||||
}"
|
||||
:error="$v.values.ai_file_field_id.$error"
|
||||
:fixed-items="true"
|
||||
:show-search="false"
|
||||
small
|
||||
@hide="$v.values.ai_file_field_id.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<Dropdown :value="value" fixed-items small @input="$emit('input', $event)">
|
||||
<Dropdown :value="value" fixed-items @input="$emit('input', $event)">
|
||||
<DropdownItem
|
||||
v-for="fontFamily in fontFamilies"
|
||||
:key="fontFamily.getType()"
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
</p>
|
||||
<Dropdown
|
||||
:value="value"
|
||||
small
|
||||
class="data-source-dropdown"
|
||||
@input="$emit('input', $event)"
|
||||
>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<Dropdown
|
||||
v-model="values.type"
|
||||
fixed-items
|
||||
class="dropdown--small data-source-form__type-dropdown"
|
||||
class="data-source-form__type-dropdown"
|
||||
:placeholder="$t('dataSourceForm.servicePlaceholder')"
|
||||
>
|
||||
<template
|
||||
|
@ -33,7 +33,6 @@
|
|||
:integrations="integrations"
|
||||
:disabled="!values.type"
|
||||
:integration-type="serviceType?.integrationType"
|
||||
small
|
||||
/>
|
||||
<ButtonIcon icon="iconoir-bin" @click="$emit('delete')" />
|
||||
</div>
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
<Dropdown
|
||||
v-model="selectedRoleType"
|
||||
:placeholder="$t('visibilityForm.roleTypesHint')"
|
||||
small
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="(value, key) in roleTypeOptions"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
small-label
|
||||
:label="$t('columnElementForm.columnAmountTitle')"
|
||||
>
|
||||
<Dropdown v-model="values.column_amount" :show-search="false" small>
|
||||
<Dropdown v-model="values.column_amount" :show-search="false">
|
||||
<DropdownItem
|
||||
v-for="columnAmount in columnAmounts"
|
||||
:key="columnAmount.value"
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
:label="$t('headingElementForm.levelTitle')"
|
||||
class="margin-bottom-2"
|
||||
>
|
||||
<Dropdown v-model="values.level" :show-search="false" small>
|
||||
<Dropdown v-model="values.level" :show-search="false">
|
||||
<DropdownItem
|
||||
v-for="level in levels"
|
||||
:key="level.value"
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
required
|
||||
class="margin-bottom-2"
|
||||
>
|
||||
<Dropdown v-model="values.validation_type" :show-search="true" small>
|
||||
<Dropdown v-model="values.validation_type" :show-search="true">
|
||||
<DropdownItem
|
||||
v-for="validationType in validationTypes"
|
||||
:key="validationType.name"
|
||||
|
@ -113,7 +113,7 @@
|
|||
required
|
||||
class="margin-bottom-2"
|
||||
>
|
||||
<Dropdown v-model="values.input_type" :show-search="false" small>
|
||||
<Dropdown v-model="values.input_type" :show-search="false">
|
||||
<DropdownItem
|
||||
v-for="inputType in inputTypes"
|
||||
:key="inputType.name"
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
class="margin-bottom-2"
|
||||
required
|
||||
>
|
||||
<Dropdown v-model="navigateTo" :show-search="false" small>
|
||||
<template #value>
|
||||
<Dropdown v-model="navigateTo" :show-search="false">
|
||||
<template #selectedValue>
|
||||
<template v-if="destinationPage">
|
||||
{{ destinationPage.name }}
|
||||
<span
|
||||
|
@ -20,6 +20,7 @@
|
|||
$t('linkNavigationSelection.navigateToCustom')
|
||||
}}</span>
|
||||
</template>
|
||||
|
||||
<DropdownItem
|
||||
v-for="pageItem in pages"
|
||||
:key="pageItem.id"
|
||||
|
|
|
@ -169,7 +169,6 @@
|
|||
<Dropdown
|
||||
:value="field.type"
|
||||
:show-search="false"
|
||||
small
|
||||
@input="changeFieldType(field, $event)"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
required
|
||||
class="margin-bottom-2"
|
||||
>
|
||||
<Dropdown v-model="values.style_width" small>
|
||||
<Dropdown v-model="values.style_width">
|
||||
<DropdownItem
|
||||
v-for="type in Object.values(WIDTH_TYPES)"
|
||||
:key="type.value"
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<div class="page-settings-path-params__dropdown">
|
||||
<Dropdown
|
||||
:value="pathParam.type"
|
||||
small
|
||||
:disabled="disabled"
|
||||
@input="$emit('update', pathParam.name, $event)"
|
||||
>
|
||||
|
|
|
@ -101,7 +101,6 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="values.image_constraint"
|
||||
small
|
||||
fixed-items
|
||||
:show-search="true"
|
||||
class="flex-grow-1"
|
||||
|
|
|
@ -6,11 +6,13 @@
|
|||
required
|
||||
small-label
|
||||
class="margin-bottom-2"
|
||||
size="large"
|
||||
>
|
||||
<Dropdown
|
||||
v-model="$v.values.type.$model"
|
||||
:show-search="false"
|
||||
class="user-source-settings__user-source-type"
|
||||
size="large"
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="userSourceType in userSourceTypes"
|
||||
|
@ -33,6 +35,7 @@
|
|||
:application="builder"
|
||||
:integrations="integrations"
|
||||
:integration-type="currentUserSourceType?.integrationType"
|
||||
size="large"
|
||||
/>
|
||||
</FormGroup>
|
||||
|
||||
|
|
|
@ -25,9 +25,11 @@
|
|||
:application="builder"
|
||||
:integrations="integrations"
|
||||
:integration-type="userSourceType.integrationType"
|
||||
size="large"
|
||||
/>
|
||||
</FormGroup>
|
||||
</FormRow>
|
||||
|
||||
<component
|
||||
:is="userSourceType.formComponent"
|
||||
v-if="integration"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
class="margin-bottom-2"
|
||||
>
|
||||
<div class="control__elements">
|
||||
<Dropdown v-model="values.data_source_id" :show-search="false" small>
|
||||
<Dropdown v-model="values.data_source_id" :show-search="false">
|
||||
<DropdownItem
|
||||
v-for="dataSource in dataSources"
|
||||
:key="dataSource.id"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
box-sizing: border-box;
|
||||
color: $palette-neutral-1200;
|
||||
|
||||
@include fixed-height(44px, 13px);
|
||||
@include fixed-height(36px, 13px);
|
||||
@include rounded($rounded);
|
||||
@include flex-align-items(4px);
|
||||
|
||||
|
@ -28,9 +28,8 @@
|
|||
border-color: $palette-red-600;
|
||||
}
|
||||
|
||||
.dropdown--tiny & {
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
.dropdown--large & {
|
||||
@include fixed-height(44px, 13px);
|
||||
}
|
||||
|
||||
.dropdown--disabled & {
|
||||
|
@ -39,12 +38,6 @@
|
|||
cursor: not-allowed;
|
||||
border-color: $palette-neutral-600;
|
||||
}
|
||||
|
||||
.dropdown.dropdown--small & {
|
||||
padding: 8px 12px;
|
||||
|
||||
@include fixed-height(36px, 13px);
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown__selected-text {
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
v-model="type"
|
||||
class="dropdown--floating color-picker-context__color-type"
|
||||
:show-search="false"
|
||||
small
|
||||
>
|
||||
<DropdownItem name="Hex" :value="COLOR_NOTATIONS.HEX"></DropdownItem>
|
||||
<DropdownItem name="RGB" :value="COLOR_NOTATIONS.RGB"></DropdownItem>
|
||||
|
@ -65,11 +64,7 @@
|
|||
v-if="Object.keys(variables).length > 0"
|
||||
class="color-picker-context__variables"
|
||||
>
|
||||
<Dropdown
|
||||
:value="selectedVariable?.name || ''"
|
||||
small
|
||||
@input="setVariable"
|
||||
>
|
||||
<Dropdown :value="selectedVariable?.name || ''" @input="setVariable">
|
||||
<DropdownItem name="Custom" value=""></DropdownItem>
|
||||
<DropdownItem
|
||||
v-for="variable in variables"
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
:class="{
|
||||
'dropdown--floating': !showInput,
|
||||
'dropdown--disabled': disabled,
|
||||
'dropdown--small': small,
|
||||
'dropdown--large': size === 'large',
|
||||
'dropdown--error': error,
|
||||
}"
|
||||
:tabindex="realTabindex"
|
||||
@focusin="show()"
|
||||
|
@ -12,7 +13,7 @@
|
|||
>
|
||||
<a v-if="showInput" class="dropdown__selected" @click="show()">
|
||||
<template v-if="hasValue()">
|
||||
<slot name="value">
|
||||
<slot name="selectedValue">
|
||||
<template v-if="multiple">
|
||||
<span
|
||||
class="dropdown__selected-text"
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
<template>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
:class="{
|
||||
'dropdown--floating': !showInput,
|
||||
'dropdown--disabled': disabled,
|
||||
'dropdown--large': size === 'large',
|
||||
'dropdown--error': error,
|
||||
}"
|
||||
:tabindex="realTabindex"
|
||||
@focusin="show()"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div class="dropdown" :class="{ 'dropdown--small': small }">
|
||||
<div class="dropdown" :class="{ 'dropdown--large': !small }">
|
||||
<a
|
||||
ref="pickerLink"
|
||||
class="dropdown__selected"
|
||||
|
|
|
@ -9,12 +9,9 @@
|
|||
<Dropdown
|
||||
v-model="values.ai_generative_ai_type"
|
||||
class="dropdown--floating"
|
||||
:class="{
|
||||
'dropdown--error': $v.values.ai_generative_ai_type.$error,
|
||||
}"
|
||||
:error="$v.values.ai_generative_ai_type.$errors"
|
||||
:fixed-items="true"
|
||||
:show-search="false"
|
||||
small
|
||||
@hide="$v.values.ai_generative_ai_type.$touch()"
|
||||
@change="$refs.aiModel.select(aIModelsPerType[0])"
|
||||
>
|
||||
|
@ -37,12 +34,9 @@
|
|||
ref="aiModel"
|
||||
v-model="values.ai_generative_ai_model"
|
||||
class="dropdown--floating"
|
||||
:class="{
|
||||
'dropdown--error': $v.values.ai_generative_ai_model.$error,
|
||||
}"
|
||||
:error="$v.values.ai_generative_ai_model.$error"
|
||||
:fixed-items="true"
|
||||
:show-search="false"
|
||||
small
|
||||
@hide="$v.values.ai_generative_ai_model.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<Dropdown
|
||||
:value="value"
|
||||
fixed-items
|
||||
small
|
||||
class="integration-dropdown"
|
||||
:size="size"
|
||||
:disabled="disabled || !integrationType"
|
||||
:placeholder="
|
||||
!integrationType
|
||||
|
@ -72,10 +72,10 @@ export default {
|
|||
required: false,
|
||||
default: false,
|
||||
},
|
||||
small: {
|
||||
type: Boolean,
|
||||
size: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: false,
|
||||
default: 'regular',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -55,7 +55,8 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="country"
|
||||
:class="{ 'dropdown--error': $v.country.$error }"
|
||||
:error="$v.country.$error"
|
||||
size="large"
|
||||
@hide="$v.country.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
<template>
|
||||
<div>
|
||||
test1
|
||||
<p v-show="value === null" class="margin-bottom-1">
|
||||
<slot name="chooseValueState"></slot>
|
||||
</p>
|
||||
<Dropdown
|
||||
:value="value"
|
||||
:small="small"
|
||||
:size="small ? 'regular' : 'large'"
|
||||
:placeholder="placeholder"
|
||||
:show-search="true"
|
||||
@input="$emit('input', $event)"
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
</FormGroup>
|
||||
|
||||
<FormGroup :label="$t('accountForm.languageLabel')" small-label required>
|
||||
<Dropdown v-model="values.language" :show-search="false">
|
||||
<Dropdown v-model="values.language" :show-search="false" size="large">
|
||||
<DropdownItem
|
||||
v-for="locale in $i18n.locales"
|
||||
:key="locale.code"
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
:value="workflowActionType.getType()"
|
||||
:show-search="false"
|
||||
:disabled="disabled"
|
||||
small
|
||||
@change="$emit('change', $event)"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
class="workspace-invite-form__role-selector-dropdown"
|
||||
:show-search="false"
|
||||
fixed-items
|
||||
small
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="(role, index) in roles"
|
||||
|
|
|
@ -20,46 +20,77 @@ export default {
|
|||
}
|
||||
},
|
||||
props: {
|
||||
/**
|
||||
* The size of the dropdown.
|
||||
*/
|
||||
size: {
|
||||
type: String,
|
||||
required: false,
|
||||
validator: function (value) {
|
||||
return ['regular', 'large'].includes(value)
|
||||
},
|
||||
default: 'regular',
|
||||
},
|
||||
/**
|
||||
* The value of the dropdown. This can be a single value or an array of values if
|
||||
* the multiple property is set to true.
|
||||
*/
|
||||
value: {
|
||||
type: [String, Number, Boolean, Object, Array],
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
/**
|
||||
* A string that is used to filter the dropdown items.
|
||||
*/
|
||||
searchText: {
|
||||
type: [String, null],
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
/**
|
||||
* The dropdown placeholder that is shown when no value is selected.
|
||||
*/
|
||||
placeholder: {
|
||||
type: [String, null],
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
/**
|
||||
* Wether or not to show the search input field.
|
||||
*/
|
||||
showSearch: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true,
|
||||
},
|
||||
/**
|
||||
* Wether or not to show the input field. This is different from the search input.
|
||||
*/
|
||||
showInput: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true,
|
||||
},
|
||||
/**
|
||||
* Wether or not to show the footer in the dropdown.
|
||||
*/
|
||||
showFooter: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
/**
|
||||
* Wether or not the dropdown is disabled.
|
||||
*/
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
small: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
/**
|
||||
* The tabindex of the dropdown.
|
||||
*/
|
||||
tabindex: {
|
||||
type: Number,
|
||||
required: false,
|
||||
|
@ -84,6 +115,9 @@ export default {
|
|||
required: false,
|
||||
default: false,
|
||||
},
|
||||
/**
|
||||
* If true, the dropdown will allow multiple values to be selected.
|
||||
*/
|
||||
multiple: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
|
@ -100,6 +134,13 @@ export default {
|
|||
required: false,
|
||||
default: null,
|
||||
},
|
||||
/* Error prop is used to show the dropdown in error state.
|
||||
*/
|
||||
error: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
@ -285,43 +285,6 @@
|
|||
</div>
|
||||
</FormGroup>
|
||||
|
||||
<FormGroup label="Dropdown small" required class="margin-bottom-2">
|
||||
<div style="width: 200px">
|
||||
<Dropdown v-model="dropdown" small>
|
||||
<DropdownItem name="Choice 1" value="choice-1"></DropdownItem>
|
||||
<DropdownItem
|
||||
name="Choice 2"
|
||||
value="choice-2"
|
||||
icon="iconoir-edit-pencil"
|
||||
description="Lorem ipsum dolor sit amet, consectetur."
|
||||
></DropdownItem>
|
||||
<DropdownItem
|
||||
name="Choice 3"
|
||||
value="choice-3"
|
||||
icon="iconoir-db"
|
||||
></DropdownItem>
|
||||
<DropdownItem
|
||||
name="Choice 4"
|
||||
value="choice-4"
|
||||
icon="iconoir-cancel"
|
||||
:disabled="true"
|
||||
></DropdownItem>
|
||||
<DropdownItem
|
||||
name="Choice 5"
|
||||
value="choice-5"
|
||||
icon="iconoir-edit-pencil"
|
||||
description="Lorem ipsum dolor sit amet, consectetur."
|
||||
></DropdownItem>
|
||||
<DropdownItem
|
||||
name="Choice 6"
|
||||
value="choice-6"
|
||||
icon="iconoir-edit-pencil"
|
||||
description="Lorem ipsum dolor sit amet, consectetur."
|
||||
></DropdownItem>
|
||||
</Dropdown>
|
||||
</div>
|
||||
</FormGroup>
|
||||
|
||||
<FormGroup label="Dropdown disabled" required class="margin-bottom-2">
|
||||
<div style="width: 200px">
|
||||
<Dropdown v-model="dropdown" disabled>
|
||||
|
@ -465,13 +428,9 @@
|
|||
</div>
|
||||
</FormGroup>
|
||||
|
||||
<FormGroup label="Dropdown tiny" required class="margin-bottom-2">
|
||||
<FormGroup label="Dropdown large" required class="margin-bottom-2">
|
||||
<div style="width: 200px">
|
||||
<Dropdown
|
||||
v-model="dropdown"
|
||||
:show-search="false"
|
||||
class="dropdown--tiny"
|
||||
>
|
||||
<Dropdown v-model="dropdown" :show-search="false" size="large">
|
||||
<DropdownItem name="Choice 1" value="choice-1"></DropdownItem>
|
||||
<DropdownItem
|
||||
name="Choice 2"
|
||||
|
@ -495,7 +454,7 @@
|
|||
|
||||
<FormGroup label="Dropdown error" required class="margin-bottom-2">
|
||||
<div style="width: 200px">
|
||||
<Dropdown v-model="dropdown" class="dropdown--error">
|
||||
<Dropdown v-model="dropdown" :error="true">
|
||||
<DropdownItem name="Choice 1" value="choice-1"></DropdownItem>
|
||||
<DropdownItem
|
||||
name="Choice 2"
|
||||
|
@ -1373,7 +1332,6 @@
|
|||
</p>
|
||||
</Modal>
|
||||
<Button
|
||||
type="success"
|
||||
@click="
|
||||
$store.dispatch('toast/success', {
|
||||
title: 'Custom success toast',
|
||||
|
@ -1384,7 +1342,7 @@
|
|||
toggle success toast
|
||||
</Button>
|
||||
<Button
|
||||
type="error"
|
||||
type="danger"
|
||||
@click="
|
||||
$store.dispatch('toast/error', {
|
||||
title: 'Custom error toast',
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
<Dropdown
|
||||
class="dropdown--floating"
|
||||
:value="value.type"
|
||||
small
|
||||
@input="
|
||||
$emit('input', {
|
||||
userFieldNames: value.userFieldNames,
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
:class="{
|
||||
'dropdown--floating': !showInput,
|
||||
'dropdown--disabled': disabled,
|
||||
'dropdown--small': small,
|
||||
'dropdown--large': size === 'large',
|
||||
'dropdown--error': error,
|
||||
}"
|
||||
:tabindex="realTabindex"
|
||||
@contextmenu.stop
|
||||
|
|
|
@ -9,9 +9,8 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="values.date_format"
|
||||
:class="{ 'dropdown--error': $v.values.date_format.$error }"
|
||||
:error="$v.values.date_format.$error"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.date_format.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
@ -43,7 +42,6 @@
|
|||
<Dropdown
|
||||
v-model="values.date_time_format"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.date_time_format.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -6,9 +6,8 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="values.duration_format"
|
||||
:class="{ 'dropdown--error': $v.values.duration_format.$error }"
|
||||
:error="$v.values.duration_format.$error"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.duration_format.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -40,12 +40,11 @@
|
|||
<Dropdown
|
||||
ref="fieldTypesDropdown"
|
||||
v-model="values.type"
|
||||
:class="{ 'dropdown--error': $v.values.type.$error }"
|
||||
:error="$v.values.type.$error"
|
||||
:fixed-items="true"
|
||||
:disabled="
|
||||
defaultValues.immutable_type || defaultValues.immutable_properties
|
||||
"
|
||||
small
|
||||
@hide="$v.values.type.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -9,10 +9,9 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="values.link_row_table_id"
|
||||
:class="{ 'dropdown--error': $v.values.link_row_table_id.$error }"
|
||||
:error="$v.values.link_row_table_id.$error"
|
||||
:fixed-items="true"
|
||||
:disabled="!isSelectedFieldAccessible"
|
||||
small
|
||||
@hide="$v.values.link_row_table_id.$touch()"
|
||||
@input="tableChange"
|
||||
>
|
||||
|
@ -50,7 +49,6 @@
|
|||
v-else
|
||||
v-model="values.link_row_limit_selection_view_id"
|
||||
class="margin-top-1"
|
||||
small
|
||||
:fixed-items="true"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -9,9 +9,8 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="values.number_decimal_places"
|
||||
:class="{ 'dropdown--error': $v.values.number_decimal_places.$error }"
|
||||
:error="$v.values.number_decimal_places.$error"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.number_decimal_places.$touch()"
|
||||
>
|
||||
<DropdownItem name="0 (1)" :value="0"></DropdownItem>
|
||||
|
|
|
@ -19,10 +19,9 @@
|
|||
<Dropdown
|
||||
v-model="values.style"
|
||||
class="dropdown--floating rating-field-form__dropdown-style"
|
||||
:class="{ 'dropdown--error': $v.values.style.$error }"
|
||||
:error="$v.values.style.$error"
|
||||
:fixed-items="true"
|
||||
:show-search="false"
|
||||
small
|
||||
@hide="$v.values.style.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
@ -44,10 +43,9 @@
|
|||
<Dropdown
|
||||
v-model="values.max_value"
|
||||
class="dropdown--floating"
|
||||
:class="{ 'dropdown--error': $v.values.max_value.$error }"
|
||||
:error="$v.values.max_value.$error"
|
||||
:show-search="false"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.max_value.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -24,9 +24,8 @@
|
|||
<Dropdown
|
||||
v-model="values.rollup_function"
|
||||
max-width
|
||||
:class="{ 'dropdown--error': $v.values.rollup_function.$error }"
|
||||
:error="$v.values.rollup_function.$error"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.rollup_function.$touch()"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
:class="{
|
||||
'dropdown--floating': !showInput,
|
||||
'dropdown--disabled': disabled,
|
||||
'dropdown--large': size === 'large',
|
||||
'dropdown--error': error,
|
||||
}"
|
||||
:tabindex="realTabindex"
|
||||
@contextmenu.stop
|
||||
|
@ -125,6 +127,11 @@ export default {
|
|||
required: false,
|
||||
default: true,
|
||||
},
|
||||
size: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: 'regular',
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
@ -17,9 +17,8 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="values.target_field_id"
|
||||
:class="{ 'dropdown--error': $v.values.target_field_id.$error }"
|
||||
:error="$v.values.target_field_id.$error"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.target_field_id.$touch()"
|
||||
@input="targetFieldChanged($event)"
|
||||
>
|
||||
|
|
|
@ -13,9 +13,8 @@
|
|||
>
|
||||
<Dropdown
|
||||
v-model="values.through_field_id"
|
||||
:class="{ 'dropdown--error': $v.values.through_field_id.$error }"
|
||||
:error="$v.values.through_field_id.$error"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@hide="$v.values.through_field_id.$touch()"
|
||||
@input="throughFieldChanged($event)"
|
||||
>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
:disabled="readOnly"
|
||||
:show-input="false"
|
||||
:show-empty-value="false"
|
||||
:class="{ 'dropdown--error': touched && !valid }"
|
||||
:error="touched && !valid"
|
||||
@input="updateValue($event, value)"
|
||||
@hide="touch()"
|
||||
></FieldCollaboratorDropdown>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
:disabled="readOnly"
|
||||
:show-input="false"
|
||||
:show-empty-value="false"
|
||||
:class="{ 'dropdown--error': touched && !valid }"
|
||||
:error="touched && !valid"
|
||||
@input="updateValue($event, value)"
|
||||
@create-option="createOption($event)"
|
||||
@hide="touch()"
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
:options="singleSelectOptions"
|
||||
:allow-create-option="allowCreateOptions"
|
||||
:disabled="readOnly"
|
||||
:class="{ 'dropdown--error': touched && !valid }"
|
||||
:error="touched && !valid"
|
||||
size="large"
|
||||
@input="updateValue($event, value)"
|
||||
@create-option="createOption($event)"
|
||||
@hide="touch()"
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
required
|
||||
class="margin-bottom-2"
|
||||
>
|
||||
<Dropdown v-model="mapping[index]" small>
|
||||
<Dropdown v-model="mapping[index]">
|
||||
<DropdownItem name="Skip" :value="0" icon="ban" />
|
||||
<DropdownItem
|
||||
v-for="field in availableFields"
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
:value="filter.field"
|
||||
:disabled="disableFilter"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@input="$emit('updateFilter', { field: $event })"
|
||||
>
|
||||
<DropdownItem
|
||||
|
@ -25,7 +24,6 @@
|
|||
:disabled="disableFilter"
|
||||
:value="filter.type"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@input="$emit('updateFilter', { type: $event })"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
:value="filterType"
|
||||
:show-search="false"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@input="$emit('updateFilterType', $event)"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
:show-empty-value="false"
|
||||
:fixed-items="true"
|
||||
class="dropdown--floating filters__value-dropdown"
|
||||
small
|
||||
@input="input"
|
||||
></FieldCollaboratorDropdown>
|
||||
</template>
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
:show-search="false"
|
||||
:fixed-items="true"
|
||||
class="filters__value-dropdown"
|
||||
small
|
||||
@input="$emit('input', $event)"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
:disabled="disabled"
|
||||
:fixed-items="true"
|
||||
class="filters__value-dropdown"
|
||||
small
|
||||
@input="$emit('input', $event)"
|
||||
></PaginatedDropdown>
|
||||
<a
|
||||
|
|
|
@ -5,10 +5,9 @@
|
|||
:disabled="disabled"
|
||||
:value="operatorValue"
|
||||
:fixed-items="true"
|
||||
small
|
||||
@input="setOperator($event)"
|
||||
>
|
||||
<template #value>
|
||||
<template #selectedValue>
|
||||
<span
|
||||
class="dropdown__selected-text"
|
||||
:title="$t(selectedOperatorLabel)"
|
||||
|
@ -181,8 +180,8 @@ export default {
|
|||
}
|
||||
|
||||
if (newDate.isValid()) {
|
||||
const dateString = newDate.format('YYYY-MM-DD')
|
||||
this.setValue(dateString, sender)
|
||||
this.setCopy(newDate.format('YYYY-MM-DD'), sender)
|
||||
this.delayedUpdate(this.copy, true)
|
||||
} else {
|
||||
this.copy = value
|
||||
}
|
||||
|
|
|
@ -6,8 +6,7 @@
|
|||
:fixed-items="true"
|
||||
:multiple="true"
|
||||
:show-empty-value="false"
|
||||
class="dropdown--floating dropdown--small filters__value-dropdown"
|
||||
small
|
||||
class="dropdown--floating filters__value-dropdown"
|
||||
@input="input"
|
||||
></FieldSelectOptionsDropdown>
|
||||
</template>
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
:options="field.select_options"
|
||||
:disabled="disabled"
|
||||
:fixed-items="true"
|
||||
class="dropdown--floating dropdown--small filters__value-dropdown"
|
||||
small
|
||||
class="dropdown--floating filters__value-dropdown"
|
||||
@input="input"
|
||||
></FieldSelectOptionsDropdown>
|
||||
</template>
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
:disabled="disableGroupBy"
|
||||
:fixed-items="true"
|
||||
class="dropdown--floating"
|
||||
small
|
||||
@input="updateGroupBy(groupBy, { field: $event })"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
:disabled="disableSort"
|
||||
:fixed-items="true"
|
||||
class="dropdown--floating"
|
||||
small
|
||||
@input="updateSort(sort, { field: $event })"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
:fetch-page="fetchPage"
|
||||
:value="dropdownValue"
|
||||
:initial-display-name="initialDisplayName"
|
||||
:class="{ 'dropdown--error': touched && !valid }"
|
||||
:error="touched && !valid"
|
||||
:fetch-on-open="lazyLoad"
|
||||
:disabled="readOnly"
|
||||
:include-display-name-in-selected-event="true"
|
||||
|
|
|
@ -10,11 +10,7 @@
|
|||
:fetch-page="fetchPage"
|
||||
:value="value[index].id"
|
||||
:initial-display-name="value[index].value"
|
||||
small
|
||||
:class="{
|
||||
'dropdown--error':
|
||||
touched && !valid && isInvalidValue(value[index]),
|
||||
}"
|
||||
:error="touched && !valid && isInvalidValue(value[index])"
|
||||
:fetch-on-open="lazyLoad"
|
||||
:disabled="readOnly"
|
||||
:include-display-name-in-selected-event="true"
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
required
|
||||
class="margin-bottom-2"
|
||||
>
|
||||
<Dropdown v-model="values.request_method" small>
|
||||
<Dropdown v-model="values.request_method">
|
||||
<DropdownItem name="GET" value="GET"></DropdownItem>
|
||||
<DropdownItem name="POST" value="POST"></DropdownItem>
|
||||
<DropdownItem name="PATCH" value="PATCH"></DropdownItem>
|
||||
|
@ -229,7 +229,6 @@
|
|||
<Dropdown
|
||||
v-model="exampleWebhookEventType"
|
||||
class="dropdown--floating-left"
|
||||
small
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="webhookEvent in webhookEventTypes"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
v-model="databaseSelectedId"
|
||||
:show-search="false"
|
||||
fixed-items
|
||||
:small="smallDropdowns"
|
||||
:size="dropdownSize"
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="database in databases"
|
||||
|
@ -32,7 +32,7 @@
|
|||
:show-search="false"
|
||||
:disabled="databaseSelectedId === null"
|
||||
fixed-items
|
||||
:small="smallDropdowns"
|
||||
:size="dropdownSize"
|
||||
@input="$emit('input', $event)"
|
||||
>
|
||||
<DropdownItem
|
||||
|
@ -56,7 +56,7 @@
|
|||
:show-search="false"
|
||||
:disabled="value === null"
|
||||
fixed-items
|
||||
:small="smallDropdowns"
|
||||
:size="dropdownSize"
|
||||
@input="$emit('update:view-id', $event)"
|
||||
>
|
||||
<DropdownItem
|
||||
|
@ -99,13 +99,13 @@ export default {
|
|||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
dropdownSizes: {
|
||||
dropdownSize: {
|
||||
type: String,
|
||||
required: false,
|
||||
validator: function (value) {
|
||||
return ['small', 'large'].includes(value)
|
||||
return ['regular', 'large'].includes(value)
|
||||
},
|
||||
default: 'small',
|
||||
default: 'regular',
|
||||
},
|
||||
},
|
||||
data() {
|
||||
|
@ -129,9 +129,6 @@ export default {
|
|||
) || []
|
||||
)
|
||||
},
|
||||
smallDropdowns() {
|
||||
return this.dropdownSizes === 'small'
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
:disabled="disableSort"
|
||||
:fixed-items="true"
|
||||
class="dropdown--floating"
|
||||
small
|
||||
@input="updateSort(sort, { field: $event })"
|
||||
>
|
||||
<DropdownItem
|
||||
|
|
|
@ -6,7 +6,7 @@ import { useArgs } from '@storybook/client-api'
|
|||
import Checkbox from '@baserow/modules/core/components/Checkbox'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Checkbox"
|
||||
title="Baserow/Form Elements/Checkbox"
|
||||
component={Checkbox}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
160
web-frontend/stories/Dropdown.stories.mdx
Normal file
160
web-frontend/stories/Dropdown.stories.mdx
Normal file
|
@ -0,0 +1,160 @@
|
|||
import { Meta, Story, Props, Canvas } from '@storybook/addon-docs/blocks'
|
||||
import { config, withDesign } from 'storybook-addon-designs'
|
||||
import { action } from '@storybook/addon-actions'
|
||||
import { useArgs } from '@storybook/client-api'
|
||||
|
||||
import Dropdown from '@baserow/modules/core/components/Dropdown'
|
||||
import DropdownItem from '@baserow/modules/core/components/DropdownItem'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form Elements/Dropdown"
|
||||
component={Dropdown}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
default: 'white',
|
||||
values: [
|
||||
{ name: 'white', value: '#ffffff' },
|
||||
{ name: 'light', value: '#eeeeee' },
|
||||
{ name: 'dark', value: '#222222' },
|
||||
],
|
||||
},
|
||||
}}
|
||||
decorators={[
|
||||
withDesign,
|
||||
(story, context) => {
|
||||
const [_, updateArgs] = useArgs()
|
||||
return story({ ...context, updateArgs })
|
||||
},
|
||||
]}
|
||||
argTypes={{
|
||||
searchText: {
|
||||
control: {
|
||||
type: 'text',
|
||||
},
|
||||
defaultValue: '',
|
||||
},
|
||||
placeholder: {
|
||||
control: {
|
||||
type: 'text',
|
||||
},
|
||||
defaultValue: '',
|
||||
},
|
||||
showSearch: {
|
||||
control: {
|
||||
type: 'boolean',
|
||||
options: [true, false],
|
||||
},
|
||||
defaultValue: false,
|
||||
},
|
||||
showInput: {
|
||||
control: {
|
||||
type: 'boolean',
|
||||
options: [true, false],
|
||||
},
|
||||
defaultValue: true,
|
||||
},
|
||||
showFooter: {
|
||||
control: {
|
||||
type: 'boolean',
|
||||
options: [true, false],
|
||||
},
|
||||
defaultValue: false,
|
||||
},
|
||||
disabled: {
|
||||
control: {
|
||||
type: 'boolean',
|
||||
options: [true, false],
|
||||
},
|
||||
defaultValue: false,
|
||||
},
|
||||
size: {
|
||||
control: {
|
||||
type: 'select',
|
||||
options: ['regular', 'large'],
|
||||
},
|
||||
defaultValue: 'regular',
|
||||
},
|
||||
tabindex: {
|
||||
control: {
|
||||
type: 'number',
|
||||
},
|
||||
defaultValue: 0,
|
||||
},
|
||||
fixedItems: {
|
||||
control: {
|
||||
type: 'boolean',
|
||||
options: [true, false],
|
||||
},
|
||||
defaultValue: false,
|
||||
},
|
||||
maxWidth: {
|
||||
control: {
|
||||
type: 'boolean',
|
||||
options: [true, false],
|
||||
},
|
||||
defaultValue: false,
|
||||
},
|
||||
multiple: {
|
||||
control: { type: null },
|
||||
},
|
||||
error: {
|
||||
control: {
|
||||
type: 'boolean',
|
||||
options: [true, false],
|
||||
},
|
||||
defaultValue: false,
|
||||
},
|
||||
}}
|
||||
/>
|
||||
|
||||
# Dropdown
|
||||
|
||||
The dropdown component is a basic native select input. It can be used to select a single or multiple options from a list.
|
||||
|
||||
export const Template = (args, { argTypes, updateArgs }) => ({
|
||||
methods: {
|
||||
action,
|
||||
handleInput(value) {
|
||||
updateArgs({ ...args, value })
|
||||
action('handleInput')(value)
|
||||
},
|
||||
},
|
||||
components: { Dropdown, DropdownItem },
|
||||
props: Object.keys(argTypes),
|
||||
template: `
|
||||
<Dropdown @input="handleInput" v-bind="$props">
|
||||
<DropdownItem name="France" value="france"></DropdownItem>
|
||||
<DropdownItem name="Italy" value="italy"></DropdownItem>
|
||||
<DropdownItem name="Netherlands" value="netherlands"></DropdownItem>
|
||||
<DropdownItem name="Belgium" value="belgium"></DropdownItem>
|
||||
</Dropdown>
|
||||
`,
|
||||
})
|
||||
|
||||
<Canvas>
|
||||
<Story name="Default">{Template.bind({})}</Story>
|
||||
<Story
|
||||
name="Multiple selection"
|
||||
args={{
|
||||
multiple: true,
|
||||
value: [],
|
||||
}}
|
||||
>
|
||||
{Template.bind({})}
|
||||
</Story>
|
||||
</Canvas>
|
||||
|
||||
## Example
|
||||
|
||||
```javascript
|
||||
<Dropdown>
|
||||
<DropdownItem name="France" value="france"></DropdownItem>
|
||||
<DropdownItem name="Italy" value="italy"></DropdownItem>
|
||||
<DropdownItem name="Netherlands" value="netherlands"></DropdownItem>
|
||||
<DropdownItem name="Belgium" value="belgium"></DropdownItem>
|
||||
</Dropdown>
|
||||
```
|
||||
|
||||
## Props
|
||||
|
||||
<Props of={Dropdown} />
|
|
@ -7,7 +7,7 @@ import FormInput from '@baserow/modules/core/components/FormInput'
|
|||
import ButtonIcon from '@baserow/modules/core/components/FormInput'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Group"
|
||||
title="Baserow/Form Elements/Group"
|
||||
component={FormGroup}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
|
@ -5,7 +5,7 @@ import { action } from '@storybook/addon-actions'
|
|||
import FormInput from '@baserow/modules/core/components/FormInput'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Input"
|
||||
title="Baserow/Form Elements/Input"
|
||||
component={FormInput}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
|
@ -5,7 +5,7 @@ import { action } from '@storybook/addon-actions'
|
|||
import FormTextarea from '@baserow/modules/core/components/FormTextarea'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Textarea"
|
||||
title="Baserow/Form Elements/Textarea"
|
||||
component={FormTextarea}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
|
@ -6,7 +6,7 @@ import { useArgs } from '@storybook/client-api'
|
|||
import Radio from '@baserow/modules/core/components/Radio'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Radio/Radio"
|
||||
title="Baserow/Form Elements/Radio/Radio"
|
||||
component={Radio}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
|
@ -6,7 +6,7 @@ import { useArgs } from '@storybook/client-api'
|
|||
import RadioButton from '@baserow/modules/core/components/RadioButton'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Radio/RadioButton"
|
||||
title="Baserow/Form Elements/Radio/RadioButton"
|
||||
component={RadioButton}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
|
@ -6,7 +6,7 @@ import { useArgs } from '@storybook/client-api'
|
|||
import RadioGroup from '@baserow/modules/core/components/RadioGroup'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Radio/RadioGroup"
|
||||
title="Baserow/Form Elements/Radio/RadioGroup"
|
||||
component={RadioGroup}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
|
@ -6,7 +6,7 @@ import { useArgs } from '@storybook/client-api'
|
|||
import SwitchInput from '@baserow/modules/core/components/SwitchInput'
|
||||
|
||||
<Meta
|
||||
title="Baserow/Form/Switch"
|
||||
title="Baserow/Form Elements/Switch"
|
||||
component={SwitchInput}
|
||||
parameters={{
|
||||
backgrounds: {
|
||||
|
|
|
@ -8,9 +8,16 @@ exports[`Dropdown component Test slots 1`] = `
|
|||
<a
|
||||
class="dropdown__selected"
|
||||
>
|
||||
<p>
|
||||
The value
|
||||
</p>
|
||||
<!---->
|
||||
|
||||
<!---->
|
||||
|
||||
<span
|
||||
class="dropdown__selected-text"
|
||||
title="A"
|
||||
>
|
||||
A
|
||||
</span>
|
||||
|
||||
<i
|
||||
class="dropdown__toggle-icon iconoir-nav-arrow-down"
|
||||
|
|
|
@ -226,7 +226,7 @@ exports[`GridViewRows component with decoration View with decoration configured
|
|||
class="decorator-context__decorator-header-select"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
>
|
||||
<a
|
||||
class="dropdown__selected"
|
||||
|
|
|
@ -104,7 +104,7 @@ exports[`ViewFilterForm match snapshots Full view filter component 1`] = `
|
|||
class="filters__field"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
@ -251,7 +251,7 @@ exports[`ViewFilterForm match snapshots Full view filter component 1`] = `
|
|||
class="filters__type"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
@ -624,7 +624,7 @@ exports[`ViewFilterForm match snapshots Full view filter component 1`] = `
|
|||
<!---->
|
||||
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
@ -734,7 +734,7 @@ exports[`ViewFilterForm match snapshots Full view filter component 1`] = `
|
|||
class="filters__field"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
@ -881,7 +881,7 @@ exports[`ViewFilterForm match snapshots Full view filter component 1`] = `
|
|||
class="filters__type"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
@ -1249,7 +1249,7 @@ exports[`ViewFilterForm match snapshots Test rating filter 1`] = `
|
|||
class="filters__field"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
@ -1396,7 +1396,7 @@ exports[`ViewFilterForm match snapshots Test rating filter 1`] = `
|
|||
class="filters__type"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex=""
|
||||
>
|
||||
<a
|
||||
|
@ -1765,7 +1765,7 @@ exports[`ViewFilterForm match snapshots Test rating filter 2`] = `
|
|||
class="filters__field"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
@ -1912,7 +1912,7 @@ exports[`ViewFilterForm match snapshots Test rating filter 2`] = `
|
|||
class="filters__type"
|
||||
>
|
||||
<div
|
||||
class="dropdown dropdown--small"
|
||||
class="dropdown"
|
||||
tabindex="0"
|
||||
>
|
||||
<a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue