File tree Expand file tree Collapse file tree 8 files changed +60
-33
lines changed Expand file tree Collapse file tree 8 files changed +60
-33
lines changed Original file line number Diff line number Diff line change 1
1
language : node_js
2
2
node_js :
3
- - " 7 "
3
+ - " 10 "
4
4
5
5
cache :
6
6
directories :
7
7
- " node_modules"
8
8
9
9
install :
10
10
- npm i
11
- - npm install vue@2
12
11
13
12
stages :
14
13
- lint
@@ -24,15 +23,15 @@ jobs:
24
23
- stage : gh_pages
25
24
script : npm run build
26
25
after_script :
27
- - cd ./example-dist
28
- - git init
29
- - git remote add origin "https://${GH_TOKEN}@${GH_REF}"
30
- - git checkout -b gh-pages
26
+ - git clone -b gh-pages "https://${GH_TOKEN}@${GH_REF}" gh-pages
27
+ - rm -r gh-pages/*
28
+ - cp -r example-dist/. gh-pages
29
+ - cd ./ gh-pages
31
30
- git config user.name "leezng"
32
31
-
git config user.email "[email protected] "
33
32
- git add .
34
- - git commit -m "update example page "
35
- - git push --force -- quiet "https://${GH_TOKEN}@${GH_REF}" gh-pages:gh-pages
33
+ - git commit -m "update gh-pages "
34
+ - git push --quiet "https://${GH_TOKEN}@${GH_REF}" gh-pages:gh-pages
36
35
- stage : github_release
37
36
script : echo "Deploying to GitHub releases ..."
38
37
deploy :
Original file line number Diff line number Diff line change 49
49
<label >showLength</label >
50
50
<input type =" checkbox" v-model =" showLength" >
51
51
</div >
52
+ <div >
53
+ <label >showLine</label >
54
+ <input type =" checkbox" v-model =" showLine" >
55
+ </div >
52
56
<div >
53
57
<label >showDoubleQuotes</label >
54
58
<input type =" checkbox" v-model =" showDoubleQuotes" >
70
74
</select >
71
75
</div >
72
76
</div >
73
-
74
- <h3 >Latest Click Result:</h3 >
77
+ <h3 >v-model:</h3 >
78
+ <div >{{value}}</div >
79
+ <h3 >Current Click:</h3 >
75
80
<div >path: {{itemPath}}</div >
76
81
<div >data: <pre >{{itemData}}</pre ></div >
77
82
</div >
78
83
<div class =" block" >
79
84
<h3 >JSON Tree:</h3 >
80
- {{value}}
81
85
<vue-json-pretty
82
86
v-if =" renderOK"
83
87
:data =" json"
87
91
:highlight-mouseover-node =" highlightMouseoverNode"
88
92
:highlight-selected-node =" highlightSelectedNode"
89
93
:show-length =" showLength"
94
+ :show-line =" showLine"
90
95
:select-on-click-node =" selectOnClickNode"
91
96
v-model =" value"
92
97
:path-selectable =" ((path, data) => typeof data !== 'number')"
@@ -135,6 +140,7 @@ export default {
135
140
selectableType: ' single' ,
136
141
showSelectController: true ,
137
142
showLength: true ,
143
+ showLine: true ,
138
144
showDoubleQuotes: true ,
139
145
highlightMouseoverNode: true ,
140
146
highlightSelectedNode: true ,
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " vue-json-pretty" ,
3
- "version" : " 1.4.1 " ,
3
+ "version" : " 1.6.0 " ,
4
4
"description" : " A Vue.js 2.0 Toolkit for JSON" ,
5
5
"author" :
" leezng <[email protected] >" ,
6
6
"main" : " vue-json-pretty.js" ,
Original file line number Diff line number Diff line change 29
29
30
30
.@{css-prefix} -tree__content {
31
31
padding-left : @content-padding ;
32
- border-left : 1px dotted @border-color ;
32
+ & .has-line {
33
+ border-left : 1px dotted @border-color ;
34
+ }
33
35
}
34
36
35
37
.@{css-prefix} -tree__brackets {
39
41
}
40
42
}
41
43
44
+ .@{css-prefix} -comment {
45
+ color : @comment-color ;
46
+ }
47
+
42
48
.@{css-prefix} -value__null {
43
49
.mixin-value-style (@color-null );
44
50
}
Original file line number Diff line number Diff line change 16
16
/* highlight */
17
17
@highlight-bg-color : #e6f7ff ;
18
18
19
+ /* comment */
20
+ @comment-color : #bfcbd9 ;
21
+
19
22
/* common border-color */
20
23
@border-color : #bfcbd9 ;
21
24
Original file line number Diff line number Diff line change 31
31
<div
32
32
v-for =" (item, key) in data"
33
33
v-show =" visible"
34
- class =" vjs-tree__content"
34
+ :class =" {
35
+ 'vjs-tree__content': true,
36
+ 'has-line': showLine
37
+ }"
35
38
:key =" key" >
36
39
<vue-json-pretty
37
40
v-model =" model"
40
43
:deep =" deep"
41
44
:show-length =" showLength"
42
45
:show-double-quotes =" showDoubleQuotes"
46
+ :show-line =" showLine"
43
47
:highlight-mouseover-node =" highlightMouseoverNode"
44
48
:highlight-selected-node =" highlightSelectedNode"
45
49
:path =" path + (Array.isArray(data) ? `[${key}]` : `.${key}`)"
125
129
type: Boolean ,
126
130
default: false
127
131
},
132
+ showLine: {
133
+ type: Boolean ,
134
+ default: true
135
+ },
128
136
// 是否在点击树的时候选中节点
129
137
selectOnClickNode: {
130
138
type: Boolean ,
Original file line number Diff line number Diff line change 11
11
</span >
12
12
13
13
<!-- Collapse -->
14
- <span
15
- v-show =" !dataVisiable"
16
- class =" vjs-tree__brackets"
17
- @click.stop =" toggleBrackets" >
18
- {{ doubleBracketsGenerator(data) }}
14
+ <span v-show =" !dataVisiable" >
15
+ <span
16
+ class =" vjs-tree__brackets"
17
+ @click.stop =" toggleBrackets" >
18
+ {{ closedBracketsGenerator(data) }}
19
+ </span >
20
+
21
+ <span v-if =" showLength" class =" vjs-comment" >
22
+ {{ lengthGenerator(data) }}
23
+ </span >
19
24
</span >
20
25
</div >
21
26
</template >
29
34
showLength: Boolean
30
35
},
31
36
methods: {
32
- // 双括号内容生成器
33
- doubleBracketsGenerator (data ) {
34
- const isArray = Array .isArray (data)
35
- const brackets = isArray ? ' [...] ' : ' {...} '
36
- let str = this . bracketsFormatter (brackets)
37
- if ( this . showLength ) {
38
- // 若展示长度, 形如 [...] // 3 items
39
- const text = isArray
40
- ? ` ${ data . length } items`
41
- : ` ${ Object . keys (data). length } keys `
42
- str += ` // ${ text } `
43
- }
44
- return str
37
+ // 关闭括号生成器
38
+ closedBracketsGenerator (data ) {
39
+ const brackets = Array .isArray (data) ? ' [...] ' : ' {...} '
40
+ return this . bracketsFormatter (brackets)
41
+ },
42
+
43
+ // 长度标记生成器
44
+ lengthGenerator ( data ) {
45
+ // 若展示长度, 形如 [...] // 3 items
46
+ const text = Array . isArray (data)
47
+ ? ` ${ data . length } items `
48
+ : ` ${ Object . keys (data). length } keys `
49
+ return ` // ${ text } `
45
50
}
46
51
}
47
52
}
Original file line number Diff line number Diff line change @@ -2,5 +2,5 @@ import App from './components/app.vue'
2
2
import './assets/less/index.less'
3
3
4
4
export default Object . assign ( { } , App , {
5
- version : '1.4 .0'
5
+ version : '1.6 .0'
6
6
} )
You can’t perform that action at this time.
0 commit comments