renusify 2.3.0 → 2.3.2
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/bottomNavigationCircle.vue +1 -0
- package/components/bar/scss/toolbar.scss +2 -2
- package/components/bar/toolbar/index.vue +29 -23
- package/components/bar/toolbar/laptop.vue +27 -25
- package/components/bar/toolbar/mobile.vue +28 -27
- package/components/breadcrumb/bredcrumbItem.vue +2 -2
- package/components/calendar/index.vue +25 -33
- package/components/calendar/month.vue +33 -8
- package/components/calendar/year.vue +18 -7
- package/components/card/index.vue +49 -49
- package/components/chart/chart.vue +2 -1
- package/components/chat/MessageList.vue +4 -4
- package/components/codeEditor/index.vue +3 -3
- package/components/float/index.vue +3 -3
- package/components/form/dateInput/index.vue +407 -413
- package/components/form/dateInput/month.vue +33 -9
- package/components/form/dateInput/year.vue +13 -7
- package/components/form/groupInput/index.js +2 -1
- package/components/form/groupInput/index.vue +13 -32
- package/components/form/jsonInput/index.vue +7 -7
- package/components/form/switchInput/index.vue +1 -1
- package/components/map/index.vue +1 -1
- package/components/notify/index.vue +6 -6
- package/components/table/crud/index.vue +82 -66
- package/components/table/index.vue +5 -8
- package/components/timeline/index.vue +5 -5
- package/components/tree/index.vue +2 -2
- package/directive/skeleton/style.scss +7 -5
- package/directive/sortable/index.js +1 -3
- package/package.json +1 -1
- package/style/app.scss +6 -2
- package/style/mixins/container.scss +6 -5
- package/style/variables/base.scss +2 -2
- package/tools/icons.js +3 -1
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
overflow: auto;
|
|
27
27
|
position: absolute;
|
|
28
28
|
transition: .5s all map.get(base.$transition, 'swing');
|
|
29
|
-
@include mixins.rtl(){
|
|
29
|
+
@include mixins.rtl() {
|
|
30
30
|
right: -300px;
|
|
31
31
|
}
|
|
32
|
-
@include mixins.ltr(){
|
|
32
|
+
@include mixins.ltr() {
|
|
33
33
|
left: -300px;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
<laptop v-if="!$r.breakpoint.mdAndDown">
|
|
3
|
+
<template #search="{item}">
|
|
4
|
+
<slot name="search" :item="item"></slot>
|
|
5
|
+
</template>
|
|
6
|
+
<template #logo>
|
|
7
|
+
<slot name="logo"></slot>
|
|
8
|
+
</template>
|
|
9
|
+
</laptop>
|
|
10
|
+
<mobile v-else>
|
|
11
|
+
<template #search="{item}">
|
|
12
|
+
<slot name="search" :item="item"></slot>
|
|
13
|
+
</template>
|
|
14
|
+
<template #logo>
|
|
15
|
+
<slot name="logo"></slot>
|
|
16
|
+
</template>
|
|
17
|
+
</mobile>
|
|
12
18
|
</template>
|
|
13
19
|
|
|
14
20
|
<script>
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
import '../scss/toolbar.scss'
|
|
22
|
+
import {defineAsyncComponent} from 'vue'
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
export default {
|
|
25
|
+
name: 'r-toolbar',
|
|
26
|
+
components: {
|
|
27
|
+
Laptop: defineAsyncComponent(() =>
|
|
28
|
+
import('./laptop.vue')
|
|
29
|
+
),
|
|
30
|
+
Mobile: defineAsyncComponent(() =>
|
|
31
|
+
import('./mobile.vue')
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
29
35
|
</script>
|
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
</
|
|
21
|
-
|
|
2
|
+
<div :class="classes">
|
|
3
|
+
<header>
|
|
4
|
+
<r-container class="pa-0">
|
|
5
|
+
<div class="toolbar-content">
|
|
6
|
+
<menu-laptop :menu="menu"></menu-laptop>
|
|
7
|
+
<r-spacer></r-spacer>
|
|
8
|
+
<div v-if="search" class="mt-n5">
|
|
9
|
+
<r-search-box autofocus closable :label="searchLabel" :url="search">
|
|
10
|
+
<template v-slot="{item}">
|
|
11
|
+
<slot name="search" :item="item"></slot>
|
|
12
|
+
</template>
|
|
13
|
+
</r-search-box>
|
|
14
|
+
</div>
|
|
15
|
+
<slot name="logo">
|
|
16
|
+
<div v-if="logo">
|
|
17
|
+
<r-img :src="logo" alt="logo" :width="logoW" :height="logoH"></r-img>
|
|
18
|
+
</div>
|
|
19
|
+
</slot>
|
|
20
|
+
</div>
|
|
21
|
+
</r-container>
|
|
22
|
+
</header>
|
|
23
|
+
</div>
|
|
22
24
|
</template>
|
|
23
25
|
<script>
|
|
24
26
|
import {defineAsyncComponent} from 'vue'
|
|
25
|
-
import {toolbar} from
|
|
27
|
+
import {toolbar} from './mixin.js'
|
|
26
28
|
|
|
27
29
|
export default {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
</script>
|
|
30
|
+
components: {MenuLaptop: defineAsyncComponent(() => import('./menuLaptop.vue'))},
|
|
31
|
+
mixins: [toolbar]
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="classes">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
2
|
+
<div :class="classes">
|
|
3
|
+
<header>
|
|
4
|
+
<r-container class="pa-0">
|
|
5
|
+
<div class="toolbar-content">
|
|
6
|
+
<r-btn icon text @click.prevent="open=!open">
|
|
7
|
+
<r-icon v-html="$r.icons.menu"></r-icon>
|
|
8
|
+
</r-btn>
|
|
9
|
+
<r-spacer></r-spacer>
|
|
10
|
+
<div v-if="search" class="mt-n5">
|
|
11
|
+
<r-search-box closable autofocus
|
|
12
|
+
:label="searchLabel" :url="search">
|
|
13
|
+
<template v-slot="{item}">
|
|
14
|
+
<slot name="search" :item="item"></slot>
|
|
15
|
+
</template>
|
|
16
|
+
</r-search-box>
|
|
17
|
+
</div>
|
|
18
|
+
<slot name="logo"></slot>
|
|
19
|
+
</div>
|
|
20
|
+
</r-container>
|
|
21
|
+
</header>
|
|
22
|
+
<menu-mobile :menu="menu" v-model="open" :logo="logo"
|
|
23
|
+
:logoW="logoW" :logoH="logoH"></menu-mobile>
|
|
24
|
+
</div>
|
|
24
25
|
</template>
|
|
25
26
|
<script>
|
|
26
27
|
import {defineAsyncComponent} from 'vue'
|
|
27
|
-
import {toolbar} from
|
|
28
|
+
import {toolbar} from './mixin.js'
|
|
28
29
|
|
|
29
30
|
export default {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
</script>
|
|
31
|
+
components: {MenuMobile: defineAsyncComponent(() => import('./menuMob.vue'))},
|
|
32
|
+
mixins: [toolbar]
|
|
33
|
+
}
|
|
34
|
+
</script>
|
|
@@ -73,17 +73,20 @@
|
|
|
73
73
|
<r-modal :model-value="tab!=='day'" @update:model-value="tab='day'">
|
|
74
74
|
<div class="py-5">
|
|
75
75
|
<r-calendar-year-tab v-if="tab==='year'"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
:model-value='currentPeriod.year'
|
|
77
|
+
@update:model-value="(tab='month',incrementYear($event))"
|
|
78
|
+
:timezoneOffset="lang_zone_offset-timezoneOffset"
|
|
79
|
+
:locale="locale"
|
|
80
|
+
:month="currentPeriod.month"
|
|
81
|
+
></r-calendar-year-tab>
|
|
81
82
|
<r-calendar-month-tab v-if="tab==='month'"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
:model-value='currentPeriod.month'
|
|
84
|
+
@update:model-value="(tab='day',setMonth($event))"
|
|
85
|
+
:timezoneOffset="lang_zone_offset-timezoneOffset"
|
|
86
|
+
:locale="locale"
|
|
87
|
+
:month="currentPeriod.month"
|
|
88
|
+
:year="currentPeriod.year"
|
|
89
|
+
></r-calendar-month-tab>
|
|
87
90
|
</div>
|
|
88
91
|
</r-modal>
|
|
89
92
|
</div>
|
|
@@ -114,8 +117,8 @@ export default {
|
|
|
114
117
|
tab: 'day',
|
|
115
118
|
direction: undefined,
|
|
116
119
|
currentPeriod: {
|
|
117
|
-
month:
|
|
118
|
-
year:
|
|
120
|
+
month: (new Date()).getMonth() + 1,
|
|
121
|
+
year: (new Date()).getFullYear()
|
|
119
122
|
}
|
|
120
123
|
}
|
|
121
124
|
},
|
|
@@ -128,6 +131,10 @@ export default {
|
|
|
128
131
|
'me': {
|
|
129
132
|
month: 'numeric',
|
|
130
133
|
numberingSystem: 'latn'
|
|
134
|
+
},
|
|
135
|
+
'ye': {
|
|
136
|
+
year: 'numeric',
|
|
137
|
+
numberingSystem: 'latn'
|
|
131
138
|
}
|
|
132
139
|
})
|
|
133
140
|
|
|
@@ -148,20 +155,16 @@ export default {
|
|
|
148
155
|
today() {
|
|
149
156
|
return new Date()
|
|
150
157
|
},
|
|
151
|
-
timezoneOffset() {
|
|
152
|
-
return (new Date(this.currentPeriod.year, this.currentPeriod.month, 10)).getTimezoneOffset()
|
|
153
|
-
},
|
|
154
158
|
weekDays() {
|
|
155
159
|
const first = parseInt(this.firstDayOfWeek, 10)
|
|
156
160
|
|
|
157
|
-
return this.createRange(7).map(i => this.$d(new Date(
|
|
161
|
+
return this.createRange(7).map(i => this.$d(new Date(2025, 2, first + i + 23, 0, this.lang_zone_offset - this.timezoneOffset, 0), 'narrow', this.locale)) // 2017-02-02 is Sunday
|
|
158
162
|
},
|
|
159
163
|
rangeLocalDate() {
|
|
160
164
|
const {year, month} = this.currentPeriod
|
|
161
165
|
let firstDay = 1
|
|
162
166
|
let firstmonth = month
|
|
163
167
|
let firstyear = year
|
|
164
|
-
|
|
165
168
|
let first = new Date(firstyear, firstmonth, firstDay, 0, this.lang_zone_offset - this.timezoneOffset, 0)
|
|
166
169
|
let lc = parseInt(this.$d(first, 'de', this.locale))
|
|
167
170
|
first = new Date(firstyear, firstmonth, firstDay - lc + 1, 0, this.lang_zone_offset - this.timezoneOffset, 0)
|
|
@@ -178,7 +181,7 @@ export default {
|
|
|
178
181
|
weekDaysBeforeFirstDayOfTheMonth() {
|
|
179
182
|
const {start} = this.rangeLocalDate
|
|
180
183
|
const weekDay = start.getDay()
|
|
181
|
-
return (weekDay - this.firstDayOfWeek + 7) % 7
|
|
184
|
+
return (weekDay - parseInt(this.firstDayOfWeek) + 7) % 7
|
|
182
185
|
},
|
|
183
186
|
currentPeriodDates() {
|
|
184
187
|
const {start, end} = this.rangeLocalDate
|
|
@@ -235,15 +238,11 @@ export default {
|
|
|
235
238
|
|
|
236
239
|
return children
|
|
237
240
|
},
|
|
241
|
+
timezoneOffset() {
|
|
242
|
+
return (new Date(this.currentPeriod.year, this.currentPeriod.month, 10)).getTimezoneOffset()
|
|
243
|
+
},
|
|
238
244
|
lang_zone_offset() {
|
|
239
|
-
|
|
240
|
-
let dst = this.$helper.ifHas(this.$dateTime.langs, false, this.locale, 'daylight_saving_time')
|
|
241
|
-
|
|
242
|
-
const m = this.$d(new Date(this.currentPeriod.year, this.currentPeriod.month, 10), 'me', this.locale)
|
|
243
|
-
if (parseInt(m) < 7 && dst) {
|
|
244
|
-
offset += 60
|
|
245
|
-
}
|
|
246
|
-
return offset * -1
|
|
245
|
+
return this.$helper.ifHas(this.$dateTime.langs, 0, this.locale, 'time_zone_offset') * -1
|
|
247
246
|
}
|
|
248
247
|
},
|
|
249
248
|
watch: {
|
|
@@ -287,13 +286,6 @@ export default {
|
|
|
287
286
|
year: incrementDate.getFullYear()
|
|
288
287
|
}
|
|
289
288
|
},
|
|
290
|
-
setYear(increment) {
|
|
291
|
-
const incrementDate = new Date(increment, this.currentPeriod.month)
|
|
292
|
-
this.currentPeriod = {
|
|
293
|
-
month: incrementDate.getMonth(),
|
|
294
|
-
year: incrementDate.getFullYear()
|
|
295
|
-
}
|
|
296
|
-
},
|
|
297
289
|
selectDateItem(item) {
|
|
298
290
|
if (!item.disabled) {
|
|
299
291
|
this.$emit('select', item.date.toISOString())
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-flex flex-wrap">
|
|
3
|
-
<r-btn v-for="i in
|
|
3
|
+
<r-btn v-for="i in ls"
|
|
4
4
|
:key="i"
|
|
5
5
|
outlined
|
|
6
6
|
class="w-30 ma-2"
|
|
7
|
-
:class="{'color-one
|
|
8
|
-
@click.prevent="emit(i
|
|
7
|
+
:class="{'color-one':i===modelValue}"
|
|
8
|
+
@click.prevent="emit(i)">
|
|
9
9
|
{{
|
|
10
|
-
|
|
10
|
+
$d(new Date(year, i, 1, 0, timezoneOffset), 'month', locale)
|
|
11
11
|
}}
|
|
12
12
|
</r-btn>
|
|
13
13
|
</div>
|
|
@@ -19,19 +19,44 @@ export default {
|
|
|
19
19
|
modelValue: Number,
|
|
20
20
|
timezoneOffset: Number,
|
|
21
21
|
locale: String,
|
|
22
|
+
month: Number,
|
|
22
23
|
year: Number
|
|
23
24
|
},
|
|
24
25
|
emits: ['update:modelValue'],
|
|
25
26
|
data() {
|
|
26
27
|
return {
|
|
27
|
-
|
|
28
|
+
ls: []
|
|
28
29
|
}
|
|
29
30
|
},
|
|
30
31
|
beforeMount() {
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
const year = this.$d(new Date(this.year, this.month, 5, 0, this.timezoneOffset), 'ye', this.locale)
|
|
33
|
+
let ls = []
|
|
34
|
+
let first = 0
|
|
35
|
+
let n = 0
|
|
36
|
+
while (true) {
|
|
37
|
+
n++
|
|
38
|
+
if (n > 100) {
|
|
39
|
+
break
|
|
40
|
+
}
|
|
41
|
+
const y = this.$d(new Date(this.year, first, 5, 0, this.timezoneOffset), 'ye', this.locale)
|
|
42
|
+
const m = parseInt(this.$d(new Date(this.year, first, 5, 0, this.timezoneOffset), 'me', this.locale))
|
|
43
|
+
if (y === year && m === 1) {
|
|
44
|
+
break
|
|
45
|
+
}
|
|
46
|
+
if (y > year) {
|
|
47
|
+
first--
|
|
48
|
+
} else if (y < year) {
|
|
49
|
+
first++
|
|
50
|
+
} else if (m > 1) {
|
|
51
|
+
first--
|
|
52
|
+
} else {
|
|
53
|
+
first++
|
|
54
|
+
}
|
|
34
55
|
}
|
|
56
|
+
for (let i = 0; i < 12; i++) {
|
|
57
|
+
ls.push(first + i)
|
|
58
|
+
}
|
|
59
|
+
this.ls = ls
|
|
35
60
|
},
|
|
36
61
|
methods: {
|
|
37
62
|
emit(n) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="d-flex flex-wrap">
|
|
3
|
-
<r-btn v-for="i in
|
|
2
|
+
<div class="calendar-year-tab d-flex flex-wrap">
|
|
3
|
+
<r-btn v-for="i in 200"
|
|
4
4
|
:key="i"
|
|
5
5
|
class="w-30 ma-2"
|
|
6
|
-
:class="{'color-one-
|
|
6
|
+
:class="{'color-one year-select':modelValue+i-100===modelValue}"
|
|
7
7
|
outlined
|
|
8
|
-
@click.prevent="emit(modelValue+i-
|
|
8
|
+
@click.prevent="emit(modelValue+i-100)">
|
|
9
9
|
{{
|
|
10
|
-
|
|
10
|
+
$d(new Date(modelValue + i - 100, month, 5, 0, timezoneOffset), 'year', locale)
|
|
11
11
|
}}
|
|
12
12
|
</r-btn>
|
|
13
13
|
</div>
|
|
@@ -22,10 +22,21 @@ export default {
|
|
|
22
22
|
month: Number
|
|
23
23
|
},
|
|
24
24
|
emits: ['update:modelValue'],
|
|
25
|
+
mounted() {
|
|
26
|
+
let el = document.querySelector('.year-select')
|
|
27
|
+
if (el) {
|
|
28
|
+
el.scrollIntoView(true)
|
|
29
|
+
}
|
|
30
|
+
},
|
|
25
31
|
methods: {
|
|
26
32
|
emit(n) {
|
|
27
|
-
this.$emit('update:modelValue', n)
|
|
33
|
+
this.$emit('update:modelValue', n - this.modelValue)
|
|
28
34
|
}
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
|
-
</script>
|
|
37
|
+
</script>
|
|
38
|
+
<style>
|
|
39
|
+
.calendar-year-tab {
|
|
40
|
+
max-height: 300px;
|
|
41
|
+
}
|
|
42
|
+
</style>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
<component v-bind="att"
|
|
3
|
+
:is="isClickable?route.tag:'div'"
|
|
4
|
+
v-ripple="isClickable&&isRipple">
|
|
5
|
+
<slot></slot>
|
|
6
|
+
</component>
|
|
7
7
|
</template>
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -21,50 +21,50 @@ export default {
|
|
|
21
21
|
isRipple: {
|
|
22
22
|
type: Boolean,
|
|
23
23
|
default: true
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
},
|
|
25
|
+
draggable: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: false
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
computed: {
|
|
31
|
+
att() {
|
|
32
|
+
let res = {'class': this.genClass}
|
|
33
|
+
if (this.href) {
|
|
34
|
+
res['href'] = this.route.data.attrs.href
|
|
35
|
+
}
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
37
|
+
if (this.target) {
|
|
38
|
+
res['rel'] = 'noreferrer'
|
|
39
|
+
res['target'] = this.route.data.attrs.target
|
|
40
|
+
}
|
|
41
|
+
if (this.to) {
|
|
42
|
+
res['to'] = this.route.data.props.to
|
|
43
|
+
}
|
|
44
|
+
return res
|
|
45
|
+
},
|
|
46
|
+
genClass() {
|
|
47
|
+
let c = this.$r.prefix + 'card';
|
|
48
|
+
if (this.flat) {
|
|
49
|
+
c += ' card-flat';
|
|
50
|
+
} else {
|
|
51
|
+
c += ' card-sheet';
|
|
52
|
+
}
|
|
53
|
+
if (this.hover) {
|
|
54
|
+
c += ' card-hover';
|
|
55
|
+
}
|
|
56
|
+
if (this.outlined) {
|
|
57
|
+
c += ' card-outlined';
|
|
58
|
+
}
|
|
59
|
+
if (this.tile) {
|
|
60
|
+
c += ' card-tile';
|
|
61
|
+
}
|
|
62
|
+
if (this.isClickable) {
|
|
63
|
+
c += ' card-link';
|
|
64
|
+
}
|
|
65
|
+
return c;
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
};
|
|
70
70
|
</script>
|
|
@@ -16,7 +16,7 @@ export default {
|
|
|
16
16
|
};
|
|
17
17
|
},
|
|
18
18
|
mounted(){
|
|
19
|
-
import('./apexcharts.js').then((d)=>{
|
|
19
|
+
import('./apexcharts.js').then((d) => {
|
|
20
20
|
this.Chart=d.default;
|
|
21
21
|
this.build()
|
|
22
22
|
})
|
|
@@ -34,6 +34,7 @@ export default {
|
|
|
34
34
|
</script>
|
|
35
35
|
<style lang="scss">
|
|
36
36
|
@use "../../style/variables/base";
|
|
37
|
+
|
|
37
38
|
.#{base.$prefix}chart {
|
|
38
39
|
position: relative;
|
|
39
40
|
direction: ltr;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
<div ref="containerMessage"
|
|
3
3
|
v-scroll.window="handle" class="container-message-list">
|
|
4
4
|
<div v-for="message in messages" :key="message._id" class="message-container">
|
|
5
|
-
<r-chat-message
|
|
6
|
-
|
|
5
|
+
<r-chat-message :is-me="message.user_id===myself.id" :message="message" :user="message.user_id===myself.id?myself:participants[message.user_id]"
|
|
6
|
+
@see="$emit('see', $event)"></r-chat-message>
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
|
-
<transition
|
|
10
|
-
<r-btn v-if="!is_bottom"
|
|
9
|
+
<transition v-if="!hideBottomBtn" name="scale">
|
|
10
|
+
<r-btn v-if="!is_bottom" :label="newMsg.num" class="go-buttom" fab @click.prevent="goTo(newMsg.first_id)">
|
|
11
11
|
<r-icon v-html="$r.icons.chevron_down"></r-icon>
|
|
12
12
|
</r-btn>
|
|
13
13
|
</transition>
|
|
@@ -66,11 +66,11 @@ export default {
|
|
|
66
66
|
HighlightCss: defineAsyncComponent(() =>
|
|
67
67
|
import("./highlightCss.vue")
|
|
68
68
|
), HighlightScript: defineAsyncComponent(() =>
|
|
69
|
-
|
|
69
|
+
import("./highlightJs.vue")
|
|
70
70
|
), highlightHtml: defineAsyncComponent(() =>
|
|
71
|
-
|
|
71
|
+
import("./highlightHtml.vue")
|
|
72
72
|
), RCodeEditorRun: defineAsyncComponent(() =>
|
|
73
|
-
|
|
73
|
+
import("./run.vue")
|
|
74
74
|
)
|
|
75
75
|
},
|
|
76
76
|
props: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="classes">
|
|
3
|
-
<div
|
|
4
|
-
<slot :
|
|
5
|
-
:
|
|
3
|
+
<div ref="float" :class="{'in-zoom':inZoom}" class="float-container">
|
|
4
|
+
<slot :ease="ease" :move="moveTo" :pause="pause" :resume="resume" :transform="transform"
|
|
5
|
+
:zoom="zoomAbs"></slot>
|
|
6
6
|
</div>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|