@mixd-id/web-scaffold 0.1.230406270 → 0.1.230406272

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,7 +1,7 @@
1
1
  {
2
2
  "name": "@mixd-id/web-scaffold",
3
3
  "private": false,
4
- "version": "0.1.230406270",
4
+ "version": "0.1.230406272",
5
5
  "scripts": {
6
6
  "dev": "vite serve",
7
7
  "build": "vite build",
@@ -247,7 +247,6 @@ export default{
247
247
  },
248
248
 
249
249
  loadNext(){
250
- console.log('loadNext', this.data)
251
250
  if(this.src &&
252
251
  ((this.data ?? {}).hasNext !== false) &&
253
252
  !(this.preset.pivot ?? {}).enabled) {
@@ -57,6 +57,12 @@
57
57
  <Radio :name="value.key" :value="false" v-model="value.value" @change="apply">False</Radio>
58
58
  </div>
59
59
 
60
+ <div v-else-if="type === 'component'">
61
+ <component :is="column.component"
62
+ :value="value"
63
+ @change="apply" />
64
+ </div>
65
+
60
66
  <div v-else class="flex flex-row gap-2">
61
67
  <Dropdown v-model="value.operator" class="w-[100px]"
62
68
  @change="apply">
@@ -89,6 +95,10 @@ export default{
89
95
 
90
96
  props: {
91
97
 
98
+ column: {
99
+ type: Object,
100
+ default: {}
101
+ },
92
102
  type: String,
93
103
  value: Object,
94
104
 
@@ -304,12 +304,12 @@ const getValue = (filter, opt) => {
304
304
  case 'in':
305
305
  withoutKey ?
306
306
  whereObj = {
307
- [Op.in]: filter.value.split(',')
307
+ [Op.in]: (!Array.isArray(filter.value) ? filter.value.split(',') : filter.value)
308
308
  .map(_ => parseInt(_))
309
309
  .filter(_ => !isNaN(_))
310
310
  } :
311
311
  whereObj[key] = {
312
- [Op.in]: filter.value.split(',')
312
+ [Op.in]: (!Array.isArray(filter.value) ? filter.value.split(',') : filter.value)
313
313
  .map(_ => parseInt(_))
314
314
  .filter(_ => !isNaN(_))
315
315
  }
@@ -342,12 +342,15 @@ const getValue = (filter, opt) => {
342
342
  break
343
343
  }
344
344
 
345
+
346
+ console.log('getValue', filter, key, type, operator, util.inspect(whereObj, false, null, true /* enable colors */))
347
+
345
348
  return whereObj
346
349
  }
347
350
 
348
351
 
349
352
  const filtersToSequelizeWhere = async(filters, opt) => {
350
- if(!Array.isArray(filters)){
353
+ if(!Array.isArray(filters) || filters.length < 1){
351
354
  return {
352
355
  where: {},
353
356
  replacements: []
@@ -361,9 +364,9 @@ const filtersToSequelizeWhere = async(filters, opt) => {
361
364
  for(let filter of filters) {
362
365
  if (filter.enabled === false) continue
363
366
 
364
- const { key, value } = filter
367
+ const { key, value, operator } = filter
365
368
 
366
- if(Array.isArray(value)){
369
+ if(Array.isArray(value) && !operator){
367
370
  const { modifier = 'and' } = filter
368
371
 
369
372
  if(![ 'and', 'or' ].includes(modifier)) continue
package/src/utils/wss.mjs CHANGED
@@ -162,7 +162,6 @@ class WSS extends EventEmitter2{
162
162
  return
163
163
  }
164
164
  else if(!this._instance.isAuth){
165
- console.log('add pending send', { path, params, cb, err })
166
165
  this._pendingSend.push({ path, params, cb, err })
167
166
  return
168
167
  }
@@ -173,7 +173,13 @@
173
173
 
174
174
  <div v-for="(filter, idx) in preset.filters" class="p-6">
175
175
 
176
- <div class="flex flex-row items-start gap-2">
176
+ <component v-if="column(filter.key).type === 'component'"
177
+ :is="column(filter.key).component"
178
+ :filter="filter"
179
+ @remove="preset.filters.splice(idx, 1)">
180
+ </component>
181
+
182
+ <div v-else class="flex flex-row items-start gap-2">
177
183
  <Checkbox v-model="filter.enabled" :default="true" />
178
184
  <div class="flex-1 flex flex-col gap-3">
179
185
  <div class="flex-1 flex flex-row gap-3">
@@ -189,12 +195,14 @@
189
195
  </div>
190
196
  <div v-if="Array.isArray(filter.value)" class="flex flex-col gap-2">
191
197
  <PresetSelectorFilterItem v-for="(filterVal, filterIdx) in filter.value"
198
+ :column="column(filter.key)"
192
199
  :type="typeOf(column(filter.key).type)"
193
200
  :value="filterVal"
194
201
  :index="filterIdx"
195
202
  @remove="filter.value.splice(filterIdx, 1)" />
196
203
  </div>
197
204
  <PresetSelectorFilterItem v-else
205
+ :column="column(filter.key)"
198
206
  :type="typeOf(column(filter.key).type)"
199
207
  :value="filter" />
200
208
  </div>
@@ -565,10 +573,11 @@ export default{
565
573
 
566
574
  methods: {
567
575
 
568
- add(filter){
576
+ add(column){
569
577
  if(!Array.isArray(this.preset.filters))
570
578
  this.preset.filters = []
571
- this.preset.filters.push({ key:filter.key, value:[{}] })
579
+
580
+ this.preset.filters.push({ key:column.key, value:column.type !== 'component' ? [{}] : null })
572
581
  },
573
582
 
574
583
  addPivot(type, obj){