Skip to content

Commit 576bd0d

Browse files
committed
Update current prefilter ui to save/cancel form
1 parent 7b340c5 commit 576bd0d

2 files changed

Lines changed: 67 additions & 46 deletions

File tree

client/web/compose/src/components/Common/RecordListFilter.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
class="position-static w-100"
3333
>
3434
<b-card-body
35-
class="px-2 pb-0 overflow-auto"
35+
class="px-3 pb-0 overflow-auto"
3636
>
3737
<filter-toolbox
3838
v-if="componentFilter.length"

client/web/compose/src/components/PageBlocks/RecordList/Prefilter.vue

Lines changed: 66 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,49 +5,65 @@
55
label-class="text-primary"
66
class="m-0"
77
>
8-
<b-row v-if="textInput">
9-
<b-col>
10-
<b-form-group label-class="text-primary">
11-
<c-input-expression
12-
v-model="options.prefilter"
13-
height="3.688rem"
14-
lang="javascript"
15-
:suggestion-params="recordAutoCompleteParams"
16-
/>
17-
18-
<i18next
19-
path="recordList.record.prefilterFootnote"
20-
tag="small"
21-
class="text-muted"
22-
>
23-
<code>${record.values.fieldName}</code>
24-
<code>${recordID}</code>
25-
<code>${ownerID}</code>
26-
<span><code>${userID}</code>, <code>${user.name}</code></span>
27-
</i18next>
28-
</b-form-group>
29-
</b-col>
30-
</b-row>
31-
32-
<filter-toolbox
33-
v-else
34-
v-model="filterGroup"
35-
:module="module"
36-
:mock.sync="mock"
37-
reset-filter-on-created
38-
start-empty
39-
/>
40-
41-
<div class="mt-1 d-flex align-items-center">
42-
<b-button
43-
variant="link"
44-
size="sm"
45-
class="ml-auto text-decoration-none"
46-
@click="toggleFilterView"
8+
<template v-if="textInput">
9+
<c-input-expression
10+
v-model="options.prefilter"
11+
height="3.688rem"
12+
lang="javascript"
13+
:suggestion-params="recordAutoCompleteParams"
14+
/>
15+
16+
<i18next
17+
path="recordList.record.prefilterFootnote"
18+
tag="small"
19+
class="text-muted"
4720
>
48-
{{ $t('recordList.prefilter.toggleInputType') }}
49-
</b-button>
50-
</div>
21+
<code>${record.values.fieldName}</code>
22+
<code>${recordID}</code>
23+
<code>${ownerID}</code>
24+
<span><code>${userID}</code>, <code>${user.name}</code></span>
25+
</i18next>
26+
27+
<div class="d-flex align-items-center justify-content-end mt-1">
28+
<b-button
29+
variant="link"
30+
size="sm"
31+
class="text-decoration-none"
32+
@click="toggleFilterInputType"
33+
>
34+
{{ $t('recordList.prefilter.toggleInputType') }}
35+
</b-button>
36+
</div>
37+
</template>
38+
39+
<template v-else>
40+
<filter-toolbox
41+
v-model="filterGroup"
42+
:module="module"
43+
:mock.sync="mock"
44+
reset-filter-on-created
45+
start-empty
46+
/>
47+
48+
<div class="d-flex align-items-center justify-content-end mt-1 gap-1">
49+
<b-button
50+
variant="light"
51+
size="sm"
52+
@click="toggleFilterInputType"
53+
>
54+
{{ $t('general:label.cancel') }}
55+
</b-button>
56+
57+
<b-button
58+
variant="primary"
59+
size="sm"
60+
class="ml-1"
61+
@click="saveFilter"
62+
>
63+
{{ $t('general:label.save') }}
64+
</b-button>
65+
</div>
66+
</template>
5167
</b-form-group>
5268
</c-form-table-wrapper>
5369
</template>
@@ -144,11 +160,16 @@ export default {
144160
},
145161
146162
methods: {
147-
toggleFilterView () {
148-
if (!this.textInput) {
149-
this.options.prefilter = this.parseFilter() || this.options.prefilter
163+
saveFilter (filter) {
164+
if (filter && filter[0] && !filter[0].filter[0].name) {
165+
return
150166
}
151167
168+
this.options.prefilter = this.parseFilter()
169+
this.toggleFilterInputType()
170+
},
171+
172+
toggleFilterInputType () {
152173
this.textInput = !this.textInput
153174
},
154175

0 commit comments

Comments
 (0)