@mythpe/quasar-ui-qui 0.4.99 → 0.4.100
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/datatable/MDatatable.vue +4 -2
- package/src/components/datatable/MDtSarColumn.vue +2 -0
- package/src/components/sar/MSarString.vue +22 -20
- package/src/style/sar-font.sass +10 -4
- package/src/types/api/MSar.d.ts +3 -0
- package/src/types/m-datatable.d.ts +1 -0
package/package.json
CHANGED
|
@@ -774,8 +774,9 @@ defineExpose({
|
|
|
774
774
|
:align="col.align as any"
|
|
775
775
|
:copy="computedCopyColumns.includes(col.name)"
|
|
776
776
|
:copy-value="col.copyValue && typeof col.copyValue === 'function' ? () => col.copyValue(itemProps.row) : itemProps.row[col.copyValue || col.field]"
|
|
777
|
-
:string="col.field.includes('_to_string') || col.field.includes('ToString')"
|
|
777
|
+
:string="col.field.includes('_to_string') || col.field.includes('ToString') || col.string === !0"
|
|
778
778
|
:value="col.value"
|
|
779
|
+
:digits="col.digits"
|
|
779
780
|
/>
|
|
780
781
|
</template>
|
|
781
782
|
<template v-else-if="computedDescColumns.indexOf(col.name) !== -1">
|
|
@@ -1485,8 +1486,9 @@ defineExpose({
|
|
|
1485
1486
|
:align="sarCellProps.col.align as any"
|
|
1486
1487
|
:copy="computedCopyColumns.includes(sarCellProps.col.name)"
|
|
1487
1488
|
:copy-value="sarCellProps.col.copyValue && typeof sarCellProps.col.copyValue === 'function' ? () => sarCellProps.col.copyValue(sarCellProps.row) : sarCellProps.row[sarCellProps.col.copyValue || sarCellProps.col.field]"
|
|
1488
|
-
:string="sarCellProps.col.field.includes('_to_string') || sarCellProps.col.field.includes('ToString')"
|
|
1489
|
+
:string="sarCellProps.col.field.includes('_to_string') || sarCellProps.col.field.includes('ToString') || sarCellProps.col.string === !0"
|
|
1489
1490
|
:value="sarCellProps.row[sarCellProps.col.field]"
|
|
1491
|
+
:digits="sarCellProps.col.digits"
|
|
1490
1492
|
/>
|
|
1491
1493
|
</q-td>
|
|
1492
1494
|
</template>
|
|
@@ -19,6 +19,7 @@ interface Props {
|
|
|
19
19
|
copyValue?: MDtSarColumnProps['copyValue'];
|
|
20
20
|
align?: MDtSarColumnProps['align'];
|
|
21
21
|
string?: boolean;
|
|
22
|
+
digits?: MDtSarColumnProps['digits'];
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
const props = defineProps<Props>()
|
|
@@ -67,6 +68,7 @@ defineOptions({
|
|
|
67
68
|
</q-btn>
|
|
68
69
|
<MSarString
|
|
69
70
|
:string="string"
|
|
71
|
+
:digits="digits"
|
|
70
72
|
:text="val"
|
|
71
73
|
/>
|
|
72
74
|
<slot />
|
|
@@ -11,31 +11,36 @@ import { useI18n } from 'vue-i18n'
|
|
|
11
11
|
import { computed } from 'vue'
|
|
12
12
|
import { useMyth } from '../../composable'
|
|
13
13
|
import type { MSarStringProps } from '../../types'
|
|
14
|
-
import {
|
|
14
|
+
import { extend } from 'quasar'
|
|
15
15
|
|
|
16
16
|
interface Props {
|
|
17
|
+
tag?: MSarStringProps['tag'];
|
|
17
18
|
text?: MSarStringProps['text'];
|
|
18
19
|
string?: boolean;
|
|
20
|
+
format?: MSarStringProps['format'];
|
|
21
|
+
digits?: MSarStringProps['digits'];
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
const props = defineProps<Props>()
|
|
22
25
|
|
|
23
|
-
const $q = useQuasar()
|
|
24
26
|
const { te } = useI18n({ useScope: 'global' })
|
|
25
27
|
const { __, formatMoney } = useMyth()
|
|
26
28
|
const getText = computed<string | undefined>(() => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
const text = props.text?.toString?.() || ''
|
|
30
|
+
const length = text.length
|
|
31
|
+
if (length < 1) {
|
|
32
|
+
return undefined
|
|
29
33
|
}
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
const
|
|
38
|
-
return
|
|
34
|
+
const suffix = '﷼'
|
|
35
|
+
const def = 2
|
|
36
|
+
const digits = props.digits !== undefined ? parseInt(props.digits?.toString?.() ?? `${def}`) ?? def : def
|
|
37
|
+
const opt = extend<Intl.NumberFormatOptions>(!0, {
|
|
38
|
+
minimumFractionDigits: digits ?? def,
|
|
39
|
+
maximumFractionDigits: digits ?? def
|
|
40
|
+
}, props.format)
|
|
41
|
+
const value = props.string ? (te(`labels.${text}`) ? __(`labels.${text}`) : (te(text) ? __(text) : `${text}`)) : text
|
|
42
|
+
return !isNaN(value) ? formatMoney(value, suffix, opt) : `${value} ${suffix}`.trim()
|
|
43
|
+
// return v !== null && v !== undefined ? (v?.toString?.() || v) : undefined
|
|
39
44
|
})
|
|
40
45
|
|
|
41
46
|
defineOptions({
|
|
@@ -45,12 +50,9 @@ defineOptions({
|
|
|
45
50
|
</script>
|
|
46
51
|
|
|
47
52
|
<template>
|
|
48
|
-
<
|
|
49
|
-
class="m-sar-
|
|
50
|
-
style="direction: rtl !important;"
|
|
53
|
+
<span
|
|
54
|
+
class="m-sar-string sar-icon"
|
|
51
55
|
v-bind="$attrs"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
<span :class="['sar-icon',{'q-pl-xs': $q.lang.rtl, 'q-pr-xs': !$q.lang.rtl}]">{{ __('sr') }}</span>
|
|
55
|
-
</div>
|
|
56
|
+
v-text="getText"
|
|
57
|
+
/>
|
|
56
58
|
</template>
|
package/src/style/sar-font.sass
CHANGED
|
@@ -8,14 +8,20 @@
|
|
|
8
8
|
|
|
9
9
|
@font-face
|
|
10
10
|
font-family: SarIcon
|
|
11
|
-
font-style: normal
|
|
12
|
-
font-weight: 400
|
|
13
11
|
src: url("data:application/x-font-ttf;charset=utf-8;base64,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") format("truetype")
|
|
14
|
-
font-display:
|
|
12
|
+
font-display: swap
|
|
13
|
+
unicode-range: U+FDFC
|
|
15
14
|
|
|
16
15
|
.sar-icon
|
|
17
|
-
font-family: SarIcon, sans-serif !important
|
|
18
16
|
font-style: normal !important
|
|
19
17
|
font-weight: 400 !important
|
|
20
18
|
font-variant: normal !important
|
|
21
19
|
text-transform: none !important
|
|
20
|
+
|
|
21
|
+
[dir="rtl"]
|
|
22
|
+
.sar-icon
|
|
23
|
+
font-family: SarIcon, var(--m-font-rtl, 'inherit'), 'Roboto', sans-serif
|
|
24
|
+
|
|
25
|
+
[dir="ltr"]
|
|
26
|
+
.sar-icon
|
|
27
|
+
font-family: SarIcon, var(--m-font-ltr, 'inherit'), 'Roboto', sans-serif
|
package/src/types/api/MSar.d.ts
CHANGED