renusify 2.4.2 → 2.4.4
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/components/bar/scss/toolbar.scss +4 -3
- package/components/chart/chart.vue +38 -13
- package/components/codeEditor/index.vue +7 -7
- package/components/form/dateInput/index.vue +6 -3
- package/components/form/numberInput/index.vue +13 -24
- package/components/form/passwordInput/index.vue +2 -1
- package/components/form/unitInput/index.vue +2 -2
- package/components/table/crud/index.vue +7 -2
- package/components/tabs/index.vue +1 -7
- package/package.json +1 -1
- package/components/chart/apexcharts.js +0 -14
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
overflow: auto;
|
|
27
27
|
position: absolute;
|
|
28
28
|
transition: .5s all map.get(base.$transition, 'swing');
|
|
29
|
+
background-color: var(--color-sheet);
|
|
30
|
+
color: var(--color-on-sheet);
|
|
29
31
|
@include mixins.rtl() {
|
|
30
32
|
right: -300px;
|
|
31
33
|
}
|
|
@@ -94,7 +96,6 @@
|
|
|
94
96
|
&:before {
|
|
95
97
|
content: '-';
|
|
96
98
|
position: absolute;
|
|
97
|
-
color: #9e9e9e;
|
|
98
99
|
@include mixins.rtl() {
|
|
99
100
|
right: -8px;
|
|
100
101
|
}
|
|
@@ -110,10 +111,10 @@
|
|
|
110
111
|
max-height: 500px;
|
|
111
112
|
overflow-y: auto;
|
|
112
113
|
@include mixins.rtl() {
|
|
113
|
-
border-right: 1px solid
|
|
114
|
+
border-right: 1px solid;
|
|
114
115
|
}
|
|
115
116
|
@include mixins.ltr() {
|
|
116
|
-
border-left: 1px solid
|
|
117
|
+
border-left: 1px solid;
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
|
|
@@ -3,34 +3,59 @@
|
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script>
|
|
6
|
-
|
|
7
6
|
export default {
|
|
8
|
-
name:
|
|
7
|
+
name: 'r-chart',
|
|
9
8
|
props: {
|
|
9
|
+
url: {type: String, default: 'https://codenus.com/storage/chart/apexcharts.js'},
|
|
10
|
+
dark: Boolean,
|
|
10
11
|
options: Object
|
|
11
12
|
},
|
|
12
13
|
data() {
|
|
13
14
|
return {
|
|
14
15
|
chartShape: null,
|
|
15
|
-
|
|
16
|
-
}
|
|
16
|
+
timeout_id: null
|
|
17
|
+
}
|
|
17
18
|
},
|
|
18
|
-
mounted(){
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
mounted() {
|
|
20
|
+
let children = document.querySelectorAll('[name=\'apexcharts\']')
|
|
21
|
+
if (children.length === 0) {
|
|
22
|
+
let el = document.createElement('script')
|
|
23
|
+
el.setAttribute('src', this.url)
|
|
24
|
+
el.setAttribute('name', 'apexcharts')
|
|
25
|
+
document.head.append(el)
|
|
26
|
+
}
|
|
27
|
+
if (this.dark) {
|
|
28
|
+
if (!this.options['theme']) {
|
|
29
|
+
this.options['theme'] = {}
|
|
30
|
+
}
|
|
31
|
+
this.options['theme']['mode'] = 'dark'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
this.timeout_id = setTimeout(() => {
|
|
21
35
|
this.build()
|
|
22
|
-
})
|
|
36
|
+
}, 10)
|
|
37
|
+
|
|
23
38
|
},
|
|
24
39
|
methods: {
|
|
25
|
-
build() {
|
|
26
|
-
|
|
27
|
-
|
|
40
|
+
build(n = 0) {
|
|
41
|
+
try {
|
|
42
|
+
this.chartShape = new ApexCharts(this.$refs.chart, this.options)
|
|
43
|
+
this.chartShape.render()
|
|
44
|
+
} catch (e) {
|
|
45
|
+
this.timeout_id = setTimeout(() => {
|
|
46
|
+
this.build(n + 1)
|
|
47
|
+
}, 100)
|
|
48
|
+
if (n > 30) {
|
|
49
|
+
console.error(e)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
28
52
|
}
|
|
29
53
|
},
|
|
30
54
|
beforeUnmount() {
|
|
31
|
-
this.
|
|
55
|
+
clearTimeout(this.timeout_id)
|
|
56
|
+
this.chartShape.destroy()
|
|
32
57
|
}
|
|
33
|
-
}
|
|
58
|
+
}
|
|
34
59
|
</script>
|
|
35
60
|
<style lang="scss">
|
|
36
61
|
@use "../../style/variables/base";
|
|
@@ -41,18 +41,18 @@
|
|
|
41
41
|
<span v-show="templateShow" class="highlight-syn-func"></template></span>
|
|
42
42
|
</div>
|
|
43
43
|
<div>
|
|
44
|
-
<span v-show="scriptShow" class="highlight-syn-
|
|
44
|
+
<span v-show="scriptShow" class="highlight-syn-class"
|
|
45
45
|
><script><br/>export default {</span
|
|
46
46
|
>
|
|
47
47
|
<highlight-script ref="h-js" v-model="scr"></highlight-script>
|
|
48
|
-
<span v-show="scriptShow" class="highlight-syn-
|
|
48
|
+
<span v-show="scriptShow" class="highlight-syn-class">}<br/></script></span>
|
|
49
49
|
</div>
|
|
50
50
|
<div>
|
|
51
|
-
<span v-show="cssShow" class="highlight-syn-
|
|
51
|
+
<span v-show="cssShow" class="highlight-syn-class"
|
|
52
52
|
><style lang<span class="color-green">="css"</span>></span
|
|
53
53
|
>
|
|
54
54
|
<highlight-css ref="h-css" v-model="sty"></highlight-css>
|
|
55
|
-
<span v-show="cssShow" class="highlight-syn-
|
|
55
|
+
<span v-show="cssShow" class="highlight-syn-class"></style></span>
|
|
56
56
|
</div>
|
|
57
57
|
</div>
|
|
58
58
|
</div>
|
|
@@ -141,9 +141,9 @@ export default {
|
|
|
141
141
|
.#{base.$prefix}code-editor {
|
|
142
142
|
position: relative;
|
|
143
143
|
white-space: break-spaces;
|
|
144
|
-
caret-color:
|
|
145
|
-
background-color: #
|
|
146
|
-
color: #
|
|
144
|
+
caret-color: #f8f8f2;
|
|
145
|
+
background-color: #1a1a1c;
|
|
146
|
+
color: #f8f8f2;
|
|
147
147
|
padding: 10px;
|
|
148
148
|
font-size: 14px;
|
|
149
149
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<r-input v-bind="$attrs" :readonly="readonly" :model-value="modelValue" @click.prevent="show=true">
|
|
3
|
-
<input
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
<div :class="`${$r.prefix}date-color-input`">
|
|
4
|
+
{{ modelValue ? $d(modelValueDate, withTime ? 'long' : 'medium', locale) : null }}
|
|
5
|
+
</div>
|
|
6
6
|
</r-input>
|
|
7
7
|
<r-modal :model-value="show" @update:model-value="close()" :closebtn="false" closable class="text-center">
|
|
8
8
|
<div v-if="!showTime" :class="`${$r.prefix}date-input`">
|
|
@@ -364,6 +364,9 @@ export default {
|
|
|
364
364
|
<style lang="scss">
|
|
365
365
|
@use "../../../style/variables/base";
|
|
366
366
|
|
|
367
|
+
.#{base.$prefix}date-color-input {
|
|
368
|
+
color: var(--color-on-sheet);
|
|
369
|
+
}
|
|
367
370
|
.#{base.$prefix}date-input {
|
|
368
371
|
position: relative;
|
|
369
372
|
display: inline-block;
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
@focusin="active=true"
|
|
14
14
|
@focusout="active=false"
|
|
15
15
|
ref="input"
|
|
16
|
-
|
|
16
|
+
:step="step"
|
|
17
|
+
type="number"
|
|
17
18
|
autocomplete="no"
|
|
18
19
|
v-model="number"
|
|
19
20
|
/>
|
|
@@ -44,47 +45,35 @@ export default {
|
|
|
44
45
|
emits: ['update:modelValue'],
|
|
45
46
|
data() {
|
|
46
47
|
return {
|
|
47
|
-
number: this.
|
|
48
|
+
number: this.modelValue,
|
|
48
49
|
active: false
|
|
49
50
|
}
|
|
50
51
|
},
|
|
51
52
|
watch: {
|
|
52
53
|
'modelValue': function (newVal) {
|
|
53
|
-
|
|
54
|
-
this.number =
|
|
55
|
-
}
|
|
54
|
+
if (newVal !== undefined) {
|
|
55
|
+
this.number = newVal
|
|
56
|
+
}
|
|
56
57
|
}
|
|
57
58
|
},
|
|
58
59
|
methods: {
|
|
59
|
-
setSplit(n) {
|
|
60
|
-
if (n && this.split > 0) {
|
|
61
|
-
const x = this.split
|
|
62
|
-
n = n.toString()
|
|
63
|
-
const step = n.indexOf('.')
|
|
64
|
-
const re = '\\d(?=(\\d{' + (x) + '})+' + (step > -1 ? '\\.' : '$') + ')';
|
|
65
|
-
return n.replace(new RegExp(re, 'g'), '$&,');
|
|
66
|
-
}
|
|
67
|
-
return n
|
|
68
|
-
},
|
|
69
|
-
removeSplit(n) {
|
|
70
|
-
return parseFloat(this.$helper.replacer(n.toString(), ',', ''))
|
|
71
|
-
},
|
|
72
60
|
emit() {
|
|
73
61
|
if (this.number === '' || this.number === null) {
|
|
74
62
|
this.number = undefined
|
|
75
63
|
this.$emit('update:modelValue', this.number)
|
|
76
64
|
return
|
|
77
65
|
}
|
|
78
|
-
let d = this.
|
|
66
|
+
let d = this.number
|
|
79
67
|
if (this.max !== undefined && d > this.max) {
|
|
80
68
|
d = this.max
|
|
81
69
|
}
|
|
82
70
|
if (this.min !== undefined && d < this.min) {
|
|
83
|
-
|
|
71
|
+
this.$emit('update:modelValue', undefined)
|
|
72
|
+
return
|
|
84
73
|
}
|
|
85
|
-
|
|
86
|
-
this.number =
|
|
87
|
-
this.$emit('update:modelValue', this.
|
|
74
|
+
|
|
75
|
+
this.number = d
|
|
76
|
+
this.$emit('update:modelValue', this.number)
|
|
88
77
|
},
|
|
89
78
|
plus() {
|
|
90
79
|
let n = this.modelValue || 0
|
|
@@ -96,7 +85,7 @@ export default {
|
|
|
96
85
|
this.number = n - this.step
|
|
97
86
|
this.emit()
|
|
98
87
|
}
|
|
99
|
-
}
|
|
88
|
+
}
|
|
100
89
|
}
|
|
101
90
|
</script>
|
|
102
91
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
@focusin="active=true"
|
|
16
16
|
@focusout="active=false"
|
|
17
17
|
@input="emit"
|
|
18
|
-
autocomplete="
|
|
18
|
+
:autocomplete="autocomplete"
|
|
19
19
|
ref="input"
|
|
20
20
|
v-model="lazyValue"
|
|
21
21
|
/>
|
|
@@ -61,6 +61,7 @@ export default {
|
|
|
61
61
|
specialChar: Boolean,
|
|
62
62
|
number: Boolean,
|
|
63
63
|
minLength: {type: Number, default: 8},
|
|
64
|
+
autocomplete: {type: String, default: "no"},
|
|
64
65
|
},
|
|
65
66
|
emits: ['update:modelValue'],
|
|
66
67
|
data() {
|
|
@@ -51,9 +51,9 @@ export default {
|
|
|
51
51
|
emits:['update:modelValue'],
|
|
52
52
|
data() {
|
|
53
53
|
return {
|
|
54
|
-
lazyValue: this.modelValue.value,
|
|
54
|
+
lazyValue: this.modelValue ? this.modelValue.value : null,
|
|
55
55
|
active: false,
|
|
56
|
-
unit: this.modelValue.unit
|
|
56
|
+
unit: this.modelValue ? this.modelValue.unit : null
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
watch: {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="`${$r.prefix}table-manage`">
|
|
3
3
|
<r-modal v-model="showForm" bottom full-width>
|
|
4
|
-
<slot :autoSend="autoSend"
|
|
4
|
+
<slot :autoSend="autoSend"
|
|
5
|
+
:method="method"
|
|
5
6
|
:modelValue="editedItem"
|
|
6
7
|
:ok="ok"
|
|
7
8
|
:options="table.option"
|
|
@@ -444,9 +445,13 @@ export default {
|
|
|
444
445
|
this.refresh()
|
|
445
446
|
},
|
|
446
447
|
ok() {
|
|
447
|
-
this.
|
|
448
|
+
this.table.startTime = false
|
|
449
|
+
this.page = 1;
|
|
450
|
+
this.sortBy = null;
|
|
451
|
+
this.sortType = 0;
|
|
448
452
|
this.autoSend = false
|
|
449
453
|
this.showForm = false
|
|
454
|
+
this.refresh()
|
|
450
455
|
},
|
|
451
456
|
refresh(e) {
|
|
452
457
|
this.loading = true
|
|
@@ -98,8 +98,6 @@ export default {
|
|
|
98
98
|
<style lang="scss">
|
|
99
99
|
@use "../../style/variables/base";
|
|
100
100
|
|
|
101
|
-
$btnTabsWidth: 50px;
|
|
102
|
-
|
|
103
101
|
.#{base.$prefix}tabs {
|
|
104
102
|
max-width: 100%;
|
|
105
103
|
display: flex;
|
|
@@ -109,7 +107,7 @@ $btnTabsWidth: 50px;
|
|
|
109
107
|
position: relative;
|
|
110
108
|
margin: 0 auto;
|
|
111
109
|
white-space: nowrap;
|
|
112
|
-
width:
|
|
110
|
+
width: 100%;
|
|
113
111
|
overflow: auto;
|
|
114
112
|
|
|
115
113
|
scroll-behavior: smooth;
|
|
@@ -149,9 +147,5 @@ $btnTabsWidth: 50px;
|
|
|
149
147
|
margin-right: 0;
|
|
150
148
|
}
|
|
151
149
|
}
|
|
152
|
-
|
|
153
|
-
.btn-tabs {
|
|
154
|
-
width: $btnTabsWidth;
|
|
155
|
-
}
|
|
156
150
|
}
|
|
157
151
|
</style>
|