@tripup-company/element-ui-extended 0.0.26 → 0.0.30
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 +270 -121
- package/dist/element-ui-extended.common.js.map +1 -1
- package/dist/element-ui-extended.css +1 -1
- package/dist/element-ui-extended.umd.js +270 -121
- 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/package.json +3 -1
- package/src/components/CompositeTable/index.vue +7 -23
- package/src/components/CreateForm/index.vue +4 -2
- package/src/components/EditableField/index.vue +23 -6
- package/src/components/GenericFilters/FilterRow.vue +18 -14
- package/src/components/GenericFilters/QuickSearchFilter.vue +1 -1
- package/src/components/GenericFilters/index.vue +4 -1
- package/src/components/PartColumn/EditColumn.vue +4 -1
- package/src/components/UpdateForm/index.vue +1 -1
- package/src/models/base-model.ts +1 -1
- package/src/models/meta-model.ts +1 -1
- package/src/services/list-query-service.ts +1 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tripup-company/element-ui-extended",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.30",
|
|
4
4
|
"main": "./dist/element-ui-extended.umd.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"serve": "vue-cli-service serve",
|
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"axios": "^0.24.0",
|
|
14
|
+
"clone-deep": "^4.0.1",
|
|
14
15
|
"core-js": "^3.6.5",
|
|
15
16
|
"element-ui": "^2.15.6",
|
|
17
|
+
"lodash": "^4.17.21",
|
|
16
18
|
"npe": "^1.2.0",
|
|
17
19
|
"vue": "^2.6.11",
|
|
18
20
|
"vue-class-component": "^7.2.3",
|
|
@@ -3,12 +3,7 @@
|
|
|
3
3
|
<slot>
|
|
4
4
|
<el-row :gutter="20">
|
|
5
5
|
<el-col :span="filters.length ? 18 : 24">
|
|
6
|
-
<slot
|
|
7
|
-
name="quick-search-filter"
|
|
8
|
-
v-bind="{ topFilter, search }"
|
|
9
|
-
:handleApplyTopFilter="handleApplyTopFilter"
|
|
10
|
-
:handleResetTopFilter="handleResetTopFilter"
|
|
11
|
-
>
|
|
6
|
+
<slot name="quick-search-filter" v-bind="{ topFilter, search }">
|
|
12
7
|
<quick-search-filter
|
|
13
8
|
v-if="topFilter"
|
|
14
9
|
:filter="topFilter"
|
|
@@ -17,11 +12,7 @@
|
|
|
17
12
|
@reset:filter="handleResetTopFilter"
|
|
18
13
|
/>
|
|
19
14
|
</slot>
|
|
20
|
-
<slot
|
|
21
|
-
name="table"
|
|
22
|
-
v-bind="{ fields, data }"
|
|
23
|
-
:handleChangeSort="handleChangeSort"
|
|
24
|
-
>
|
|
15
|
+
<slot name="table" v-bind="{ fields, data }">
|
|
25
16
|
<generic-table
|
|
26
17
|
:fields="fields"
|
|
27
18
|
:data="data"
|
|
@@ -43,12 +34,7 @@
|
|
|
43
34
|
</el-row>
|
|
44
35
|
</el-col>
|
|
45
36
|
<el-col :span="filters.length ? 6 : 0">
|
|
46
|
-
<slot
|
|
47
|
-
name="filter"
|
|
48
|
-
v-bind="{ filters, search }"
|
|
49
|
-
:handleApplyFilter="handleApplyFilter"
|
|
50
|
-
:handleResetFilter="handleResetFilter"
|
|
51
|
-
>
|
|
37
|
+
<slot name="filter" v-bind="{ filters, search }">
|
|
52
38
|
<generic-filter
|
|
53
39
|
v-if="filters.length"
|
|
54
40
|
:filters="filters"
|
|
@@ -235,9 +221,8 @@ export default {
|
|
|
235
221
|
handleFilterChange() {
|
|
236
222
|
this.handleCurrentChange(1);
|
|
237
223
|
},
|
|
238
|
-
handleApplyFilter(
|
|
239
|
-
|
|
240
|
-
this.listQueryService.updateListQuery({ search: val });
|
|
224
|
+
handleApplyFilter() {
|
|
225
|
+
this.listQueryService.updateListQuery({ search: this.search });
|
|
241
226
|
this.handleFilterChange();
|
|
242
227
|
},
|
|
243
228
|
handleResetFilter() {
|
|
@@ -250,9 +235,8 @@ export default {
|
|
|
250
235
|
this.listQueryService.updateListQuery({ search: {} });
|
|
251
236
|
this.handleFilterChange({});
|
|
252
237
|
},
|
|
253
|
-
handleApplyTopFilter(
|
|
254
|
-
|
|
255
|
-
this.listQueryService.updateListQuery({ topSearch: val });
|
|
238
|
+
handleApplyTopFilter() {
|
|
239
|
+
this.listQueryService.updateListQuery({ topSearch: this.topSearch });
|
|
256
240
|
this.handleFilterChange();
|
|
257
241
|
},
|
|
258
242
|
handleResetTopFilter() {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
<script>
|
|
43
43
|
import getResolution from "@/services/resolutions";
|
|
44
44
|
import NewColumn from "../PartColumn/NewColumn";
|
|
45
|
-
import
|
|
45
|
+
import BaseModel from '../../models/base-model';
|
|
46
46
|
export default {
|
|
47
47
|
name: "CreateForm",
|
|
48
48
|
components: { NewColumn },
|
|
@@ -55,7 +55,9 @@ export default {
|
|
|
55
55
|
},
|
|
56
56
|
errors: {
|
|
57
57
|
type: Object,
|
|
58
|
-
default: () => {
|
|
58
|
+
default: () => {
|
|
59
|
+
return {};
|
|
60
|
+
},
|
|
59
61
|
},
|
|
60
62
|
config: {
|
|
61
63
|
type: Object,
|
|
@@ -12,13 +12,14 @@
|
|
|
12
12
|
<div v-else-if="isSelectValue" v-html="createList()" />
|
|
13
13
|
<div v-else> {{ placeholder ? placeholder : '-' }}</div>
|
|
14
14
|
</el-col>
|
|
15
|
-
<el-col :span="1">
|
|
15
|
+
<el-col v-if="!readonly" :span="1">
|
|
16
16
|
<el-button
|
|
17
17
|
class="edit-icon pull-right"
|
|
18
18
|
icon="el-icon-edit"
|
|
19
19
|
circle
|
|
20
20
|
type="primary"
|
|
21
21
|
size="mini"
|
|
22
|
+
plain
|
|
22
23
|
@click="handleDoubleClick"
|
|
23
24
|
/>
|
|
24
25
|
</el-col>
|
|
@@ -45,8 +46,8 @@
|
|
|
45
46
|
class="editable-cell__input"
|
|
46
47
|
/>
|
|
47
48
|
<el-button-group class="editable-cell__actions">
|
|
48
|
-
<el-button v-if="isEditMode" type="success" size="mini" icon="el-icon-check" @click="handleSave" />
|
|
49
|
-
<el-button v-if="isEditMode" type="warning" size="mini" icon="el-icon-close" @click="handleClose" />
|
|
49
|
+
<el-button v-if="isEditMode" type="success" size="mini" circle plain icon="el-icon-check" @click="handleSave" />
|
|
50
|
+
<el-button v-if="isEditMode" type="warning" size="mini" circle plain icon="el-icon-close" @click="handleClose" />
|
|
50
51
|
</el-button-group>
|
|
51
52
|
</div>
|
|
52
53
|
</div>
|
|
@@ -113,6 +114,10 @@ export default {
|
|
|
113
114
|
type: Object,
|
|
114
115
|
default: null,
|
|
115
116
|
},
|
|
117
|
+
readonly: {
|
|
118
|
+
type: Boolean,
|
|
119
|
+
default: false,
|
|
120
|
+
},
|
|
116
121
|
},
|
|
117
122
|
data: () => {
|
|
118
123
|
return {
|
|
@@ -148,9 +153,13 @@ export default {
|
|
|
148
153
|
createList() {
|
|
149
154
|
let label = '';
|
|
150
155
|
if (this.selectMultiple) {
|
|
151
|
-
this.value.
|
|
152
|
-
|
|
153
|
-
|
|
156
|
+
if (this.value.length) {
|
|
157
|
+
this.value.forEach(element => {
|
|
158
|
+
label = label + ' ' + this.selectList.find(({ value }) => value === element).name;
|
|
159
|
+
});
|
|
160
|
+
} else {
|
|
161
|
+
label = '-';
|
|
162
|
+
}
|
|
154
163
|
} else if (this.selectList.length) {
|
|
155
164
|
label = this.selectList.find(x =>
|
|
156
165
|
x[this.selectKey] === this.value)[this.selectLabel];
|
|
@@ -183,3 +192,11 @@ export default {
|
|
|
183
192
|
},
|
|
184
193
|
};
|
|
185
194
|
</script>
|
|
195
|
+
<style scoped>
|
|
196
|
+
.el-input--suffix .el-input__inner {
|
|
197
|
+
padding-right: 82px;
|
|
198
|
+
}
|
|
199
|
+
.el-input__suffix {
|
|
200
|
+
right: 63px;
|
|
201
|
+
}
|
|
202
|
+
</style>
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
</el-col>
|
|
9
9
|
</el-row>
|
|
10
10
|
<el-row v-if="showFilter" class="m-t-5">
|
|
11
|
-
<el-col
|
|
11
|
+
<el-col
|
|
12
|
+
v-if="operators.length !== 1 && operators.length !== 0"
|
|
13
|
+
:span="24"
|
|
14
|
+
class="p-b-10"
|
|
15
|
+
>
|
|
12
16
|
<el-select v-model="search.operator" placeholder="Select">
|
|
13
17
|
<el-option
|
|
14
18
|
v-for="operator in operators"
|
|
@@ -77,19 +81,24 @@ export default {
|
|
|
77
81
|
},
|
|
78
82
|
},
|
|
79
83
|
data() {
|
|
84
|
+
const boolValues = [
|
|
85
|
+
{ value: null, label: "empty" },
|
|
86
|
+
{ value: true, label: "true" },
|
|
87
|
+
{ value: false, label: "false" },
|
|
88
|
+
];
|
|
80
89
|
return {
|
|
81
90
|
loading: false,
|
|
82
|
-
selectKey: this.column.selectKey ?? "
|
|
83
|
-
selectLabel: this.column.selectLabel ?? "
|
|
84
|
-
selectValue: this.column.selectValue ?? "
|
|
91
|
+
selectKey: this.column.selectKey ?? "value",
|
|
92
|
+
selectLabel: this.column.selectLabel ?? "name",
|
|
93
|
+
selectValue: this.column.selectValue ?? "value",
|
|
85
94
|
filterable: this.column.filterable ?? false,
|
|
86
95
|
remote: this.column.remote ?? false,
|
|
87
96
|
remoteMethod: this.column.remoteMethod ?? null,
|
|
88
|
-
selectListLocal: this.
|
|
89
|
-
? this.
|
|
97
|
+
selectListLocal: this.column.selectList
|
|
98
|
+
? this.column.selectList
|
|
90
99
|
: this.column.type === "enum"
|
|
91
100
|
? this.column.values
|
|
92
|
-
:
|
|
101
|
+
: boolValues,
|
|
93
102
|
showFilter: this.search.operator !== "",
|
|
94
103
|
stringOperators: [
|
|
95
104
|
{ value: "equal", label: "is equal" },
|
|
@@ -105,11 +114,6 @@ export default {
|
|
|
105
114
|
enumOperators: [{ value: "equal", label: "is" }],
|
|
106
115
|
enumOperatorsMultiple: [{ value: "in", label: "in" }],
|
|
107
116
|
dateOperators: [{ value: "between", label: "between" }],
|
|
108
|
-
boolValues: {
|
|
109
|
-
null: "empty",
|
|
110
|
-
true: "true",
|
|
111
|
-
false: "false",
|
|
112
|
-
},
|
|
113
117
|
};
|
|
114
118
|
},
|
|
115
119
|
computed: {
|
|
@@ -120,7 +124,7 @@ export default {
|
|
|
120
124
|
operators = this.stringOperators;
|
|
121
125
|
break;
|
|
122
126
|
case "enum":
|
|
123
|
-
if (this.column.
|
|
127
|
+
if (this.column.selectMultiple) {
|
|
124
128
|
operators = this.enumOperatorsMultiple;
|
|
125
129
|
} else {
|
|
126
130
|
operators = this.enumOperators;
|
|
@@ -133,7 +137,7 @@ export default {
|
|
|
133
137
|
return operators;
|
|
134
138
|
},
|
|
135
139
|
isMultiple() {
|
|
136
|
-
return this.column.
|
|
140
|
+
return this.column.selectMultiple ? this.column.selectMultiple : false;
|
|
137
141
|
},
|
|
138
142
|
remoteMethodHandler: {
|
|
139
143
|
get() {
|
|
@@ -35,8 +35,11 @@ name: "GenericFilter",
|
|
|
35
35
|
};
|
|
36
36
|
},
|
|
37
37
|
methods: {
|
|
38
|
+
getFilter() {
|
|
39
|
+
return this.filterConvertor.applyFilter(this.search);
|
|
40
|
+
},
|
|
38
41
|
applyFilter() {
|
|
39
|
-
this.$emit('apply:filter', this.search);
|
|
42
|
+
this.$emit('apply:filter', this.filterConvertor.applyFilter(this.search) );
|
|
40
43
|
},
|
|
41
44
|
resetFilter() {
|
|
42
45
|
this.$emit('reset:filter', {});
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
<el-form-item :prop="propPrefix + field.prop" :label="field.label" :error="errors[field.prop] ? errors[field.prop][0] : ''">
|
|
14
14
|
<editable-field
|
|
15
15
|
v-model="data[field.prop]"
|
|
16
|
+
:readonly="field.readonly"
|
|
16
17
|
:type="field.selectList ? 'select' : (field.type? field.type :'input')"
|
|
17
18
|
:select-list="field.selectList ? field.selectList : []"
|
|
18
19
|
:select-multiple="field.selectMultiple"
|
|
@@ -67,7 +68,9 @@ export default {
|
|
|
67
68
|
},
|
|
68
69
|
data: {
|
|
69
70
|
type: Object,
|
|
70
|
-
default: () => {
|
|
71
|
+
default: () => {
|
|
72
|
+
return {};
|
|
73
|
+
},
|
|
71
74
|
},
|
|
72
75
|
errors: {
|
|
73
76
|
type: Object,
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
<script>
|
|
49
49
|
import getResolution from '../../services/resolutions';
|
|
50
|
-
import
|
|
50
|
+
import BaseModel from '../../models/base-model';
|
|
51
51
|
import PartForm from '../PartForm';
|
|
52
52
|
import EditColumn from '../PartColumn/EditColumn';
|
|
53
53
|
|
package/src/models/base-model.ts
CHANGED
package/src/models/meta-model.ts
CHANGED