@tripup-company/element-ui-extended 0.0.71 → 0.0.74

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.
@@ -15,7 +15,6 @@ export declare class ContactModel extends BaseModel implements Icontact {
15
15
  zip_code: string;
16
16
  street?: string;
17
17
  country?: string;
18
- destination?: any;
19
18
  constructor(data?: any[]);
20
19
  }
21
20
  //# sourceMappingURL=contact-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contact-model.d.ts","sourceRoot":"","sources":["../../../examples/models/contact-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,SAAS,MAAM,6BAA6B,CAAC;AAEpD,qBAAa,YAAa,SAAQ,SAAU,YAAW,QAAQ;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC;gBAEN,IAAI,QAAK;CAGtB"}
1
+ {"version":3,"file":"contact-model.d.ts","sourceRoot":"","sources":["../../../examples/models/contact-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,SAAS,MAAM,6BAA6B,CAAC;AAEpD,qBAAa,YAAa,SAAQ,SAAU,YAAW,QAAQ;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,IAAI,QAAK;CAGtB"}
@@ -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;;;;CAiBnB"}
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;;;;CAgBnB"}
@@ -12,7 +12,6 @@ import { IsNotNullFilter } from "./filters/is-not-null-filter";
12
12
  import { BetweenFilter } from "./filters/between-filter";
13
13
  import { InFilter } from "./filters/in-filter";
14
14
  import { InObject } from "./filters/in-object";
15
- import { InArrayOfObject } from "./filters/in-array-of-object";
16
15
  import { InArray } from "./filters/in-array";
17
16
  import { WeekDayFilter } from "./filters/week-day-filter";
18
17
  import { YoungerWeekFilter } from "./filters/younger-week-filter";
@@ -35,7 +34,6 @@ export default class FilterFactory {
35
34
  group_by_fields: (field: string, value: string) => GroupByFilter;
36
35
  in_object: (field: string, value: string) => InObject;
37
36
  in_array: (field: string, value: string) => InArray;
38
- in_array_of_object: (field: string, value: string) => InArrayOfObject;
39
37
  };
40
38
  createFilter(field: any, condition: Condition): BaseFilter;
41
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter-factory.d.ts","sourceRoot":"","sources":["../../../../src/components/GenericFilters/filter-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,aAAa;WAClB,oBAAoB;uBAEf,GAAG,SAAS,GAAG;2BACX,GAAG,SAAS,GAAG;0BAChB,GAAG,SAAS,GAAG;8BACX,GAAG,SAAS,GAAG;yBAEpB,GAAG,SAAS,GAAG;6BACX,GAAG,SAAS,GAAG;4BAEhB,GAAG,SAAS,GAAG;0BACjB,GAAG,SAAS,GAAG;6BACZ,GAAG,SAAS,GAAG;yBAEnB,MAAM,SAAS,MAAM;oBAE3B,MAAM,SAAQ,MAAM;yBACf,MAAM,SAAQ,MAAM;+BACd,MAAM,SAAQ,MAAM;iCAClB,MAAM,SAAQ,MAAM;2BAC1B,MAAM,SAAQ,MAAM;0BACrB,MAAM,SAAQ,MAAM;oCACV,MAAM,SAAQ,MAAM;;IAG5C,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU;CAQlE"}
1
+ {"version":3,"file":"filter-factory.d.ts","sourceRoot":"","sources":["../../../../src/components/GenericFilters/filter-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,aAAa;WAClB,oBAAoB;uBAEf,GAAG,SAAS,GAAG;2BACX,GAAG,SAAS,GAAG;0BAChB,GAAG,SAAS,GAAG;8BACX,GAAG,SAAS,GAAG;yBAEpB,GAAG,SAAS,GAAG;6BACX,GAAG,SAAS,GAAG;4BAEhB,GAAG,SAAS,GAAG;0BACjB,GAAG,SAAS,GAAG;6BACZ,GAAG,SAAS,GAAG;yBAEnB,MAAM,SAAS,MAAM;oBAE3B,MAAM,SAAQ,MAAM;yBACf,MAAM,SAAQ,MAAM;+BACd,MAAM,SAAQ,MAAM;iCAClB,MAAM,SAAQ,MAAM;2BAC1B,MAAM,SAAQ,MAAM;0BACrB,MAAM,SAAQ,MAAM;;IAGlC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU;CAQlE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tripup-company/element-ui-extended",
3
- "version": "0.0.71",
3
+ "version": "0.0.74",
4
4
  "main": "./dist/element-ui-extended.umd.js",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve && tsc --emitDeclarationOnly",
@@ -244,8 +244,7 @@ export default {
244
244
  handleFilterChange() {
245
245
  this.handleCurrentChange(1);
246
246
  },
247
- handleApplyFilter(search) {
248
- this.search = search;
247
+ handleApplyFilter() {
249
248
  this.listQueryService.updateListQuery({ search: this.search });
250
249
  this.handleFilterChange();
251
250
  },
@@ -259,8 +258,7 @@ export default {
259
258
  this.listQueryService.updateListQuery({ search: {} });
260
259
  this.handleFilterChange({});
261
260
  },
262
- handleApplyTopFilter(topSearch) {
263
- this.topSearch = topSearch;
261
+ handleApplyTopFilter() {
264
262
  this.listQueryService.updateListQuery({ topSearch: this.topSearch });
265
263
  this.handleFilterChange();
266
264
  },
@@ -1,29 +1,19 @@
1
1
  <template>
2
2
  <div class="editable-cell">
3
- <div v-if="!isEditMode" class="editable-cell__text">
3
+ <div
4
+ v-if="!isEditMode"
5
+ class="editable-cell__text"
6
+ >
4
7
  <slot class="editable-cell__text__slot">
5
8
  <el-col :span="23">
6
- <div
7
- v-if="value && ['input', 'textarea', 'number'].includes(type)"
8
- v-html="value"
9
- />
10
- <el-checkbox
11
- v-else-if="type === 'checkbox'"
12
- v-model="value"
13
- disabled
14
- />
15
- <el-date-picker
16
- v-else-if="type === 'date-picker'"
17
- v-model="value"
18
- type="date"
19
- :format="format"
20
- :value-format="valueFormat"
21
- disabled
22
- placeholder="Pick a day"
23
- class="w-100 el-date-transparent"
24
- />
9
+ <div v-if="value && ['input', 'textarea', 'number'].includes(type)" v-html="value" />
10
+ <div v-else-if="type === 'checkbox'">
11
+ <i v-if="value === true" class="el-icon-check"></i>
12
+ <div v-else> {{ placeholder ? placeholder : '-' }}</div>
13
+ </div>
14
+ <el-date-picker v-else-if="type === 'date-picker'" v-model="value" type="date" format="dd.MM.yyyy" value-format="yyyy-MM-dd" disabled placeholder="Pick a day" class="w-100 el-date-transparent" />
25
15
  <div v-else-if="isSelectValue" v-html="createList()" />
26
- <div v-else>{{ placeholder ? placeholder : "-" }}</div>
16
+ <div v-else> {{ placeholder ? placeholder : '-' }}</div>
27
17
  </el-col>
28
18
  <el-col v-if="!readonly" :span="1">
29
19
  <el-button
@@ -40,42 +30,16 @@
40
30
  </div>
41
31
  <div v-if="isEditMode" class="editable-cell__editor">
42
32
  <el-checkbox v-if="type === 'checkbox'" v-model="model" />
43
- <el-input-number
44
- v-else-if="type === 'number'"
45
- :controls="false"
46
- v-model="model"
47
- :precision="precision"
48
- class="w-100"
49
- />
50
- <el-select
51
- v-else-if="type === 'select'"
52
- v-model="model"
53
- :span="24"
54
- clearable
55
- :filterable="filterable"
56
- :remote="remote"
57
- :remote-method="remoteMethodHandler"
58
- placeholder="Select"
59
- :value-key="objectValueKey"
60
- :multiple="selectMultiple"
61
- class="w-100"
62
- >
33
+ <el-input-number v-else-if="type === 'number'" :controls="false" v-model="model" :precision="precision" class="w-100" />
34
+ <el-select v-else-if="type === 'select'" v-model="model" :span="24" clearable :filterable="filterable" :remote="remote" :remote-method="remoteMethodHandler" placeholder="Select" :multiple="selectMultiple" class="w-100">
63
35
  <el-option
64
36
  v-for="item in selectListLocal"
65
37
  :key="item[selectKey]"
66
38
  :label="item[selectLabel]"
67
- :value="selectJson ? item : item[selectValue]"
39
+ :value="item[selectValue]"
68
40
  />
69
41
  </el-select>
70
- <el-date-picker
71
- v-else-if="type === 'date-picker'"
72
- v-model="model"
73
- :format="format"
74
- :value-format="valueFormat"
75
- type="date"
76
- placeholder="Pick a day"
77
- class="w-100"
78
- />
42
+ <el-date-picker v-else-if="type === 'date-picker'" v-model="model" format="dd.MM.yyyy" value-format="yyyy-MM-dd" type="date" placeholder="Pick a day" class="w-100" />
79
43
  <el-input
80
44
  v-else
81
45
  v-model="model"
@@ -85,44 +49,29 @@
85
49
  class="editable-cell__input"
86
50
  />
87
51
  <el-button-group class="editable-cell__actions">
88
- <el-button
89
- v-if="isEditMode"
90
- type="success"
91
- size="mini"
92
- circle
93
- plain
94
- icon="el-icon-check"
95
- @click="handleSave"
96
- />
97
- <el-button
98
- v-if="isEditMode"
99
- type="warning"
100
- size="mini"
101
- circle
102
- plain
103
- icon="el-icon-close"
104
- @click="handleClose"
105
- />
52
+ <el-button v-if="isEditMode" type="success" size="mini" circle plain icon="el-icon-check" @click="handleSave" />
53
+ <el-button v-if="isEditMode" type="warning" size="mini" circle plain icon="el-icon-close" @click="handleClose" />
106
54
  </el-button-group>
107
55
  </div>
108
56
  </div>
109
57
  </template>
110
58
 
111
59
  <script>
60
+
112
61
  export default {
113
- name: "EditableField",
62
+ name: 'EditableField',
114
63
  model: {
115
- props: "value",
116
- event: "input",
64
+ props: 'value',
65
+ event: 'input',
117
66
  },
118
67
  props: {
119
68
  field: {
120
69
  type: [String, Boolean],
121
- default: "",
70
+ default: '',
122
71
  },
123
72
  value: {
124
73
  type: [String, Boolean, Date, Number, Array],
125
- default: "",
74
+ default: '',
126
75
  },
127
76
  filterable: {
128
77
  type: Boolean,
@@ -130,11 +79,11 @@ export default {
130
79
  },
131
80
  type: {
132
81
  type: String,
133
- default: "input",
82
+ default: 'input',
134
83
  },
135
84
  placeholder: {
136
85
  type: String,
137
- default: "",
86
+ default: '',
138
87
  },
139
88
  selectList: {
140
89
  type: Array,
@@ -144,25 +93,17 @@ export default {
144
93
  type: Boolean,
145
94
  default: false,
146
95
  },
147
- objectValueKey: {
148
- type: String,
149
- default: "value",
150
- },
151
- selectJson: {
152
- type: Boolean,
153
- default: false,
154
- },
155
96
  selectKey: {
156
97
  type: String,
157
- default: "value",
98
+ default: '',
158
99
  },
159
100
  selectLabel: {
160
101
  type: String,
161
- default: "name",
102
+ default: '',
162
103
  },
163
104
  selectValue: {
164
105
  type: String,
165
- default: "",
106
+ default: '',
166
107
  },
167
108
  precision: {
168
109
  type: Number,
@@ -180,26 +121,18 @@ export default {
180
121
  type: Boolean,
181
122
  default: false,
182
123
  },
183
- format: {
184
- type: String,
185
- default: "dd.MM.yyyy",
186
- },
187
- valueFormat: {
188
- type: String,
189
- default: "yyyy-MM-dd",
190
- },
191
124
  },
192
125
  data: () => {
193
126
  return {
194
127
  isEditMode: false,
195
- model: "",
128
+ model: '',
196
129
  selectListLocal: [],
197
130
  };
198
131
  },
199
132
  computed: {
200
133
  isSelectValue: {
201
134
  get() {
202
- return (this.value || this.value === false) && this.type === "select";
135
+ return (this.value || this.value === false) && this.type === 'select';
203
136
  },
204
137
  },
205
138
  remote: {
@@ -221,55 +154,43 @@ export default {
221
154
  },
222
155
  methods: {
223
156
  createList() {
224
- let label = "";
157
+ let label = '';
225
158
  if (this.selectMultiple) {
226
159
  if (this.value.length) {
227
- let values = [];
228
- this.value.forEach((element) => {
229
- const compareValue = this.selectJson ? element[this.selectKey] : element;
230
- const labArray = this.selectList.find(
231
- x => x[this.selectKey] === compareValue
232
- );
233
- if (labArray && labArray[this.selectLabel]) {
234
- values.push(labArray[this.selectLabel]);
235
- }
236
- label = values.join("; ");
160
+ this.value.forEach(element => {
161
+ label = label + ' ' + this.selectList.find(({ value }) => value === element).name;
237
162
  });
238
163
  } else {
239
- label = "-";
164
+ label = '-';
240
165
  }
241
166
  } else if (this.selectList.length) {
242
- label = this.selectList.find((x) => x[this.selectKey] === this.value)[
243
- this.selectLabel
244
- ];
167
+ label = this.selectList.find(x =>
168
+ x[this.selectKey] === this.value)[this.selectLabel];
245
169
  } else {
246
170
  label = this.value;
247
171
  }
248
172
  return label;
249
173
  },
250
174
  handleDoubleClick() {
251
- this.$emit("editable:open");
175
+ this.$emit('editable:open');
252
176
  this.isEditMode = true;
253
177
  this.model = this.value;
254
178
  },
255
179
  handleClose() {
256
180
  this.isEditMode = false;
257
- this.$emit("editable:close");
181
+ this.$emit('editable:close');
258
182
  },
259
183
  async remoteCall(query) {
260
184
  this.loading = true;
261
- const response = await this.remoteMethod.all({
262
- search: this.selectLabel + ":" + query,
263
- searchFields: this.selectLabel + ":like",
264
- });
185
+ const response = await this.remoteMethod.all({ search: this.selectLabel + ':' + query, searchFields: this.selectLabel + ':like' });
265
186
  this.selectListLocal = response.data;
266
187
  this.loading = false;
267
188
  },
268
189
  async handleSave() {
269
190
  this.isEditMode = false;
270
- this.$emit("editable:close");
271
- this.$emit("editable:save", { field: this.field, value: this.model });
272
- this.$emit("update:value", { field: this.field, value: this.model });
191
+ this.$emit('editable:close');
192
+ this.$emit('editable:save', { 'field': this.field, 'value': this.model });
193
+ this.$emit('update:value', { 'field': this.field, 'value': this.model });
273
194
  },
274
195
  },
275
196
  };
@@ -13,7 +13,7 @@
13
13
  :span="24"
14
14
  class="p-b-10"
15
15
  >
16
- <el-select v-model="searchLocal.operator" placeholder="Select">
16
+ <el-select v-model="search.operator" placeholder="Select">
17
17
  <el-option
18
18
  v-for="operator in operators"
19
19
  :key="operator.value"
@@ -25,12 +25,12 @@
25
25
  <el-col :span="24">
26
26
  <el-input
27
27
  v-if="column.type === 'string'"
28
- v-show="!isDisableInput(searchLocal.operator)"
29
- v-model="searchLocal.value"
28
+ v-show="!isDisableInput(search.operator)"
29
+ v-model="search.value"
30
30
  />
31
31
  <el-date-picker
32
32
  v-else-if="column.type === 'date'"
33
- v-model="searchLocal.value"
33
+ v-model="search.value"
34
34
  class="w-100"
35
35
  end-placeholder="To"
36
36
  format="dd.MM.yy"
@@ -44,14 +44,13 @@
44
44
  <el-select
45
45
  refs="select"
46
46
  v-else
47
- v-model="searchLocal.value"
47
+ v-model="search.value"
48
48
  :multiple="isMultiple"
49
49
  placeholder="Select"
50
50
  :filterable="filterable"
51
51
  :remote="remote"
52
52
  :remote-method="remoteMethodHandler"
53
53
  :loading="loading"
54
- :value-key="objectValueKey"
55
54
  clearable
56
55
  @change="updateSearch"
57
56
  >
@@ -67,8 +66,8 @@
67
66
  </el-row>
68
67
  </template>
69
68
  <script>
70
- import { upperFirst } from "lodash";
71
- import Vue from "vue";
69
+ import { upperFirst } from 'lodash'
70
+
72
71
  export default {
73
72
  props: {
74
73
  column: {
@@ -83,10 +82,6 @@ export default {
83
82
  return {};
84
83
  },
85
84
  },
86
- name: {
87
- type: String,
88
- default: "",
89
- },
90
85
  },
91
86
  data() {
92
87
  const boolValues = [
@@ -94,27 +89,19 @@ export default {
94
89
  { value: true, name: "true" },
95
90
  { value: false, name: "false" },
96
91
  ];
97
- let selectValues = [];
98
- if (this.column.selectList && this.column.selectList.length) {
99
- selectValues = this.column.selectList;
100
- } else if (this.search.selectList && this.search.selectList.length) {
101
- selectValues = this.search.selectList;
102
- } else if (this.column.type === "enum") {
103
- selectValues = this.column.values;
104
- } else {
105
- selectValues = boolValues;
106
- }
107
92
  return {
108
- searchLocal: this.search,
109
93
  loading: false,
110
94
  selectKey: this.column.selectKey ?? "value",
111
95
  selectLabel: this.column.selectLabel ?? "name",
112
96
  selectValue: this.column.selectValue ?? "value",
113
97
  filterable: this.column.filterable ?? false,
114
- objectValueKey: this.column.objectValueKey ?? "value",
115
- selectJson: this.column.selectJson ?? false,
116
98
  remote: this.column.remote ?? false,
117
99
  remoteMethod: this.column.remoteMethod ?? null,
100
+ selectListLocal: this.column.selectList
101
+ ? this.column.selectList
102
+ : this.column.type === "enum"
103
+ ? this.column.values
104
+ : boolValues,
118
105
  showFilter: this.search.operator !== "",
119
106
  stringOperators: [
120
107
  { value: "equal", label: "is equal" },
@@ -132,8 +119,6 @@ export default {
132
119
  enumOperatorsInObject: [{ value: "in_object", label: "in_object" }],
133
120
  dateOperators: [{ value: "between", label: "between" }],
134
121
  boolOperators: [{ value: "equal", label: "is" }],
135
- selectListLocal: selectValues,
136
-
137
122
  };
138
123
  },
139
124
  computed: {
@@ -145,12 +130,7 @@ export default {
145
130
  break;
146
131
  case ("enum", "select"):
147
132
  if (this.column.operator) {
148
- operators = [
149
- {
150
- value: this.column.operator,
151
- label: upperFirst(this.column.operator.replace("_", " ")),
152
- },
153
- ];
133
+ operators = [{ value: this.column.operator, label: upperFirst(this.column.operator.replace('_', ' ')) }];
154
134
  } else if (this.column.selectMultiple) {
155
135
  operators = this.enumOperatorsMultiple;
156
136
  } else {
@@ -181,43 +161,26 @@ export default {
181
161
  watch: {
182
162
  showFilter() {
183
163
  if (this.showFilter === false) {
184
- this.searchLocal.operator = "";
185
- this.searchLocal.value = "";
186
- } else if (
187
- this.searchLocal.operator === "" &&
188
- this.operators.length === 1
189
- ) {
190
- this.searchLocal.operator = this.operators[0].value;
164
+ this.search.operator = "";
165
+ this.search.value = "";
166
+ } else if (this.search.operator === "" && this.operators.length === 1) {
167
+ this.search.operator = this.operators[0].value;
191
168
  }
192
169
  },
193
- search(newValue) {
194
- console.log("seach updated");
195
- if (newValue !== this.search) {
196
- this.searchLocal = Object.assign({}, this.search);
197
- }
198
-
199
- console.log(this.searchLocal);
200
- },
201
- searchLocal: {
170
+ search: {
202
171
  deep: true,
203
172
  handler() {
204
- console.log("searchLocal updated");
205
- this.$emit("update:search", {
206
- name: this.name,
207
- value: this.searchLocal,
208
- });
209
- console.log(this.searchLocal);
210
- if (this.searchLocal.operator == "") {
173
+ if (this.search.operator == '') {
211
174
  this.showFilter = false;
212
175
  }
213
- },
176
+ }
214
177
  },
215
178
  },
216
179
  methods: {
217
180
  isDisableInput(operator) {
218
181
  const disable = this.disabledInputOperations.includes(operator);
219
182
  if (disable) {
220
- this.searchLocal.value = "";
183
+ this.search.value = "";
221
184
  }
222
185
  return disable;
223
186
  },
@@ -228,7 +191,7 @@ export default {
228
191
  searchFields: this.selectLabel + ":like",
229
192
  });
230
193
  this.selectListLocal = response.data;
231
- this.searchLocal["selectList"] = response.data;
194
+ this.search["selectList"] = response.data;
232
195
  this.loading = false;
233
196
  },
234
197
  updateSearch(key) {
@@ -237,7 +200,7 @@ export default {
237
200
  for (const item of this.selectListLocal) {
238
201
  if (item[this.selectKey] === key) {
239
202
  obj[this.selectLabel] = item[this.selectLabel];
240
- this.searchLocal.selectList = [obj];
203
+ this.search.selectList = [obj];
241
204
  }
242
205
  }
243
206
  }
@@ -1,12 +1,10 @@
1
1
  <template>
2
2
  <el-card>
3
3
  <filter-row
4
- v-for="column in filters"
4
+ v-for="(column) in filters"
5
5
  :key="column.name"
6
- :name="column.name"
7
6
  :column="column"
8
7
  :search="search[column.name]"
9
- @search:upate="filterRowUpdate"
10
8
  />
11
9
  <el-button @click="applyFilter">Filter</el-button>
12
10
  <el-button @click="resetFilter">Reset filter</el-button>
@@ -18,19 +16,15 @@ import FilterRow from "./FilterRow";
18
16
  import FilterConverter from "./filter-convertor";
19
17
 
20
18
  export default {
21
- name: "GenericFilter",
19
+ name: "GenericFilter",
22
20
  props: {
23
21
  filters: {
24
22
  type: Array,
25
- default: () => {
26
- return {};
27
- },
23
+ default: () => { return {}}
28
24
  },
29
25
  search: {
30
26
  type: Object,
31
- default: () => {
32
- return {};
33
- },
27
+ default: () => { return {}}
34
28
  },
35
29
  },
36
30
  components: { FilterRow },
@@ -45,17 +39,15 @@ export default {
45
39
  return this.filterConvertor.applyFilter(this.search);
46
40
  },
47
41
  applyFilter() {
48
- console.log(this.search);
49
- this.$emit("apply:filter", this.search);
42
+ this.$emit('apply:filter', this.filterConvertor.applyFilter(this.search) );
50
43
  },
51
44
  resetFilter() {
52
- this.$emit("reset:filter", {});
45
+ this.$emit('reset:filter', {});
53
46
  },
54
- filterRowUpdate(name, value) {
55
- this.$set(this.search, name, value);
56
- },
57
- },
58
- };
47
+ }
48
+ }
59
49
  </script>
60
50
 
61
- <style scoped></style>
51
+ <style scoped>
52
+
53
+ </style>