@tripup-company/element-ui-extended 0.0.64 → 0.0.67

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.
@@ -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;;;;CAgBnB"}
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"}
@@ -12,6 +12,7 @@ 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";
15
16
  import { InArray } from "./filters/in-array";
16
17
  import { WeekDayFilter } from "./filters/week-day-filter";
17
18
  import { YoungerWeekFilter } from "./filters/younger-week-filter";
@@ -34,6 +35,7 @@ export default class FilterFactory {
34
35
  group_by_fields: (field: string, value: string) => GroupByFilter;
35
36
  in_object: (field: string, value: string) => InObject;
36
37
  in_array: (field: string, value: string) => InArray;
38
+ in_array_of_object: (field: string, value: string) => InArrayOfObject;
37
39
  };
38
40
  createFilter(field: any, condition: Condition): BaseFilter;
39
41
  }
@@ -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,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"}
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"}
@@ -0,0 +1,7 @@
1
+ import { BaseFilter } from "./base-filter";
2
+ import { FilterResponse } from "./interfaces/filter-response";
3
+ export declare class InArrayOfObject extends BaseFilter {
4
+ protected operator: string;
5
+ applyFilter(): FilterResponse;
6
+ }
7
+ //# sourceMappingURL=in-array-of-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-array-of-object.d.ts","sourceRoot":"","sources":["../../../../../src/components/GenericFilters/filters/in-array-of-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,SAAS,CAAC,QAAQ,SAAwB;IACnC,WAAW,IAAI,cAAc;CAMrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tripup-company/element-ui-extended",
3
- "version": "0.0.64",
3
+ "version": "0.0.67",
4
4
  "main": "./dist/element-ui-extended.umd.js",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve && tsc --emitDeclarationOnly",
@@ -13,7 +13,7 @@
13
13
  :span="24"
14
14
  class="p-b-10"
15
15
  >
16
- <el-select v-model="search.operator" placeholder="Select">
16
+ <el-select v-model="searchLocal.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(search.operator)"
29
- v-model="search.value"
28
+ v-show="!isDisableInput(searchLocal.operator)"
29
+ v-model="searchLocal.value"
30
30
  />
31
31
  <el-date-picker
32
32
  v-else-if="column.type === 'date'"
33
- v-model="search.value"
33
+ v-model="searchLocal.value"
34
34
  class="w-100"
35
35
  end-placeholder="To"
36
36
  format="dd.MM.yy"
@@ -44,13 +44,14 @@
44
44
  <el-select
45
45
  refs="select"
46
46
  v-else
47
- v-model="search.value"
47
+ v-model="searchLocal.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"
54
55
  clearable
55
56
  @change="updateSearch"
56
57
  >
@@ -67,7 +68,7 @@
67
68
  </template>
68
69
  <script>
69
70
  import { upperFirst } from 'lodash'
70
-
71
+ import Vue from "vue";
71
72
  export default {
72
73
  props: {
73
74
  column: {
@@ -82,6 +83,10 @@ export default {
82
83
  return {};
83
84
  },
84
85
  },
86
+ name: {
87
+ type: String,
88
+ default: '',
89
+ },
85
90
  },
86
91
  data() {
87
92
  const boolValues = [
@@ -90,11 +95,14 @@ export default {
90
95
  { value: false, name: "false" },
91
96
  ];
92
97
  return {
98
+ searchLocal: this.search,
93
99
  loading: false,
94
100
  selectKey: this.column.selectKey ?? "value",
95
101
  selectLabel: this.column.selectLabel ?? "name",
96
102
  selectValue: this.column.selectValue ?? "value",
97
103
  filterable: this.column.filterable ?? false,
104
+ objectValueKey: this.column.objectValueKey ?? "value",
105
+ selectJson: this.column.selectJson ?? false,
98
106
  remote: this.column.remote ?? false,
99
107
  remoteMethod: this.column.remoteMethod ?? null,
100
108
  selectListLocal: this.column.selectList
@@ -161,16 +169,27 @@ export default {
161
169
  watch: {
162
170
  showFilter() {
163
171
  if (this.showFilter === false) {
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;
172
+ this.searchLocal.operator = "";
173
+ this.searchLocal.value = "";
174
+ } else if (this.searchLocal.operator === "" && this.operators.length === 1) {
175
+ this.searchLocal.operator = this.operators[0].value;
168
176
  }
169
177
  },
170
- search: {
178
+ search (newValue ) {
179
+ console.log('seach updated');
180
+ if (newValue !== this.search) {
181
+ this.searchLocal = Object.assign({}, this.search);
182
+ }
183
+
184
+ console.log(this.searchLocal);
185
+ },
186
+ searchLocal: {
171
187
  deep: true,
172
188
  handler() {
173
- if (this.search.operator == '') {
189
+ console.log('searchLocal updated');
190
+ this.$emit("update:search", { name: this.name, value: this.searchLocal});
191
+ console.log(this.searchLocal);
192
+ if (this.searchLocal.operator == '') {
174
193
  this.showFilter = false;
175
194
  }
176
195
  }
@@ -180,7 +199,7 @@ export default {
180
199
  isDisableInput(operator) {
181
200
  const disable = this.disabledInputOperations.includes(operator);
182
201
  if (disable) {
183
- this.search.value = "";
202
+ this.searchLocal.value = "";
184
203
  }
185
204
  return disable;
186
205
  },
@@ -191,7 +210,7 @@ export default {
191
210
  searchFields: this.selectLabel + ":like",
192
211
  });
193
212
  this.selectListLocal = response.data;
194
- this.search["selectList"] = response.data;
213
+ this.searchLocal["selectList"] = response.data;
195
214
  this.loading = false;
196
215
  },
197
216
  updateSearch(key) {
@@ -200,7 +219,7 @@ export default {
200
219
  for (const item of this.selectListLocal) {
201
220
  if (item[this.selectKey] === key) {
202
221
  obj[this.selectLabel] = item[this.selectLabel];
203
- this.search.selectList = [obj];
222
+ this.searchLocal.selectList = [obj];
204
223
  }
205
224
  }
206
225
  }
@@ -1,10 +1,12 @@
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"
6
7
  :column="column"
7
8
  :search="search[column.name]"
9
+ @search:upate="filterRowUpdate"
8
10
  />
9
11
  <el-button @click="applyFilter">Filter</el-button>
10
12
  <el-button @click="resetFilter">Reset filter</el-button>
@@ -16,15 +18,19 @@ import FilterRow from "./FilterRow";
16
18
  import FilterConverter from "./filter-convertor";
17
19
 
18
20
  export default {
19
- name: "GenericFilter",
21
+ name: "GenericFilter",
20
22
  props: {
21
23
  filters: {
22
24
  type: Array,
23
- default: () => { return {}}
25
+ default: () => {
26
+ return {};
27
+ },
24
28
  },
25
29
  search: {
26
30
  type: Object,
27
- default: () => { return {}}
31
+ default: () => {
32
+ return {};
33
+ },
28
34
  },
29
35
  },
30
36
  components: { FilterRow },
@@ -40,15 +46,16 @@ name: "GenericFilter",
40
46
  },
41
47
  applyFilter() {
42
48
  console.log(this.search);
43
- this.$emit('apply:filter', this.filterConvertor.applyFilter(this.search) );
49
+ this.$emit("apply:filter", this.search);
44
50
  },
45
51
  resetFilter() {
46
- this.$emit('reset:filter', {});
52
+ this.$emit("reset:filter", {});
47
53
  },
48
- }
49
- }
54
+ filterRowUpdate(name, value) {
55
+ this.$set(this.search, name, value);
56
+ },
57
+ },
58
+ };
50
59
  </script>
51
60
 
52
- <style scoped>
53
-
54
- </style>
61
+ <style scoped></style>