@mixd-id/web-scaffold 0.1.230406151 → 0.1.230406153
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 +1 -1
- package/src/components/ListView.vue +1 -2
- package/src/utils/helpers.js +2 -0
- package/src/utils/listpage1.js +17 -18
- package/src/utils/listview.js +37 -41
package/package.json
CHANGED
|
@@ -115,7 +115,6 @@
|
|
|
115
115
|
<VirtualGrid v-else-if="computedViewType === 'grid'"
|
|
116
116
|
:items="items"
|
|
117
117
|
:column="gridColumn"
|
|
118
|
-
:gap="gridGap"
|
|
119
118
|
class="flex-1"
|
|
120
119
|
ref="table1"
|
|
121
120
|
:opt-bar="optBar"
|
|
@@ -740,7 +739,7 @@ export default{
|
|
|
740
739
|
}
|
|
741
740
|
|
|
742
741
|
if(this.$screenPrefix.value === ''){
|
|
743
|
-
return 'gap-
|
|
742
|
+
return 'gap-0'
|
|
744
743
|
}
|
|
745
744
|
|
|
746
745
|
return this.config.gridGap
|
package/src/utils/helpers.js
CHANGED
package/src/utils/listpage1.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
const { Op } = module.parent.require('sequelize')
|
|
2
2
|
const Sequelize = module.parent.require('sequelize')
|
|
3
|
-
const dayjs = require("dayjs")
|
|
4
|
-
const Exceljs = require("exceljs")
|
|
5
|
-
const { getPresetSortWhereParams } = require("./helpers")
|
|
6
|
-
const { sleep } = require('@mixd-id/web-scaffold/helpers')
|
|
3
|
+
const dayjs = require("dayjs")
|
|
4
|
+
const Exceljs = require("exceljs")
|
|
5
|
+
const { getPresetSortWhereParams } = require("./helpers")
|
|
7
6
|
|
|
8
7
|
let ListPage1 = {
|
|
9
8
|
|
|
@@ -33,25 +32,25 @@ let ListPage1 = {
|
|
|
33
32
|
for(let i = 0 ; i < currentPreset.presets.length ; i++){
|
|
34
33
|
|
|
35
34
|
Object.assign({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
name: 'Default',
|
|
36
|
+
columns: [],
|
|
37
|
+
sorts: [],
|
|
38
|
+
filters: [],
|
|
39
|
+
summaries: [],
|
|
40
|
+
},
|
|
42
41
|
currentPreset.presets[i])
|
|
43
42
|
|
|
44
43
|
if(currentPreset.presets[i].summaries){
|
|
45
44
|
for(let j = 0 ; j < currentPreset.presets[i].summaries.length ; j++){
|
|
46
45
|
|
|
47
46
|
Object.assign({
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
map: {
|
|
48
|
+
mapRadius: 16,
|
|
49
|
+
mapType: "heatmap",
|
|
50
|
+
zoom: 7
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
currentPreset.presets[i].summaries[j])
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
}
|
|
@@ -1330,7 +1329,7 @@ let ListPage1 = {
|
|
|
1330
1329
|
default:
|
|
1331
1330
|
items.forEach((item) => {
|
|
1332
1331
|
if(!('operator' in item) ||
|
|
1333
|
-
|
|
1332
|
+
([ 'startsWith', 'endsWith', 'contains', '=' ].includes(item.operator) && !'value' in item))
|
|
1334
1333
|
return
|
|
1335
1334
|
|
|
1336
1335
|
const operator = item.operator
|
package/src/utils/listview.js
CHANGED
|
@@ -2,7 +2,7 @@ const { Op } = module.parent.require('sequelize')
|
|
|
2
2
|
const Sequelize = module.parent.require('sequelize')
|
|
3
3
|
const dayjs = require("dayjs");
|
|
4
4
|
const Exceljs = require("exceljs");
|
|
5
|
-
const { getPresetSortWhereParams } = require("./helpers");
|
|
5
|
+
const { getPresetSortWhereParams, ftWildcard } = require("./helpers");
|
|
6
6
|
|
|
7
7
|
let ListView = {
|
|
8
8
|
|
|
@@ -45,7 +45,6 @@ let ListView = {
|
|
|
45
45
|
async loadSummary(params, loadResults){
|
|
46
46
|
|
|
47
47
|
if(!this.conn){
|
|
48
|
-
console.error('Unable to load summary, connection not found')
|
|
49
48
|
return
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -110,7 +109,7 @@ let ListView = {
|
|
|
110
109
|
const sheet = workbook.addWorksheet('Export ' + this.name);
|
|
111
110
|
sheet.columns = columns
|
|
112
111
|
|
|
113
|
-
let where =
|
|
112
|
+
let where = []
|
|
114
113
|
let replacements = []
|
|
115
114
|
let order = [
|
|
116
115
|
[ 'updatedAt', 'desc' ],
|
|
@@ -147,11 +146,23 @@ let ListView = {
|
|
|
147
146
|
}
|
|
148
147
|
attributes = Object.keys(attributes)
|
|
149
148
|
|
|
150
|
-
if(preset.
|
|
149
|
+
if(preset.search && typeof this.searchFn === 'function'){
|
|
150
|
+
const { where:presetWhere, replacements:presetReplacements } = await this.searchFn(preset) ?? {}
|
|
151
|
+
if(presetWhere){
|
|
152
|
+
where.push(presetWhere)
|
|
153
|
+
replacements = replacements.concat(presetReplacements ?? [])
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else if(preset.filters){
|
|
151
157
|
const { where:presetWhere } = this.getPresetFilterParams(preset)
|
|
152
|
-
where
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
where.push(presetWhere)
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if(typeof this.filterFn === 'function'){
|
|
162
|
+
const { where:filterWhere, replacements:filterReplacements } = await this.filterFn(preset) ?? {}
|
|
163
|
+
if(filterWhere){
|
|
164
|
+
where.push(filterWhere)
|
|
165
|
+
replacements = replacements.concat(filterReplacements ?? [])
|
|
155
166
|
}
|
|
156
167
|
}
|
|
157
168
|
|
|
@@ -162,21 +173,10 @@ let ListView = {
|
|
|
162
173
|
}
|
|
163
174
|
}
|
|
164
175
|
|
|
165
|
-
if(preset.search){
|
|
166
|
-
const tableName = this.model.name
|
|
167
|
-
where = {
|
|
168
|
-
...where,
|
|
169
|
-
[Op.and]: Sequelize.literal(`MATCH(\`${tableName}\`.tag) AGAINST (? IN BOOLEAN MODE)`)
|
|
170
|
-
}
|
|
171
|
-
replacements.push(preset.search)
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
if(this.downloadFilters){
|
|
175
|
-
await this.downloadFilters(params, where)
|
|
176
|
-
}
|
|
177
|
-
|
|
178
176
|
const rows = await this.model.findAll({
|
|
179
|
-
where
|
|
177
|
+
where: {
|
|
178
|
+
[Op.and]: where
|
|
179
|
+
},
|
|
180
180
|
attributes: {
|
|
181
181
|
...attributes,
|
|
182
182
|
include: attributeIncludes
|
|
@@ -237,7 +237,7 @@ let ListView = {
|
|
|
237
237
|
const { afterItem, itemsPerPage = this.itemsPerPage ?? 24 } = params
|
|
238
238
|
|
|
239
239
|
const { preset = {} } = params
|
|
240
|
-
let where =
|
|
240
|
+
let where = []
|
|
241
241
|
let replacements = []
|
|
242
242
|
let order = [
|
|
243
243
|
[ 'updatedAt', 'desc' ],
|
|
@@ -281,26 +281,23 @@ let ListView = {
|
|
|
281
281
|
}
|
|
282
282
|
attributes = Object.keys(attributes)
|
|
283
283
|
|
|
284
|
-
if(preset.search &&
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
284
|
+
if(preset.search && typeof this.searchFn === 'function'){
|
|
285
|
+
const { where:presetWhere, replacements:presetReplacements } = await this.searchFn(preset) ?? {}
|
|
286
|
+
if(presetWhere){
|
|
287
|
+
where.push(presetWhere)
|
|
288
|
+
replacements = replacements.concat(presetReplacements ?? [])
|
|
289
289
|
}
|
|
290
|
-
replacements.push(preset.search)
|
|
291
290
|
}
|
|
292
291
|
else if(preset.filters){
|
|
293
292
|
const { where:presetWhere } = this.getPresetFilterParams(preset, includes)
|
|
294
|
-
where
|
|
295
|
-
...where,
|
|
296
|
-
...presetWhere
|
|
297
|
-
}
|
|
293
|
+
where.push(presetWhere)
|
|
298
294
|
}
|
|
299
295
|
|
|
300
|
-
if(typeof this
|
|
301
|
-
where = {
|
|
302
|
-
|
|
303
|
-
|
|
296
|
+
if(typeof this.filterFn === 'function'){
|
|
297
|
+
const { where:filterWhere, replacements:filterReplacements } = await this.filterFn(preset) ?? {}
|
|
298
|
+
if(filterWhere){
|
|
299
|
+
where.push(filterWhere)
|
|
300
|
+
replacements = replacements.concat(filterReplacements ?? [])
|
|
304
301
|
}
|
|
305
302
|
}
|
|
306
303
|
|
|
@@ -313,15 +310,14 @@ let ListView = {
|
|
|
313
310
|
|
|
314
311
|
if(afterItem){
|
|
315
312
|
const sortWhere = getPresetSortWhereParams(order, afterItem)
|
|
316
|
-
where
|
|
317
|
-
...where,
|
|
318
|
-
...sortWhere
|
|
319
|
-
}
|
|
313
|
+
where.push(sortWhere)
|
|
320
314
|
}
|
|
321
315
|
|
|
322
316
|
let derivedSql
|
|
323
317
|
let { rows:items, count } = await this.model.findAndCountAll({
|
|
324
|
-
where
|
|
318
|
+
where: {
|
|
319
|
+
[Op.and]: where
|
|
320
|
+
},
|
|
325
321
|
attributes: [
|
|
326
322
|
...attributes,
|
|
327
323
|
...attributeIncludes
|