@@ -20,19 +20,22 @@ const switchListV = {
20
20
'^' : `<div class='cell'>${ stringO } </div>` ,
21
21
x : `<div class='cell'>${ stringX } </div>` ,
22
22
'|' : `<div class='cell empty'>${ dotEmpty } </div>` ,
23
- ' ' : `<div class='cell empty'>${ dotEmpty } </div>`
23
+ ' ' : `<div class='cell empty'>${ dotEmpty } </div>` ,
24
+ '\n' : `<div class='cell empty'>${ dotEmpty } </div>`
24
25
}
25
26
const switchListH = {
26
27
o : `<div class='cell dot'>${ dotH } </div>` ,
27
28
'*' : `<div class='cell dot faded'>${ dotH } </div>` ,
28
29
O : `<div class='cell dot root'>${ dotH } </div>` ,
29
30
'-' : `<div class='cell empty'>${ dotEmptyH } </div>` ,
30
- ' ' : `<div class='cell empty'>${ dotEmptyH } </div>`
31
+ ' ' : `<div class='cell empty'>${ dotEmptyH } </div>` ,
32
+ '\n' : `<div class='cell empty'>${ dotEmptyH } </div><div class='cell empty'>${ dotEmptyH } </div>`
31
33
}
32
34
33
35
export const renderFretBoard = ( content , { title : fretTitle , type } ) => {
34
- const fretboardHTML = $ ( '<div class="fretboard_instance"></div>' )
35
36
const fretType = type . split ( ' ' )
37
+ const containerClass = fretType && fretType [ 0 ] . startsWith ( 'h' ) ? 'fretContainer_h' : 'fretContainer'
38
+ const fretboardHTML = $ ( `<div class="${ containerClass } "></div>` )
36
39
37
40
$ ( fretboardHTML ) . append ( $ ( `<div class="fretTitle">${ fretTitle } </div>` ) )
38
41
@@ -47,11 +50,26 @@ export const renderFretBoard = (content, { title: fretTitle, type }) => {
47
50
48
51
// create cells HTML
49
52
const cellsHTML = $ ( '<div class="cells"></div>' )
50
- const switchList = fretbOrientation && fretbOrientation === 'vert' ? switchListV : switchListH
53
+ let switchList = ''
54
+ if ( fretbOrientation && fretbOrientation === 'vert' ) {
55
+ switchList = switchListV
56
+ } else {
57
+ // calculate position
58
+ const emptyFill = new Array ( Number ( fretbLen ) + 3 ) . fill ( ' ' ) . join ( '' )
59
+ content = `${ emptyFill } ${ content } `
60
+
61
+ switchList = switchListH
62
+ }
63
+
51
64
const contentCell = content && content . split ( '' )
52
65
// Go through each ASCII character...
66
+ const numArray = [ ...Array ( 10 ) . keys ( ) ] . slice ( 1 )
53
67
contentCell && contentCell . forEach ( char => {
54
- if ( switchList [ char ] !== undefined ) {
68
+ if ( numArray . toString ( ) . indexOf ( char ) !== - 1 ) {
69
+ const numType = fretType && fretType [ 0 ] . startsWith ( 'h' ) ? '_h' : ''
70
+ const numSvg = require ( `./svg/number${ char } ${ numType } .svg` )
71
+ cellsHTML . append ( $ ( `<div class='cell empty'>${ numSvg } </div>` ) )
72
+ } else if ( switchList [ char ] !== undefined ) {
55
73
cellsHTML . append ( $ ( switchList [ char ] ) )
56
74
}
57
75
} )
0 commit comments