@tripup-company/element-ui-extended 0.0.79 → 0.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/element-ui-extended.common.js +68 -48
- package/dist/element-ui-extended.common.js.map +1 -1
- package/dist/element-ui-extended.umd.js +68 -48
- package/dist/element-ui-extended.umd.js.map +1 -1
- package/dist/element-ui-extended.umd.min.js +1 -1
- package/dist/element-ui-extended.umd.min.js.map +1 -1
- package/dist/src/components/GenericFilters/filter-convertor.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/CompositeTable/index.vue +30 -10
- package/src/components/GenericFilters/FilterRow.vue +3 -5
- package/src/components/GenericFilters/index.vue +3 -7
- package/src/components/GenericTable/index.vue +20 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-convertor.d.ts","sourceRoot":"","sources":["../../../../src/components/GenericFilters/filter-convertor.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,eAAe;IAGlC,WAAW,CAAC,MAAM,KAAA;;;;
|
|
1
|
+
{"version":3,"file":"filter-convertor.d.ts","sourceRoot":"","sources":["../../../../src/components/GenericFilters/filter-convertor.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,eAAe;IAGlC,WAAW,CAAC,MAAM,KAAA;;;;CAqBnB"}
|
package/package.json
CHANGED
|
@@ -2,12 +2,24 @@
|
|
|
2
2
|
<div v-loading="loading" class="composite-table">
|
|
3
3
|
<slot>
|
|
4
4
|
<el-row :gutter="20">
|
|
5
|
-
<el-col :span="filters.length ? 18 : 24">
|
|
5
|
+
<el-col :span="filters.length && showRightFilter ? 18 : 24">
|
|
6
|
+
<slot
|
|
7
|
+
v-if="showTopFilter"
|
|
8
|
+
v-bind="{ filters, search, handleApplyFilter, handleResetFilter }"
|
|
9
|
+
name="top-filter"
|
|
10
|
+
>
|
|
11
|
+
<generic-filter
|
|
12
|
+
:filters="filters"
|
|
13
|
+
:search="search"
|
|
14
|
+
@apply:filter="handleApplyFilter"
|
|
15
|
+
@reset:filter="handleResetFilter"
|
|
16
|
+
/>
|
|
17
|
+
</slot>
|
|
6
18
|
<slot
|
|
7
19
|
name="quick-search-filter"
|
|
8
20
|
v-bind="{
|
|
9
21
|
topFilter,
|
|
10
|
-
|
|
22
|
+
topSearch,
|
|
11
23
|
handleApplyTopFilter,
|
|
12
24
|
handleResetTopFilter,
|
|
13
25
|
}"
|
|
@@ -43,6 +55,7 @@
|
|
|
43
55
|
</el-col>
|
|
44
56
|
<el-col :span="filters.length ? 6 : 0">
|
|
45
57
|
<slot
|
|
58
|
+
v-if="showRightFilter"
|
|
46
59
|
name="filter"
|
|
47
60
|
v-bind="{ filters, search, handleApplyFilter, handleResetFilter }"
|
|
48
61
|
>
|
|
@@ -79,6 +92,14 @@ export default {
|
|
|
79
92
|
},
|
|
80
93
|
name: "CompositeTable",
|
|
81
94
|
props: {
|
|
95
|
+
showTopFilter: {
|
|
96
|
+
default: false,
|
|
97
|
+
type: Boolean,
|
|
98
|
+
},
|
|
99
|
+
showRightFilter: {
|
|
100
|
+
default: true,
|
|
101
|
+
type: Boolean,
|
|
102
|
+
},
|
|
82
103
|
repository: {
|
|
83
104
|
default() {
|
|
84
105
|
return {};
|
|
@@ -115,6 +136,10 @@ export default {
|
|
|
115
136
|
default: "storage.key",
|
|
116
137
|
type: String,
|
|
117
138
|
},
|
|
139
|
+
filterConvertor: {
|
|
140
|
+
default: () => new FilterConverter(),
|
|
141
|
+
type: Object,
|
|
142
|
+
},
|
|
118
143
|
},
|
|
119
144
|
data: function () {
|
|
120
145
|
const localStorage = new LocalStorageService(this.storageKey);
|
|
@@ -123,7 +148,6 @@ export default {
|
|
|
123
148
|
localStorage
|
|
124
149
|
);
|
|
125
150
|
let listQueryObj = listQueryService.getListQuery();
|
|
126
|
-
const filterConvertor = new FilterConverter();
|
|
127
151
|
let search = {};
|
|
128
152
|
let topSearch = {};
|
|
129
153
|
for (const column of this.filters) {
|
|
@@ -140,16 +164,13 @@ export default {
|
|
|
140
164
|
}
|
|
141
165
|
|
|
142
166
|
search = Object.assign(search, listQueryObj.search);
|
|
143
|
-
topSearch = Object.assign(
|
|
144
|
-
topSearch,
|
|
145
|
-
listQueryObj.topSearch
|
|
146
|
-
);
|
|
167
|
+
topSearch = Object.assign(topSearch, listQueryObj.topSearch);
|
|
147
168
|
let sort = {};
|
|
148
169
|
if (listQueryObj.orderBy) {
|
|
149
|
-
sort = Object.assign(sort, {orderBy: listQueryObj.orderBy})
|
|
170
|
+
sort = Object.assign(sort, { orderBy: listQueryObj.orderBy });
|
|
150
171
|
}
|
|
151
172
|
if (listQueryObj.sortedBy) {
|
|
152
|
-
sort = Object.assign(sort, {sortedBy: listQueryObj.sortedBy})
|
|
173
|
+
sort = Object.assign(sort, { sortedBy: listQueryObj.sortedBy });
|
|
153
174
|
}
|
|
154
175
|
return {
|
|
155
176
|
loading: false,
|
|
@@ -157,7 +178,6 @@ export default {
|
|
|
157
178
|
data: [],
|
|
158
179
|
search: search,
|
|
159
180
|
topSearch: topSearch,
|
|
160
|
-
filterConvertor: filterConvertor,
|
|
161
181
|
meta: listQueryService.getListQuery().meta,
|
|
162
182
|
metaModel: new MetaModel(),
|
|
163
183
|
listQueryService: listQueryService,
|
|
@@ -143,7 +143,8 @@ export default {
|
|
|
143
143
|
case "string":
|
|
144
144
|
operators = this.stringOperators;
|
|
145
145
|
break;
|
|
146
|
-
case
|
|
146
|
+
case "enum":
|
|
147
|
+
case "select":
|
|
147
148
|
if (this.column.operator) {
|
|
148
149
|
operators = [
|
|
149
150
|
{
|
|
@@ -198,10 +199,7 @@ export default {
|
|
|
198
199
|
searchLocal: {
|
|
199
200
|
deep: true,
|
|
200
201
|
handler() {
|
|
201
|
-
this.$emit("update:search",
|
|
202
|
-
name: this.name,
|
|
203
|
-
value: this.searchLocal,
|
|
204
|
-
});
|
|
202
|
+
this.$emit("update:search", this.searchLocal);
|
|
205
203
|
if (this.searchLocal.operator == "") {
|
|
206
204
|
this.showFilter = false;
|
|
207
205
|
}
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
:key="column.name"
|
|
6
6
|
:name="column.name"
|
|
7
7
|
:column="column"
|
|
8
|
-
:search="
|
|
9
|
-
@search:upate="filterRowUpdate"
|
|
8
|
+
:search.sync="localSearch[column.name]"
|
|
10
9
|
/>
|
|
11
10
|
<el-button @click="applyFilter">Filter</el-button>
|
|
12
11
|
<el-button @click="resetFilter">Reset filter</el-button>
|
|
@@ -37,6 +36,7 @@ export default {
|
|
|
37
36
|
data() {
|
|
38
37
|
const filterConvertor = new FilterConverter();
|
|
39
38
|
return {
|
|
39
|
+
localSearch: this.search,
|
|
40
40
|
filterConvertor: filterConvertor,
|
|
41
41
|
};
|
|
42
42
|
},
|
|
@@ -45,15 +45,11 @@ export default {
|
|
|
45
45
|
return this.filterConvertor.applyFilter(this.search);
|
|
46
46
|
},
|
|
47
47
|
applyFilter() {
|
|
48
|
-
|
|
49
|
-
this.$emit("apply:filter", this.search);
|
|
48
|
+
this.$emit('apply:filter', this.localSearch);
|
|
50
49
|
},
|
|
51
50
|
resetFilter() {
|
|
52
51
|
this.$emit("reset:filter", {});
|
|
53
52
|
},
|
|
54
|
-
filterRowUpdate(name, value) {
|
|
55
|
-
this.$set(this.search, name, value);
|
|
56
|
-
},
|
|
57
53
|
},
|
|
58
54
|
};
|
|
59
55
|
</script>
|
|
@@ -11,21 +11,16 @@
|
|
|
11
11
|
:width="field.width ? field.width : null"
|
|
12
12
|
:sortable="field.sortable ? field.sortable : null"
|
|
13
13
|
>
|
|
14
|
+
<el-link v-if="field.href" :href="customHref(field, context)">
|
|
15
|
+
{{ customLinkLabel(field, context) }}
|
|
16
|
+
</el-link>
|
|
14
17
|
<el-link
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
? field.href(field.prop, context.$index, context.row)
|
|
19
|
-
: field.href
|
|
20
|
-
: '#'
|
|
18
|
+
v-else
|
|
19
|
+
@click.prevent="
|
|
20
|
+
field.callback(field.prop, context.$index, context.row)
|
|
21
21
|
"
|
|
22
|
-
@click.prevent="field.callback(field.prop, context.$index, context.row)"
|
|
23
22
|
>
|
|
24
|
-
{{
|
|
25
|
-
typeof field.formatter === "function"
|
|
26
|
-
? field.formatter(context.row)
|
|
27
|
-
: context.row[field.prop]
|
|
28
|
-
}}
|
|
23
|
+
{{ customLinkLabel(field, context) }}
|
|
29
24
|
</el-link>
|
|
30
25
|
</el-table-column>
|
|
31
26
|
</template>
|
|
@@ -66,10 +61,23 @@ export default {
|
|
|
66
61
|
loading: false,
|
|
67
62
|
};
|
|
68
63
|
},
|
|
64
|
+
computed: {},
|
|
69
65
|
methods: {
|
|
70
66
|
sortChange(data) {
|
|
71
67
|
this.$emit("sort:change", data);
|
|
72
68
|
},
|
|
69
|
+
customHref(field, context) {
|
|
70
|
+
return field.href
|
|
71
|
+
? typeof field.href === "function"
|
|
72
|
+
? field.href(field.prop, context.$index, context.row)
|
|
73
|
+
: field.href
|
|
74
|
+
: "#";
|
|
75
|
+
},
|
|
76
|
+
customLinkLabel(field, context) {
|
|
77
|
+
return typeof field.formatter === "function"
|
|
78
|
+
? field.formatter(context.row)
|
|
79
|
+
: context.row[field.prop];
|
|
80
|
+
},
|
|
73
81
|
},
|
|
74
82
|
};
|
|
75
83
|
</script>
|