@tripup-company/element-ui-extended 0.0.28 → 0.0.32

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tripup-company/element-ui-extended",
3
- "version": "0.0.28",
3
+ "version": "0.0.32",
4
4
  "main": "./dist/element-ui-extended.umd.js",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -14,6 +14,7 @@
14
14
  "clone-deep": "^4.0.1",
15
15
  "core-js": "^3.6.5",
16
16
  "element-ui": "^2.15.6",
17
+ "lodash": "^4.17.21",
17
18
  "npe": "^1.2.0",
18
19
  "vue": "^2.6.11",
19
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(val) {
239
- Vue.set(this, "search", val);
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(val) {
254
- Vue.set(this, "topSearch", val);
255
- this.listQueryService.updateListQuery({ topSearch: val });
238
+ handleApplyTopFilter() {
239
+ this.listQueryService.updateListQuery({ topSearch: this.topSearch });
256
240
  this.handleFilterChange();
257
241
  },
258
242
  handleResetTopFilter() {
@@ -19,6 +19,7 @@
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>
@@ -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 v-if="operators.length !== 1" :span="24" class="p-b-10">
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 ?? "key",
83
- selectLabel: this.column.selectLabel ?? "label",
84
- selectValue: this.column.selectValue ?? "key",
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.search.selectList
89
- ? this.search.selectList
97
+ selectListLocal: this.column.selectList
98
+ ? this.column.selectList
90
99
  : this.column.type === "enum"
91
100
  ? this.column.values
92
- : this.boolValues,
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.is_multiple) {
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.is_multiple ? this.column.is_multiple : false;
140
+ return this.column.selectMultiple ? this.column.selectMultiple : false;
137
141
  },
138
142
  remoteMethodHandler: {
139
143
  get() {
@@ -153,9 +157,12 @@ export default {
153
157
  this.search.operator = this.operators[0].value;
154
158
  }
155
159
  },
156
- search() {
157
- if (this.search.operator === "") {
158
- this.showFilter = false;
160
+ search: {
161
+ deep: true,
162
+ handler() {
163
+ if (this.search.operator == '') {
164
+ this.showFilter = false;
165
+ }
159
166
  }
160
167
  },
161
168
  },
@@ -32,7 +32,7 @@ export default {
32
32
  },
33
33
  methods: {
34
34
  applyFilter() {
35
- this.$emit("apply:filter", this.search);
35
+ this.$emit("apply:filter");
36
36
  },
37
37
  resetFilter() {
38
38
  this.$emit("reset:filter");
@@ -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,
@@ -25,8 +25,7 @@ export default class ListQueryService {
25
25
  meta: {
26
26
  page: 1,
27
27
  limit: 10,
28
- },
29
- search: {},
28
+ }
30
29
  };
31
30
  listQuery = Object.assign(listQuery, this.storageService.get(this.key));
32
31
  return listQuery;