|
|
@ -352,9 +352,15 @@ onBeforeUnmount(() => { |
|
|
|
@change="saveOrUpdate(filter, i)" |
|
|
|
@change="saveOrUpdate(filter, i)" |
|
|
|
> |
|
|
|
> |
|
|
|
<a-select-option v-for="op in logicalOps" :key="op.value" :value="op.value"> |
|
|
|
<a-select-option v-for="op in logicalOps" :key="op.value" :value="op.value"> |
|
|
|
<span class="capitalize"> |
|
|
|
<div class="flex items-center w-full justify-between w-full gap-2"> |
|
|
|
{{ op.value }} |
|
|
|
<div class="truncate flex-1 capitalize">{{ op.value }}</div> |
|
|
|
</span> |
|
|
|
<component |
|
|
|
|
|
|
|
v-if="filter.logical_op === op.value" |
|
|
|
|
|
|
|
id="selected-item-icon" |
|
|
|
|
|
|
|
class="text-primary w-5 h-5" |
|
|
|
|
|
|
|
:is="iconMap.check" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</div> |
|
|
|
</a-select-option> |
|
|
|
</a-select-option> |
|
|
|
</NcSelect> |
|
|
|
</NcSelect> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -400,9 +406,15 @@ onBeforeUnmount(() => { |
|
|
|
@click.stop |
|
|
|
@click.stop |
|
|
|
> |
|
|
|
> |
|
|
|
<a-select-option v-for="op of logicalOps" :key="op.value" :value="op.value"> |
|
|
|
<a-select-option v-for="op of logicalOps" :key="op.value" :value="op.value"> |
|
|
|
<span class="capitalize"> |
|
|
|
<div class="flex items-center w-full justify-between w-full gap-2"> |
|
|
|
{{ op.value }} |
|
|
|
<div class="truncate flex-1 capitalize">{{ op.value }}</div> |
|
|
|
</span> |
|
|
|
<component |
|
|
|
|
|
|
|
v-if="filter.logical_op === op.value" |
|
|
|
|
|
|
|
id="selected-item-icon" |
|
|
|
|
|
|
|
class="text-primary w-5 h-5" |
|
|
|
|
|
|
|
:is="iconMap.check" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</div> |
|
|
|
</a-select-option> |
|
|
|
</a-select-option> |
|
|
|
</NcSelect> |
|
|
|
</NcSelect> |
|
|
|
<SmartsheetToolbarFieldListAutoCompleteDropdown |
|
|
|
<SmartsheetToolbarFieldListAutoCompleteDropdown |
|
|
@ -424,12 +436,20 @@ onBeforeUnmount(() => { |
|
|
|
variant="solo" |
|
|
|
variant="solo" |
|
|
|
:disabled="filter.readOnly" |
|
|
|
:disabled="filter.readOnly" |
|
|
|
hide-details |
|
|
|
hide-details |
|
|
|
dropdown-class-name="nc-dropdown-filter-comp-op" |
|
|
|
dropdown-class-name="nc-dropdown-filter-comp-op !max-w-80" |
|
|
|
@change="filterUpdateCondition(filter, i)" |
|
|
|
@change="filterUpdateCondition(filter, i)" |
|
|
|
> |
|
|
|
> |
|
|
|
<template v-for="compOp of comparisonOpList(getColumn(filter)?.uidt)" :key="compOp.value"> |
|
|
|
<template v-for="compOp of comparisonOpList(getColumn(filter)?.uidt)" :key="compOp.value"> |
|
|
|
<a-select-option v-if="isComparisonOpAllowed(filter, compOp)" :value="compOp.value"> |
|
|
|
<a-select-option v-if="isComparisonOpAllowed(filter, compOp)" :value="compOp.value"> |
|
|
|
{{ compOp.text }} |
|
|
|
<div class="flex items-center w-full justify-between w-full gap-2"> |
|
|
|
|
|
|
|
<div class="truncate flex-1">{{ compOp.text }}</div> |
|
|
|
|
|
|
|
<component |
|
|
|
|
|
|
|
v-if="filter.comparison_op === compOp.value" |
|
|
|
|
|
|
|
id="selected-item-icon" |
|
|
|
|
|
|
|
class="text-primary w-5 h-5" |
|
|
|
|
|
|
|
:is="iconMap.check" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</div> |
|
|
|
</a-select-option> |
|
|
|
</a-select-option> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</NcSelect> |
|
|
|
</NcSelect> |
|
|
@ -452,7 +472,15 @@ onBeforeUnmount(() => { |
|
|
|
> |
|
|
|
> |
|
|
|
<template v-for="compSubOp of comparisonSubOpList(filter.comparison_op)" :key="compSubOp.value"> |
|
|
|
<template v-for="compSubOp of comparisonSubOpList(filter.comparison_op)" :key="compSubOp.value"> |
|
|
|
<a-select-option v-if="isComparisonSubOpAllowed(filter, compSubOp)" :value="compSubOp.value"> |
|
|
|
<a-select-option v-if="isComparisonSubOpAllowed(filter, compSubOp)" :value="compSubOp.value"> |
|
|
|
{{ compSubOp.text }} |
|
|
|
<div class="flex items-center w-full justify-between w-full gap-2"> |
|
|
|
|
|
|
|
<div class="truncate flex-1">{{ compSubOp.text }}</div> |
|
|
|
|
|
|
|
<component |
|
|
|
|
|
|
|
v-if="filter.comparison_sub_op === compSubOp.value" |
|
|
|
|
|
|
|
id="selected-item-icon" |
|
|
|
|
|
|
|
class="text-primary w-5 h-5" |
|
|
|
|
|
|
|
:is="iconMap.check" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</div> |
|
|
|
</a-select-option> |
|
|
|
</a-select-option> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</NcSelect> |
|
|
|
</NcSelect> |
|
|
@ -546,6 +574,7 @@ onBeforeUnmount(() => { |
|
|
|
.nc-filter-item-remove-btn { |
|
|
|
.nc-filter-item-remove-btn { |
|
|
|
@apply text-gray-600 hover:text-gray-800; |
|
|
|
@apply text-gray-600 hover:text-gray-800; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.nc-filter-grid { |
|
|
|
.nc-filter-grid { |
|
|
|
@apply items-center w-full; |
|
|
|
@apply items-center w-full; |
|
|
|
} |
|
|
|
} |
|
|
|