@netang/quasar 0.2.3 → 0.2.5

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.
@@ -202,6 +202,7 @@ import $n_cloneDeep from 'lodash/cloneDeep'
202
202
  import $n_isFunction from 'lodash/isFunction'
203
203
  import $n_findIndex from 'lodash/findIndex'
204
204
  import $n_get from 'lodash/get'
205
+ import $n_find from 'lodash/find'
205
206
 
206
207
  import $n_indexOf from '@netang/utils/indexOf'
207
208
  import $n_forEach from '@netang/utils/forEach'
@@ -539,34 +540,54 @@ export default {
539
540
  } else {
540
541
 
541
542
  // 初始已选数据
542
- let _selected = []
543
+ const _selected = []
543
544
 
544
545
  // 如果值转已选数据是有效数组
545
546
  if (newSelected.length) {
546
547
 
547
- // 当前已选数据
548
- const currentSelected = tempSelected.length ? tempSelected : selected.value
548
+ const newSelectedOld = newSelected
549
+ const __selected = []
549
550
 
550
551
  // 如果有已选数据
552
+ const currentSelected = tempSelected.length ? tempSelected : selected.value
551
553
  if (currentSelected.length) {
552
554
 
553
- // 新已选数据
554
- _selected = currentSelected.filter(e => newSelected.indexOf(e[props.valueKey]) > -1)
555
+ const _newSelected = []
556
+
557
+ // 遍历新已选数据
558
+ for (const newItem of newSelected) {
559
+ // 已选中的数据
560
+ const hasItem = $n_find(currentSelected, e => e[props.valueKey] === newItem)
561
+ if (hasItem) {
562
+ __selected.push(hasItem)
563
+ // 需增加的值
564
+ } else {
565
+ _newSelected.push(newItem)
566
+ }
567
+ }
555
568
 
556
- // 需增加的值
557
- newSelected = newSelected.filter(e => _selected.map(e => e[props.valueKey]).indexOf(e) === -1)
569
+ // 设置新的需要增加的值
570
+ newSelected = _newSelected
558
571
  }
559
572
 
560
573
  // 需增加的值
561
574
  if (newSelected.length) {
562
-
563
575
  // 如果更新值时不加载已选数据
564
576
  if (props.noUpdateLoadSelected) {
565
577
  // 请求选择数据
566
- _selected.push(...newSelected.map(e => setSelectedItem(e)))
578
+ __selected.push(...newSelected.map(e => setSelectedItem(e)))
567
579
  } else {
568
580
  // 请求选择数据
569
- _selected.push(...await onRequestSelected(newSelected))
581
+ __selected.push(...await onRequestSelected(newSelected))
582
+ }
583
+ }
584
+
585
+ // 重新筛选和排序已选数据
586
+ for (const item of newSelectedOld) {
587
+ // 已选中的数据
588
+ const hasItem = $n_find(__selected, e => e[props.valueKey] === item)
589
+ if (hasItem) {
590
+ _selected.push(hasItem)
570
591
  }
571
592
  }
572
593
  }
@@ -681,6 +702,7 @@ export default {
681
702
 
682
703
  // 如果声明值未发生变化
683
704
  if (_value === props.modelValue) {
705
+
684
706
  // 设置已选数据
685
707
  setSelected(_selected)
686
708
 
@@ -900,7 +922,7 @@ export default {
900
922
  // 如果有初始加载已选数据数组
901
923
  if (props.loadSelected !== void 0) {
902
924
  const rows = onLoadSelected(value, false)
903
- if ($n.isValidArray(rows)) {
925
+ if ($n_isValidArray(rows)) {
904
926
 
905
927
  requestValues = []
906
928
 
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@netang/quasar",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
+
4
5
  "description": "netang-quasar",
5
6
  "scripts": {
6
7
  "test": "echo \"Error: no test specified\" && exit 1"
package/utils/$table.js CHANGED
@@ -1250,7 +1250,7 @@ async function getViewData(options) {
1250
1250
 
1251
1251
  if (
1252
1252
  status
1253
- && $n_isValidArray($n.get(data, 'rows'))
1253
+ && $n_isValidArray($n_get(data, 'rows'))
1254
1254
  ) {
1255
1255
  return data.rows
1256
1256
  }
package/utils/getImage.js CHANGED
@@ -100,20 +100,17 @@ export default function getImage(src, options) {
100
100
 
101
101
  /* #if IS_WEB */
102
102
  // 如果开启缩放
103
- if (zoom) {
103
+ if (
104
+ zoom
104
105
  // 获取设备像素比
105
- const devicePixelRatio = window.devicePixelRatio || 1
106
- if (devicePixelRatio > 2) {
107
- w *= (devicePixelRatio > 3 ? 3 : devicePixelRatio)
108
- }
106
+ && window.devicePixelRatio >= 2
107
+ ) {
108
+ // w *= (devicePixelRatio > 3 ? 3 : devicePixelRatio)
109
+ w *= 2
109
110
  }
110
111
  /* #endif */
111
112
 
112
- if (w > 10) {
113
- w = Math.floor(w / 10) * 10
114
- } else {
115
- w = Math.floor(w)
116
- }
113
+ w = Math.floor(w)
117
114
 
118
115
  // 如果有最大宽度
119
116
  if (maxWidth && w > maxWidth) {
@@ -150,6 +147,7 @@ export default function getImage(src, options) {
150
147
  w,
151
148
  h,
152
149
  q,
150
+ interlace,
153
151
  ignoreError,
154
152
  format,
155
153
  } = Object.assign({
@@ -163,6 +161,8 @@ export default function getImage(src, options) {
163
161
  h: 0,
164
162
  // 质量
165
163
  q: 75,
164
+ // 是否支持渐进显示
165
+ interlace: false,
166
166
  // 是否忽略错误
167
167
  // 主要针对图片兼容性的问题导致无法处理, 取值为 1 时, 则处理失败时返回原图
168
168
  // 不设置此参数, 默认处理失败时返回错误信息
@@ -177,11 +177,6 @@ export default function getImage(src, options) {
177
177
  // 裁剪图片方式
178
178
  src += `?imageView2/${mode}`
179
179
 
180
- // 质量
181
- if (q) {
182
- src += '/q/' + q
183
- }
184
-
185
180
  // 宽
186
181
  if (w) {
187
182
  src += '/w/' + w
@@ -192,6 +187,16 @@ export default function getImage(src, options) {
192
187
  src += '/h/' + h
193
188
  }
194
189
 
190
+ // 质量
191
+ if (q) {
192
+ src += '/q/' + q
193
+ }
194
+
195
+ // 渐进显示
196
+ if (interlace) {
197
+ src += '/interlace/1'
198
+ }
199
+
195
200
  // 是否忽略错误
196
201
  if (ignoreError) {
197
202
  src += '/ignore-error/1'
package/utils/uploader.js CHANGED
@@ -544,6 +544,7 @@ function create(options) {
544
544
  fileItem.ext = ext
545
545
 
546
546
  const {
547
+ title,
547
548
  size,
548
549
  } = fileItem.file
549
550
 
@@ -568,7 +569,7 @@ function create(options) {
568
569
  // 设置文件 hash
569
570
  fileItem.hash = hash
570
571
  // 标题
571
- fileItem.title = ''
572
+ fileItem.title = title
572
573
  // 设置文件状态
573
574
  fileItem.status = UPLOAD_STATUS.hashChecked
574
575
  // 设置文件检查进度