@@ -12,6 +12,10 @@ var CONF_TEXT_DO = 'do';
12
12
var CONF_TEXT_CALL = 'call' ;
13
13
var CONF_TEXT_SET = 'set' ;
14
14
var CONF_SCALE_LEVEL = 1 ;
15
+ var CONF_MARGIN_LEFT = 0 ;
16
+ var CONF_MARGIN_TOP = 0 ;
17
+ var CONF_MARGIN_RIGHT = 0 ;
18
+ var CONF_MARGIN_BOTTOM = 0 ;
15
19
16
20
// will be increased automatically by getBlock(json)
17
21
var blockIndex = 0 ;
@@ -26,6 +30,10 @@ require(['gitbook', 'jQuery'], function(gitbook, $) {
26
30
CONF_TEXT_CALL = conf [ 'ai2-blocks' ] [ 'text_call' ] || CONF_TEXT_CALL ;
27
31
CONF_TEXT_SET = conf [ 'ai2-blocks' ] [ 'text_set' ] || CONF_TEXT_SET ;
28
32
CONF_SCALE_LEVEL = conf [ 'ai2-blocks' ] [ 'scale_level' ] || CONF_SCALE_LEVEL ;
33
+ CONF_MARGIN_LEFT = conf [ 'ai2-blocks' ] [ 'margin_left' ] || conf [ 'ai2-blocks' ] [ 'margin' ] || CONF_MARGIN_LEFT ;
34
+ CONF_MARGIN_TOP = conf [ 'ai2-blocks' ] [ 'margin_top' ] || conf [ 'ai2-blocks' ] [ 'margin' ] || CONF_MARGIN_TOP ;
35
+ CONF_MARGIN_RIGHT = conf [ 'ai2-blocks' ] [ 'margin_right' ] || conf [ 'ai2-blocks' ] [ 'margin' ] || CONF_MARGIN_RIGHT ;
36
+ CONF_MARGIN_BOTTOM = conf [ 'ai2-blocks' ] [ 'margin_bottom' ] || conf [ 'ai2-blocks' ] [ 'margin' ] || CONF_MARGIN_BOTTOM ;
29
37
30
38
render ( ) ;
31
39
} ) ;
@@ -45,6 +53,10 @@ function render() {
45
53
var param = block [ 'param' ] || block [ 'arg' ] || [ ] ;
46
54
var output = block [ 'output' ] === true ;
47
55
var scale = block [ 'scale' ] || CONF_SCALE_LEVEL ;
56
+ var margin_left = block [ 'margin_left' ] || block [ 'margin' ] || CONF_MARGIN_LEFT ;
57
+ var margin_top = block [ 'margin_top' ] || block [ 'margin' ] || CONF_MARGIN_TOP ;
58
+ var margin_right = block [ 'margin_right' ] || block [ 'margin' ] || CONF_MARGIN_RIGHT ;
59
+ var margin_bottom = block [ 'margin_bottom' ] || block [ 'margin' ] || CONF_MARGIN_BOTTOM ;
48
60
49
61
$ ( this ) . attr ( 'id' , blockId ) . show ( ) ;
50
62
@@ -67,7 +79,7 @@ function render() {
67
79
}
68
80
} ;
69
81
70
- newBlockAndWorkspace ( blockId , scale ) ;
82
+ newBlockAndWorkspace ( blockId , scale , margin_left , margin_top , margin_right , margin_bottom ) ;
71
83
} ) ;
72
84
73
85
// EVENT
@@ -78,6 +90,10 @@ function render() {
78
90
var name = block [ 'name' ] ;
79
91
var param = block [ 'param' ] || block [ 'arg' ] || [ ] ;
80
92
var scale = block [ 'scale' ] || CONF_SCALE_LEVEL ;
93
+ var margin_left = block [ 'margin_left' ] || block [ 'margin' ] || CONF_MARGIN_LEFT ;
94
+ var margin_top = block [ 'margin_top' ] || block [ 'margin' ] || CONF_MARGIN_TOP ;
95
+ var margin_right = block [ 'margin_right' ] || block [ 'margin' ] || CONF_MARGIN_RIGHT ;
96
+ var margin_bottom = block [ 'margin_bottom' ] || block [ 'margin' ] || CONF_MARGIN_BOTTOM ;
81
97
82
98
$ ( this ) . attr ( 'id' , blockId ) . show ( ) ;
83
99
@@ -100,7 +116,7 @@ function render() {
100
116
}
101
117
} ;
102
118
103
- newBlockAndWorkspace ( blockId , scale ) ;
119
+ newBlockAndWorkspace ( blockId , scale , margin_left , margin_top , margin_right , margin_bottom ) ;
104
120
} ) ;
105
121
106
122
// PROPERTY
@@ -114,6 +130,10 @@ function render() {
114
130
getter = true ;
115
131
}
116
132
var scale = block [ 'scale' ] || CONF_SCALE_LEVEL ;
133
+ var margin_left = block [ 'margin_left' ] || block [ 'margin' ] || CONF_MARGIN_LEFT ;
134
+ var margin_top = block [ 'margin_top' ] || block [ 'margin' ] || CONF_MARGIN_TOP ;
135
+ var margin_right = block [ 'margin_right' ] || block [ 'margin' ] || CONF_MARGIN_RIGHT ;
136
+ var margin_bottom = block [ 'margin_bottom' ] || block [ 'margin' ] || CONF_MARGIN_BOTTOM ;
117
137
118
138
$ ( this ) . attr ( 'id' , blockId ) . show ( ) ;
119
139
@@ -137,7 +157,7 @@ function render() {
137
157
}
138
158
} ;
139
159
140
- newBlockAndWorkspace ( blockId , scale ) ;
160
+ newBlockAndWorkspace ( blockId , scale , margin_left , margin_top , margin_right , margin_bottom ) ;
141
161
} ) ;
142
162
}
143
163
@@ -160,7 +180,7 @@ function getBlock(json) {
160
180
return blockData ;
161
181
}
162
182
163
- function newBlockAndWorkspace ( id , scale ) {
183
+ function newBlockAndWorkspace ( id , scale , margin_left , margin_top , margin_right , margin_bottom ) {
164
184
var workspace = Blockly . inject ( id , {
165
185
toolbox : false ,
166
186
trashcan : false ,
@@ -171,11 +191,13 @@ function newBlockAndWorkspace(id, scale) {
171
191
172
192
var block = workspace . newBlock ( 'dynamicCreated_' + id ) ;
173
193
block . initSvg ( ) ;
174
- block . moveBy ( 8 , 0 ) ;
194
+ block . moveBy ( 8 + margin_left , margin_top ) ;
175
195
block . render ( ) ;
176
196
177
197
var metrics = workspace . getMetrics ( ) ;
178
- $ ( "#" + id ) . height ( metrics . contentHeight ) . width ( metrics . contentWidth + 8 ) ;
198
+ $ ( "#" + id )
199
+ . height ( metrics . contentHeight + margin_top + margin_bottom )
200
+ . width ( metrics . contentWidth + 8 + margin_left + margin_right ) ;
179
201
Blockly . svgResize ( workspace ) ;
180
202
workspace . render ( ) ;
181
203
}
0 commit comments