@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tripup-company/element-ui-extended",
3
- "version": "0.0.26",
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(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() {
@@ -42,7 +42,7 @@
42
42
  <script>
43
43
  import getResolution from "@/services/resolutions";
44
44
  import NewColumn from "../PartColumn/NewColumn";
45
- import { BaseModel } from '../../models/base-model';
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.forEach(element => {
152
- label = label + ' ' + this.selectList.find(({ value }) => value === element).name;
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 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() {
@@ -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,
@@ -47,7 +47,7 @@
47
47
 
48
48
  <script>
49
49
  import getResolution from '../../services/resolutions';
50
- import { BaseModel } from '../../models/base-model';
50
+ import BaseModel from '../../models/base-model';
51
51
  import PartForm from '../PartForm';
52
52
  import EditColumn from '../PartColumn/EditColumn';
53
53
 
@@ -1,4 +1,4 @@
1
- export class BaseModel {
1
+ export default class BaseModel {
2
2
  constructor(data: any) {
3
3
  if (data === null) {
4
4
  return;
@@ -1,5 +1,5 @@
1
1
  import { Meta } from "../types/meta";
2
- import { BaseModel } from "./base-model";
2
+ import BaseModel from "./base-model";
3
3
  import { Pagination } from "../types/pagination";
4
4
 
5
5
  export default class MetaModel extends BaseModel implements Meta {
@@ -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;