1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| <template>
| <ve-wordcloud :data="chartData" :settings="chartSettings"></ve-wordcloud>
| </template>
|
| <style lang="less">
|
| </style>
|
| <script lang="ts">
| import { Component, Prop, Vue } from 'vue-property-decorator';
|
|
| @Component({
| components: {
| },
| })
| export default class TagCloud extends Vue {
|
| @Prop({ type: Array, default() {
| return [];
| },
| })
| private data!: any[];
|
| @Prop({ type: Number, default: 10 })
| private sizeMin!: number;
|
| @Prop({ type: Number, default: 20 })
| private sizeMax!: number;
|
| get chartSettings() {
| return {
| sizeMin: this.sizeMin,
| sizeMax: this.sizeMax,
| };
| }
|
| get chartData(): any {
| const {data} = this;
| const result: any = {
| columns: ['name', 'value'],
| rows: data,
| };
| return result;
| }
| }
| </script>
|
|